当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇架设改外网IP后朋友能玩自己选角色黑屏的完整排查与修复步骤

热度:
你这种状况非常典型:内网单机正常→改成外网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(窗口显示GateReady/网关已开启)→微端(用了才起)。任务管理器确认RunGate进程在,不在就是端口被占,改RunGate.ini端口并同步登录器列表

六、微端场景额外注意
若服务端开了微端(UpdateGate/UpdateServer),微端配置里IP填内网IP,端口默认8000别冲突;登录器配置器里微端地址别填公网IP给本机用,本机走内网微端地址,否则地图资源拉不到也黑屏

七、快速自检清单(照着勾)
□ipconfig拿到内网IP,M2/DB/网关内部绑定全用它
□公网IP只出现在LoginSrvPublicIP、登录器列表、对外广播
□RunGate禁止IP列表无127.0.0.1/内网IP
□本机用内网登录器,朋友用外网登录器
□防火墙放行所有网关exe和端口
□Map/Data/PAK补丁完整覆盖,Cache已删
□RunGate显示Ready,M2日志无“连接失败”

按上面改完,重启服务端和本机客户端,选人物点开始就能正常进土城。若仍黑屏,看M2左下日志和LogServer里是否报“地图加载失败/网关连接中断”,顺着报的错误回头查对应网关端口和补丁路径即可。
[顶部]