能创建角色说明 LoginGate、LoginSrv、SelGate、DBServer、M2 都活着,点“开始游戏”黑屏,断点只在“本机客户端 ↔ RunGate(游戏网关) ↔ M2 取地图数据”这条回环链路上。朋友走公网IP→路由器映射→内网服务端能进,是因为他们不走本机回环;你本机客户端若也用外网登录器连自己,数据包出本机再绕回网关,回环被切黑屏。按下面改,不用重装端。
一、IP 分层写,别全篇无脑替换成公网IP
• 内部通信/网关绑定(必须内网或回环):
Mir200\!Setup.txt → ServerAddr、DBAddr、GateAddr 填 192.168.x.x(ipconfig 查到的本机内网IP),别填 127.0.0.1(部分引擎外网模式下拒回环),更别填公网IP
LoginGate\MirGate.ini / Config.ini → ListenAddr、ServerIP = 192.168.x.x
SelGate\Config.ini → 同内网IP
RunGate\RunGate.ini / Gate.ini → ListenAddr、Server1、MapAddr = 192.168.x.x
DBServer\DBService.ini → ServerIP、DBAddr = 192.168.x.x
- 对外广播(填公网IP或域名):
LoginSrv\!addrtable.txt → 区服名 Title1 外网IP 外网IP 外网IP:7000
LoginSrv\!ServerInfo.txt → 区服名=外网IP:7000
LoginSrv.ini → PublicIP、ListAddr 填外网IP
路由器映射 7000/7100/7200 TCP → 内网IP
二、本机客户端必须用“内网登录器”,别用朋友那个外网登录器
用服务端自带登录器配置器另生成一份:
• 列表地址:192.168.x.x:7000 或 127.0.0.1:7000(二选一,别写公网IP)
• 取消“动态IP模式”“外网模式”“单机测试”混勾,按实际选局域网模式
- 生成 Login.exe 放客户端根目录,本机只跑这个;朋友那份保留公网IP列表
若直接改客户端 Login.ini / serverlist.txt:ServerAddr=192.168.x.x 或 127.0.0.1,端口 7000,同步即可。
三、RunGate 禁止列表清空(本机黑屏高发点)
打开 RunGate 目录 Gate.ini / Config.ini / MirGate.ini:
• 找 BlockIP / ForbidIP / 禁止连接IP 段,删掉 127.0.0.1、192.168.x.x,或整段清空
- 确认 ListenAddr 不是 0.0.0.0 被误判,写死内网IP
• 保存重启 RunGate,窗口显示“Gate Ready / 网关已开启”才正常,显示 Connection failed 回看 M2 是否先起
四、M2 本机回环限制关掉
M2Server → 选项 → 参数设置 → 网络设置 / 客户端控制:
• 取消“禁止连接127.0.0.1”“仅允许外网IP连接”“优先使用公网回环”之类勾选
• 绑定IP填内网IP,不填公网IP
- Ctrl+R 重载配置
五、防火墙与端口占用兜底
• 防火墙高级设置入站规则放行 DBServer.exe、LoginSrv.exe、M2Server.exe、LoginGate.exe、RunGate.exe,专用+公用全勾;临时关 Defender 测一次
- cmd:netstat -ano | findstr "7000 7100 7200" 查占用,冲突改 RunGate.ini 端口并同步本机登录器列表
六、补丁与缓存(排除假黑屏)
删客户端根目录 Cache 文件夹 → 确认 Mir200\Map、Data、NewopUI.pak、PAK 密码与 !Setup.txt 一致 → GOM/GEE 看登录器配置器 PAK 密码对齐 → 重进
七、正确启动顺序
结束残留进程 → DBServer(HeroDB Connected)→ LoginSrv(Ready)→ LoginGate → SelGate → M2Server(加载完地图脚本)→ RunGate(Gate Ready)→ 本机用内网登录器进,朋友用外网登录器进,两边都不黑屏。
断点就在“本机客户端误走外网IP + RunGate 回环被禁”,内部绑定改内网IP、本机换内网登录器、清 RunGate 禁止列表,三步必好。

