传奇单机内网正常,改成外网IP后朋友能进服,自己选角色点开始游戏黑屏完整故障排查方

来源: 作者: 点击:
这个现象很典型,外部网络连接正常,本机使用外网IP登录卡在进入游戏后黑屏,不是服务端整体故障,主要是本机回环、登录器资源读取、微端配置、客户端素材地址冲突导致,按照顺序逐项排查。

先区分故障特征,朋友可以正常登录进入游戏,代表服务端网关、端口映射、公网IP、防火墙、M2引擎通讯全部没问题。只有服务器本机,用外网IP登录,角色列表正常,点击开始游戏加载后黑屏,本机换成127.0.0.1内网登录测试,如果127.0.0.1可以正常进游戏,就可以确定是本机外网访问的特殊网络问题。

检查登录器资源和微端设置,如果版本开启了GOM/GEE微端,就是高频故障点。登录器内微端网关填写的是公网IP,本机电脑访问本机公网IP的微端网关,部分路由器不支持内网回环,无法正常拉取pak素材。登录器尝试从外网地址下载素材,但是路由器无法把本机请求转发回本机微端网关,素材下载中断,最后画面黑屏。解决办法,准备两套登录器,本机测试使用内置列表127.0.0.1和本地微端127.0.0.1,发给朋友的登录器填写公网IP和公网微端地址。或者在登录器配置内增加判断,本机访问不走外网微端。没有微端的版本,跳过素材下载这一步,检查客户端补丁读取设置。

核对登录器客户端渲染设置,外网模式生成登录器时,渲染参数改动,或者登录器关闭本地补丁读取。打开登录器配置工具,查看是否勾选禁用本地补丁。开启该选项后,登录器不再读取电脑本地的pak文件,全部素材需要从微端获取。朋友远程访问可以正常下载素材,但是本机内网回环失败,没有素材就会黑屏。关闭禁用本地补丁选项,重新生成登录器测试。如果不需要微端,直接关闭微端功能,让登录器读取本地客户端补丁。

路由器内网回环(NAT回流)问题,家用路由器很多不支持内网回环功能。本机在局域网内,使用公网IP访问自己服务器,请求发送到路由器,路由器无法将流量转发回内网主机,游戏主连接虽然建立成功,但是地图、素材、数据包转发异常,出现加载黑屏。朋友在外网手机流量访问不受影响。解决方式有两种,本机进服就一直用127.0.0.1内网登录,不用公网IP;或者更换支持回环的路由器,或者在电脑hosts文件添加映射,把公网IP域名指向127.0.0.1。打开C:\Windows\System32\drivers\etc\hosts,用记事本编辑,增加一行 公网IP 域名,保存,测试。hosts修改需要管理员权限。

检查客户端路径和补丁完整性,客户端路径不能带有中文和空格。外网打包登录器的时候,补丁资源目录名称修改,本机登录器读取路径错乱。朋友客户端是全新解压,素材目录匹配,本机旧客户端缓存文件冲突,出现黑屏。可以把本机客户端删除,重新解压一份干净客户端,放入登录器和补丁,再测试外网IP登录。pak密码核对,外网登录器pak密码和服务端微端密码必须保持一致,密码错误下载素材后依旧黑屏。

脚本和地图文件排除,朋友可以正常进同一张地图,说明M2内地图文件、登陆触发脚本没有错误。如果只有本机黑屏,基本排除地图缺失和脚本报错。M2引擎日志查看,点击开始游戏后,看日志有没有加载地图记录,日志提示地图加载成功,但是客户端黑屏,确定是客户端素材渲染问题。日志提示无法加载地图,才是地图文件缺失。

显卡与登录器DPI、渲染模式,外网生成新登录器,渲染选项默认D3D。本机显卡对于外网模式下的客户端渲染兼容性变差,出现黑屏。打开登录器配置,切换渲染模式为GDI,关闭硬件加速,重新生成登录器。右键登录器程序,更改高DPI设置,勾选替代高DPI缩放行为,缩放执行选应用程序,保存。

端口与网关监听校验,网关监听地址设置为0.0.0.0,这个配置对外网访问没问题,但是部分网卡多网卡环境,本机使用公网IP连接,数据包路由异常。电脑存在无线网卡、虚拟网卡,暂时禁用多余网卡,只保留有线网卡,重启所有服务端,测试外网IP登录。

排查操作顺序,第一步先用127.0.0.1登录测试,确认内网正常;第二步确认是否开启微端,本机单独使用内网登录器;第三步检查登录器是否禁用本地补丁;第四步确认路由器是否不支持内网回环,使用hosts方案或者本机只用内网登录;第五步清理旧客户端,解压纯净客户端;第六步切换登录器渲染模式。

不要同时使用一套登录器兼顾本机内网和外网玩家,建议分开制作。本机本地游玩就用127.0.0.1的登录器,发给朋友的登录器填写公网IP。这是最简单稳定的方案,规避路由器内网回环不支持带来的黑屏问题。修改hosts或者路由器设置属于备选方案,部分老旧路由器无法开启回流。

每次修改登录器参数,需要重新生成登录器,关闭旧客户端进程再打开。服务端参数不需要改动,朋友能正常游玩,说明服务端网关、M2、端口映射都正常,问题全部集中在本机客户端、登录器、局域网回流机制上。