你这个现象很典型:内网能进,外网朋友能连,你自己选完角色进地图黑屏。说明登录网关、账号验证、角色列表这边是通的,问题卡在“角色进场/地图加载/客户端资源/网关回包”这一段。
先说最常见原因:你本机客户端里还残留内网地址,或者你电脑同时走了内网逻辑和外网逻辑。比如登录器列表填了外网 IP,但客户端本地 hosts、缓存、微端、资源服务器、地图服务器地址还指向 127.0.0.1 / 192.168.x.x。朋友机器上没有这些内网配置,所以他们反而能进;你本机先连过内网,缓存没清,选角后地图服回包回到内网地址,画面就卡黑屏。
处理顺序这样来:
一、清本机客户端缓存
把登录器目录下的 config、serverlist、cache、temp、微端缓存全删。安卓端清 App 缓存;电脑端把登录器整个重新解压一份,别用原来连过内网的那个。浏览器 H5 端清 localStorage、sessionStorage、Application Cache。
二、检查 serverlist / 登录器配置
登录器区服列表里,网关地址、游戏服地址、资源地址、微端地址、地图地址都要是同一个外网 IP 或域名。很多人只改了登录网关 IP,没改 GameServer / MapServer / ResServer / WS 地址。表现就是:能登录、能看到角色、点开始黑屏。
三、看网关监听和回包
服务端启动后,游戏网关不能只监听 127.0.0.1,要监听 0.0.0.0 或具体外网网卡。配置文件里如果有 BindAddr=127.0.0.1、LocalAddr=192.168.x.x、GameServerAddr=127.0.0.1,全改成外网 IP 或 0.0.0.0。你本机连本机时走环回地址能凑合,外网进图阶段服务端把地图/场景数据发到内网地址,你就黑屏。
四、端口没全开
选角前用到的端口少,进图后地图服、场景服、微端、资源服端口才起作用。常见要放行的还有 7000-7999、9000-9999、10000+、8080、843、1337 这类,看引擎文档。云服务器安全组、本机防火墙、路由器端口映射三层都要通。你朋友能选角不代表进图端口也通;你本机内网不走公网防火墙,所以更容易暴露“进图端口没通”的问题。
五、微端/补丁没走外网
电脑版传奇很多黑屏是因为微端没起或微端地址错。客户端进图要去微端拉地图、特效、UI 资源,微端还是 127.0.0.1,本机就去本地找,找不到就黑屏或卡加载。把微端配置里的 IP 改成外网,微端程序要在服务器上跑,并且端口对外。
六、本机同时连外网 IP 的坑
你电脑和服务器如果是同一台,或者你电脑在局域网里,连自己外网 IP 时,部分网络环境会出现“出口回流/NAT 回环”问题:数据包出去了但回不来。表现就是别人正常,自己选角黑屏。解决办法:本机测试别连外网 IP,用 127.0.0.1 或内网 IP 进;别人用外网 IP 进。真要本机也走外网,路由器要开 NAT Loopback / Hairpin,或者本机 hosts 把域名指向 127.0.0.1,但服务端配置仍保持外网 IP 给外人用。
七、数据库/角色进场逻辑
角色表里的 LastServer、Map、X、Y、Scene 如果写到错误地图或封地图,也会黑屏。新建一个角色再进,能进就是老角色坐标炸了。用 GM 后台把角色传送到出生地图 map 3 / 0 0 或默认安全区,再试。
八、看服务端黑框日志
点开始后服务端游戏服黑框一般会把“玩家进入场景”“加载地图失败”“资源不存在”“连接微端超时”打出来。你本机黑屏时,服务端那边一定有对应报错,别只看客户端。常见:
• load map fail
- send scene data timeout
• micro client not connected
• gateway forward failed
• scene server unreachable
这些分别对应地图文件缺失、场景服没起、微端没连、网关转发错地址。
九、登录器版本和服务端版本不一致
服务端换了外网配置后,登录器没重新生成,里面还写死内网。你之前连内网用老登录器,现在该重新做登录器:填外网 IP、网关端口、资源地址、微端地址,重新打包。朋友用的可能正是新登录器,所以他们能玩。
十、本机杀软/显卡/分辨率反而次要
黑屏在“选角后”而不是“客户端起不来”,一般不是显卡问题。除非别人也黑屏、只有你能进,那才查 DX、分辨率、全屏窗口化。你这种“别人行你不行”,优先查本机缓存、内网回包、NAT 回环、微端地址。
排障最短路径:
1. 本机重新解压登录器,清缓存。
2. 服务端所有配置 IP 统一外网或 0.0.0.0。
3. 微端、地图服、资源服地址统一外网。
4. 服务器防火墙+云安全组+路由器映射全开对应端口。
5. 本机测试用 127.0.0.1,别和自己外网 IP 较劲。
6. 看游戏服黑框日志里进图报错。
7. 新建角色进默认地图验证。
8. 路由器的 NAT 回环开了,本机连域名/外网 IP 才不会黑屏。
最容易被忽略的一点:你内网能玩,是因为 127.0.0.1 和 192.168 段全程通;改外网后,登录认证那层通了,但“进场景”要走第二套地址。只要有一处还写内网,朋友能玩、你自己黑屏就完全合理。把所有回包地址、微端地址、场景服地址、资源服地址一次性改成外网,再清本机登录器缓存,基本就能解决。
如果清完缓存、统一完 IP 还是黑屏,下一步看游戏服是否真的起了 SceneServer/MapServer,以及客户端是否缺补丁。电脑端可以把服务端的 Data、Map、Res、Patch 按登录器要求放好;安卓端确认 asset 里资源地址不是 127.0.0.1。H5 端确认 ws 地址和资源 cdn 地址都是外网域名。哪一端还指着内网,哪一端就在选角后黑给你看。
还有个细节:有些一键端有“内网模式/外网模式”开关,只在登录器生成器里切了,没在网关配置里切。结果登录网关走外网,游戏网关还绑内网网卡。你本机进图时服务端让你回连内网网卡,当然黑屏。服务器上用 netstat -an 看 7000/7100/7200 这些端口是 127.0.0.1:7000 还是 0.0.0.0:7000 / 外网IP:7000,一眼就能看出来。
最后别用本机当玩家又当服务器来测外网体验。正确姿势:服务器跑外网配置,朋友机器当真实玩家,自己另开一台机器或用手机流量进。真要同机测,本机客户端连 127.0.0.1,外网 IP 留给别人。这样“自己黑屏朋友能玩”的假象直接消失,剩下才是真正的外网进图问题。

