基础定义与排查逻辑
“外网不开门”指服务端本地运行正常,但外网玩家连接时卡在登录界面或显示“服务器连接失败”。核心矛盾在于网络穿透与IP配置。请按以下顺序排查:先确认本机127.0.0.1能否登录(验证服务端完整性)→ 检查内网IP能否登录 → 最后解决外网映射。
配置文件IP地址错误
这是最常见的故障点。服务端多个核心文件必须同时修改,仅改一处必然不开门。
!addrtable.txt配置(LogSrv目录)
该文件是账号登录验证的关键,格式错误直接导致不开门。标准格式为:
服务器名称 Line1-255 内网IP 外网IP 外网IP:7100
示例:我的传奇 Line1-255 192.168.1.100 123.123.123.123 123.123.123.123:7100
• 关键点:服务器名称必须与!setup.txt中的ServerName严格一致(区分大小写与空格);端口需与SelGate网关配置一致(通常为7100)。
DBServer与Mir200配置
• DBServer目录!addrtable.txt:格式通常为内网IP 内网IP 外网IP 外网IP,用于数据库连接验证。
• Mir200!setup.txt:重点检查GateAddr(通常填内网IP)、LogServerAddr(填内网IP)。此处若全填127.0.0.1,外网将无法连接网关。
端口映射与网络环境问题
本地能玩但外网不通,大概率是数据包被路由器或防火墙拦截。
端口映射(路由器设置)
传奇默认使用7000(登录)、7100(角色)、7200(游戏)三个端口。若服务器在内网(如192.168.x.x),需在路由器后台设置“虚拟服务器”(端口转发):
• 外部端口:7000、7100、7200(TCP+UDP)。
• 内部IP:服务器本机的内网IP(需设置为静态IP,防止重启变化)。
• 内部端口:同上。
注意:若使用光猫拨号,可能存在“二级路由”或运营商级NAT,导致无公网IP,此时需联系运营商或使用内网穿透工具(如FRP)。
防火墙与安全组
• Windows防火墙:需手动添加入站规则,放行7000-7200端口范围及MirServer目录下的exe程序(DBServer.exe、LoginSrv.exe等)。
• 云服务器(阿里云/腾讯云):必须在控制台“安全组”策略中手动放行7000-7200端口,否则外网无法访问。
• 杀毒软件:部分杀软会拦截引擎程序,建议将服务端目录加入白名单。
服务端进程与端口占用
服务端未完全启动或端口被占用会导致“假运行”。
启动顺序与监听状态
必须按顺序启动:DBServer.exe(数据库)→ LoginSrv.exe(登录)→ GameSrv.exe/M2Server.exe(游戏主控)。启动后,在CMD命令提示符输入 netstat -ano | findstr :7000 查看端口是否处于 LISTENING 状态。若端口无监听,说明对应进程启动失败。
端口冲突
若7000端口被其他程序(如MySQL、IIS)占用,需关闭冲突程序或修改传奇服务端端口(需同步修改登录器配置)。
登录器与列表不匹配
外网玩家必须使用对应外网IP生成的登录器。若登录器列表文件(.txt或.json)内写的仍是127.0.0.1或内网IP,外网玩家点击登录时依然会指向错误地址。确保列表文件中的IP为公网IP,且端口与LoginSrv配置一致。
动态IP(ADSL拨号)问题
家庭宽带每次重新拨号公网IP会变化。若IP变动,必须重新修改!addrtable.txt等配置文件中的IP地址,并重新生成登录器列表。建议使用动态域名解析(DDNS)工具绑定域名,避免频繁修改IP。
引擎与登录器版本不配套
使用A版引擎(如Hero、GameOfBlue)必须搭配对应的A版登录器配置器。若引擎与登录器不配套,即使网络通畅,也会出现“不开门”或“连接断开”的现象。务必使用服务端自带的登录器配置器生成登录器。
快速自测流程
1. 本机测试:登录器IP填127.0.0.1,能进游戏说明服务端脚本无严重错误。
2. 内网测试:用手机热点或另一台电脑,通过内网IP(如192.168.x.x)连接,能进说明网关配置基本正确。
3. 端口检测:使用“端口扫描”工具(如canyouseeme.org)输入公网IP和7000端口,检测是否开放。
4. 外网实测:让异地朋友使用外网IP登录器尝试连接。

