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

自己架设外网传奇打不开门全场景排查与解决步骤

热度:
外网传奇打不开门,核心集中在服务端核心配置、网关进程、端口映射、登录器与服务端匹配、区服名称与IP配置五大类,按“本地验证→服务端配置→网关与进程→端口映射→登录器与客户端”的顺序排查,可快速定位并解决,无需重新架设,以下为全场景实操步骤。

##一、先做本地验证,区分问题范围
本地验证用于判断问题出在服务端本身,还是外网网络链路。
1.服务器本地打开登录器,使用127.0.0.1作为登录IP,输入账号密码尝试进入。
2.若本地能正常开门,说明服务端核心配置无问题,问题集中在端口映射、外网IP配置或登录器列表;若本地也打不开门,优先排查服务端核心配置、网关进程与脚本。

##二、服务端核心配置排查(本地打不开门优先做)
###(一)!addrtable.txt文件配置错误(最常见原因)
!addrtable.txt是登录服务器与游戏服务器的核心映射文件,路径为MirServer\LoginSrv\!addrtable.txt。
1.打开该文件,查看格式是否为:`游戏区服名称Title1127.0.0.1127.0.0.1外网IP:SelGate端口`。
2.检查要点:
-区服名称:必须与登录器配置的区服名称完全一致,包括大小写、无空格、无特殊字符。
-外网IP:填写路由器WAN口的公网IP,若为动态IP,需确认当前IP是否变更。
-SelGate端口:默认7100,若修改过服务端SelGate端口,需同步修改,确保与SelGate.exe配置的端口一致。
3.示例(外网IP为120.79.1.1,SelGate端口7100,区服名称为“传奇复古区”):`传奇复古区Title1127.0.0.1127.0.0.1120.79.1.1:7100`。
4.修改后保存,重启LoginSrv.exe和M2Server.exe进程。

###(二)区服名称包含空格或特殊字符
服务端配置向导、!addrtable.txt、登录器列表中的区服名称,若包含空格、下划线、星号等特殊字符,会导致开门失败。
1.打开服务端配置向导,确认“游戏名称”无空格和特殊字符,改为纯中文或纯英文。
2.同步修改!addrtable.txt中的区服名称、登录器列表中的区服名称,三者完全一致。
3.保存后重启所有服务端进程。

###(三)核心配置文件IP填写错误
服务端多个核心配置文件需正确填写内网IP或外网IP,避免混用。
1.重点检查以下文件:
-MirServer\SelGate\Config.ini:查看“ServerIP”是否为服务器内网IP(如192.168.1.100)。
-MirServer\LoginGate\Mirgate.ini:查看“ServerIP”是否为服务器内网IP。
-MirServer\DBServer\!serverinfo.txt:确认数据库服务IP为127.0.0.1。
2.原则:服务端内部进程间通信用内网IP,对外映射用外网IP,127.0.0.1仅用于本地测试。
3.修改后保存,重启对应网关进程。

##三、网关进程与引擎状态排查
服务端核心进程未启动、启动异常或被拦截,会导致登录后无法开门,核心进程包括LoginSrv.exe、LoginGate.exe、SelGate.exe、DBServer.exe、RunGate.exe、M2Server.exe。
1.打开服务端启动目录,检查上述进程是否全部启动,无窗口消失、无报错。
2.排查要点:
-进程缺失:若LoginGate.exe或SelGate.exe未启动,手动到对应目录(MirServer\LoginGate、MirServer\SelGate)启动,若启动后立即关闭,多为端口被占用或文件缺失。
-端口被占用:打开进程管理器,查看是否有其他程序占用7100(SelGate)、7200(RunGate)、5600(登录服务器)等端口,结束占用进程后重启网关。
-引擎未读取网关信息:在M2Server面板中,点击“查看→列表信息→游戏网关”,确认SelGate、RunGate已正常加载,无红色报错。
3.若网关进程启动异常,可删除对应网关目录下的Config.ini,重新启动进程自动生成,再按正确配置修改。

##四、外网端口映射排查(本地能开门,外网打不开门优先做)
外网访问需路由器开放服务端核心端口,未映射或映射错误,会导致外网玩家无法连接网关,出现打不开门。
###(一)确认公网IP状态
1.登录路由器管理后台,查看“WAN口状态”中的IP地址。
2.用浏览器搜索“本机IP”,对比搜索结果与路由器WAN口IP,若不一致,说明路由器获取的是内网IP,需联系网络运营商获取公网IP,或使用内网穿透工具。

###(二)核心端口映射设置
需映射的端口为服务端对外通信的核心端口,默认如下,若修改过需同步映射:
|进程名称|默认端口|协议|
|---|---|---|
|LoginSrv|5600|TCP|
|SelGate|7100|TCP|
|RunGate|7200|TCP|
|LoginGate|7000|TCP|

1.路由器映射步骤:
-登录路由器管理后台,找到“虚拟服务器”“端口映射”或“转发规则”选项。
-新增映射规则:外部端口与内部端口一致,内部IP填写服务器内网IP(如192.168.1.100),协议选择TCP,状态设为启用。
-依次添加上述所有端口,保存设置。
2.测试端口是否开放:使用外网设备访问“公网IP:端口”(如120.79.1.1:7100),或用在线端口检测工具测试,显示“开放”即为正常。
3.简化测试:开启路由器“DMZ主机”,将服务器内网IP设为DMZ主机,若此时外网能开门,说明端口映射不完整,补充缺失端口即可。

##五、登录器与客户端匹配排查
登录器与服务端引擎不匹配、登录器配置错误,会导致登录后无法识别网关,出现打不开门。
1.登录器与引擎匹配:确认登录器为服务端引擎配套版本(如GOM引擎用GOM登录器,HERO引擎用HERO登录器),第三方登录器需按说明配套使用网关。
2.登录器列表配置:
-打开登录器配置工具,确认区服名称与!addrtable.txt完全一致。
-登录IP填写公网IP,端口填写LoginSrv端口(默认5600)。
-取消“列表加密”“强制微端”等冗余设置,重新生成登录器,放在客户端根目录。
3.客户端检查:
-客户端路径无中文、无特殊字符(如“D:\传奇客户端”改为“D:\LegendClient”)。
-客户端补丁与服务端版本一致,避免补丁冲突导致开门异常。
-删除客户端根目录下的userdata缓存文件夹,重新登录。

##六、其他特殊情况排查
1.动态IP问题:ADSL用户重启路由器后公网IP会变更,需同步修改!addrtable.txt中的外网IP,重新生成登录器。
2.脚本或插件冲突:M2Server启动时若有脚本错误(如SetOnTimer、ChangeSkill命令错误),会导致开门失败,先修复脚本错误,再重启服务端。
3.系统组件缺失:服务端运行依赖VC++运行库、.NETFramework,缺失会导致网关进程启动异常,安装对应组件后重启电脑。

##实操排查顺序(新手必看)
1.本地用127.0.0.1登录,判断问题范围。
2.本地打不开门:检查!addrtable.txt→区服名称→核心配置文件IP→网关进程。
3.本地能开门,外网打不开:检查公网IP→端口映射→登录器配置→客户端匹配。
4.所有修改完成后,重启服务端所有进程和登录器,确保配置生效。

##额外提醒
1.修改任何文件前,备份原有文件,避免修改错误无法恢复。
2.所有配置文件均保存为ANSI编码,避免编码错误导致配置失效。
3.若使用内网穿透工具,需将工具的映射端口与服务端核心端口对应,确保穿透工具正常运行。
[顶部]