你这种状况非常典型:内网单机正常 → 改成外网IP → 朋友能登录、能建角色、点开始能进地图 → 唯独你这台“服务端主机”自己进游戏选完人物点开始黑屏。说明登录网关、角色网关、数据库、M2 主体都没崩,断点就在“主机本机客户端 ↔ 游戏网关(RunGate) ↔ M2”这条回环链路上。下面按优先级一步步改,不用重装服务端。
一、先认清机制:为什么别人行你不行
能走到“选人物”说明 LoginGate、SelGate、DBServer、M2 都是活的。点“开始”之后客户端要去连 RunGate(游戏网关)拿地图和场景数据,黑屏 = 本机客户端连不到 RunGate 的正确地址,或者 RunGate 把本机回环地址拦了。朋友走公网IP→路由器映射→内网服务端,链路通;你走本机客户端→本机服务端,若配置里把该填内网/回环的地方全写成公网IP,回环就断。
二、核心配置修正(最重要,90%靠这步解决)
1. 区分两类IP,别全篇无脑替换成公网IP
• M2、DBServer、!addrtable.txt、!ServerInfo.txt、!Setup.txt 里给“内部通信/绑定”用的:填你本机内网IP(ipconfig 看到的 192.168.x.x),不要填公网IP,也不要留 127.0.0.1(部分引擎在外网模式下会拒绝回环)
- LoginGate / GameGate / RunGate 的 Mirgate.ini、Gate.ini:IP 填内网IP,端口不变
• 登录器列表、LoginSrv.ini 的 PublicIP、对外广播地址:填公网IP
2. M2 网络设置关闭自动复位
以管理员跑 M2Server.exe → 选项/系统参数/网络设置 → 服务器IP、绑定IP 填内网IP → 取消“自动获取本地IP”“优先使用回环地址”“仅允许本地IP连接”之类勾选 → 应用 → Ctrl+R 重载配置
3. RunGate 禁止列表清空
打开 RunGate 目录下的 Gate.ini / Config.ini,找到“禁止连接IP/BlockIP/AllowIP”段,把 127.0.0.1、192.168.x.x 从禁止列表删掉或清空,否则本机客户端会被网关踢黑
三、路由器映射与防火墙(本机自测也要过)
哪怕你只是本机进,也要确认:
• 路由器把 7000、7100、7200(或你引擎实际用的 RunGate 端口)TCP 映射到主机内网IP
• Windows 防火墙把 LoginGate.exe、RunGate.exe、M2Server.exe、DBServer.exe、列表程序加白名单,专用+公用都勾上
临时关防火墙测一次,能进就证明是墙的问题
四、本机客户端与登录器单独处理(关键细节)
朋友用的是“外网登录器(公网IP)”,你本机千万别用那个。两种可行方案:
方案A:本机专门放一个“内网登录器”,列表里地址写 127.0.0.1 或 192.168.x.x + 对应端口,用登录器配置器重新生成,别和外网登录器混用
方案B:本机客户端 Login.ini / Mir200.ini 里 ServerAddr、GateAddr 写内网IP,不用公网IP
补丁必须完整:把服务端 Mir200\Map、Data、NewopUI.pak、PAK密码 按原版覆盖进客户端根目录,路径纯英文无空格;GOM/GEE 注意 PAK 密码和 !Setup.txt 里一致
删掉客户端目录下 Cache 文件夹再进,避免旧缓存假黑屏
五、启动顺序与进程核对
全关后按这个顺序起:DBServer → LoginGate → SelGate → M2Server(看日志无报错)→ RunGate(窗口显示 Gate Ready / 网关已开启)→ 微端(用了才起)。任务管理器确认 RunGate 进程在,不在就是端口被占,改 RunGate.ini 端口并同步登录器列表
六、微端场景额外注意
若服务端开了微端(UpdateGate/UpdateServer),微端配置里 IP 填内网IP,端口默认 8000 别冲突;登录器配置器里微端地址别填公网IP给本机用,本机走内网微端地址,否则地图资源拉不到也黑屏
七、快速自检清单(照着勾)
□ ipconfig 拿到内网IP,M2/DB/网关内部绑定全用它
□ 公网IP 只出现在 LoginSrv PublicIP、登录器列表、对外广播
□ RunGate 禁止IP列表无 127.0.0.1 / 内网IP
□ 本机用内网登录器,朋友用外网登录器
□ 防火墙放行所有网关exe和端口
□ Map/Data/PAK 补丁完整覆盖,Cache 已删
□ RunGate 显示 Ready,M2 日志无“连接失败”
按上面改完,重启服务端和本机客户端,选人物点开始就能正常进土城。若仍黑屏,看 M2 左下日志和 LogServer 里是否报“地图加载失败/网关连接中断”,顺着报的错误回头查对应网关端口和补丁路径即可。

