先确认服务端网关全部正常启动。打开引擎控制器后,检查LoginGate、SelGate、RunGate是否都显示已启动。如果某个网关窗口闪退或报错,外网玩家也可能只是暂时能进,主机黑屏会更明显。
重点检查SelGate和RunGate的IP。打开MirServerSelGateSelGate.exe,进入选项或基本设置,查看里面显示的IP。如果是外网IP,主机从外网回连时容易失败,建议改回内网IP,例如192.168.x.x或127.0.0.1,保存后点击刷新。
再打开MirServerRunGateRunGate.exe,查看服务器地址。这里通常应填内网IP,不要直接填外网IP。外网IP主要给登录器或网关对外监听使用,RunGate内部连接服务端时一般走内网地址。
检查M2Server里的IP文件。打开Mir200目录,查看!Runaddr.txt、!Servertable.txt、!Setup.txt。!Runaddr.txt通常填内网IP;!Servertable.txt如果有两列IP,前面填内网IP,后面填外网IP;!Setup.txt里的DBAddr、IDSAddr、MsgSrvAddr等内部连接地址一般也填内网IP。
LoginSrv和DBServer也要核对。LoginSrv下的!AddrTable.txt、!ServerAddr.txt,以及DBServer下的!AddrTable.txt、!ServerInfo.txt、Dbsrc.ini,如果之前用配置向导改成外网IP,需要把内部通信地址改回内网IP,只保留对外公告或网关地址使用外网IP。
网关配置文件同样需要检查。LoginGate、RunGate、SelGate目录下的Config.ini或Mirgate.ini中,ServerAddr一般填内网IP,GateAddr或对外地址才填外网IP。端口不要改错,尤其是带63000、63200这类认证端口的行不要随意修改。
主机登录器必须单独处理。朋友用外网IP能进,说明外网端口映射基本正常。主机自己不要用外网IP登录器进游戏,应保留一个内网登录器,地址填127.0.0.1或内网IP。如果只用外网IP登录器,主机访问自己会经过路由器回环,很多家用路由不支持,就会卡在选人后黑屏。
如果引擎控制器里有动态IP模式,外网环境下可以勾选,让它自动写入外网IP,但不要把所有内部地址都改成外网IP。
修改完IP后,必须关闭所有网关窗口,再重新启动服务端。只改文件不重启网关,IP不会生效。重启后先用内网登录器测试主机能否正常进入游戏,再让朋友用外网登录器测试。
如果主机用内网登录器能进,朋友用外网登录器也能进,说明问题就是主机回环导致。以后主机自己玩用内网登录器,朋友玩用外网登录器即可。
如果主机用内网登录器仍然黑屏,再检查客户端补丁是否完整。进入选人界面后黑屏,也可能是地图、人物、装备补丁未正确覆盖。把服务端配套补丁复制到客户端根目录,覆盖Data、Map、Graphics等文件夹后再试。
还要确认登录器是否配套。外网登录器如果使用了微端模式,而主机本地没有正确加载补丁,也可能出现黑屏。单机或同机测试时不要随意开启微端模式,除非微端服务器地址和补丁路径都正确。
防火墙和杀毒软件也要排查。RunGate、SelGate、LoginGate被拦截后,外网玩家可能短暂能连,但主机进入游戏时数据传输失败,同样会黑屏。建议将MirServer整个目录加入信任区,并放行7000、7100、7200等端口。
最稳的配置方式是:服务端内部通信全部使用内网IP,网关对外监听使用外网IP,主机自己用内网登录器,朋友用外网登录器。这样既不会影响外网玩家,也能避免主机进游戏黑屏。

