传奇世界单机架设服务器与游戏网关反复失败重试根因排查修复全流程

来源: 作者: 点击:
“服务器和游戏网关总是失败重试”本质是服务端内部通信链路没打通:DBServer / LoginSrv / GameSrv(M2) / Gate 之间握手失败,网关连不上主服务,就一直重试。单机环境按下面顺序逐项查,不用换端也能修好。

一、启动顺序错(最高频)
传奇世界服务端有严格依赖关系,顺序颠倒必然重试。正确顺序:
DBServer(数据库服务)→ LoginSrv(登录认证)→ LoginGate(登录网关)→ GameSrv / M2Server(游戏主服务,等窗口显示“初始化完成/等待连接”)→ GameGate / RunGate(游戏网关,最后起)
先开网关后开主服务,网关因找不到 GameSrv 会一直“连接超时/失败重试”。全部关掉,任务管理器结束残留的 LoginGate.exe、GameGate.exe、RunGate.exe、M2Server.exe、DBServer.exe、LoginSrv.exe,再按上面顺序重起。

二、IP 绑定不是 127.0.0.1(单机架设致命点)
单机必须全链路用回环地址,混用公网IP、192.168.x.x 会直接断链。改这几个地方:
• Mir200\!Setup.txt → ServerAddr / IP / BindIP = 127.0.0.1

- LoginSrv\!addrtable.txt → 格式:服务器名 127.0.0.1 127.0.0.1 127.0.0.1:7100
• LoginGate / SelGate / GameGate / RunGate 目录下的 Gate.ini、MirGate.ini、Config.ini → ServerAddr / MapAddr / BindIP = 127.0.0.1,端口和主服务对应(LoginSrv 通常7000、GameSrv 7100、Gate 7200,以你引擎为准)

- 游戏控制器(GameCenter)配置向导里“外网IP”填 127.0.0.1,别留空也别填本机真实IP
改完保存,重启全部组件。

三、端口被占用(7000/7100/7200/5500 等)
cmd 执行:
netstat -ano | findstr "7000"
netstat -ano | findstr "7200"
看到 LISTENING 且 PID 不是服务端进程,就去任务管理器结束它。常见占用:迅雷、酷狗、QQ、Skype、IIS、SQL Server、虚拟机网卡。实在避不开就在 !Setup.txt 和对应 Gate.ini 里把端口改成 7001 / 7201 等未占用端口,登录器列表同步改。
注意:三合一网关(Login/Sel/Run 合一)端口段不能重叠,重叠也会重试。

四、DBC2000 / 数据库没配好(传世端必查)
单机架设大多依赖 DBC2000(BDE Administrator):
- 控制面板 → BDE Administrator → 左侧必须有 HeroDB(部分传世版叫 Mir2DB / MudDB)
• 右键 HeroDB → Path 指向 服务端目录\Mud2\DB 或 Mir200\DB,路径纯英文无中文无空格(如 D:\WolServer\Mud2\DB)

- DB 文件夹取消“只读”,当前系统账户给完全控制权限
• StdItems.DB 里不能有空行、物品编号不能断号

• 若用 SQL Server 版:DBConfig.ini 里 IP=127.0.0.1、用户名 sa、密码与安装时一致

DBServer 窗口没显示“数据库服务已启动/等待连接”就是这里错。

五、防火墙 / 杀软拦截(假活真断)
Windows 防火墙和 360、电脑管家、Defender 实时防护会静默删 M2Server.exe、GameGate.exe 或拦本地回环通信。处理:
- 整个服务端目录加杀软白名单,或临时关实时防护
• 防火墙高级设置 → 入站规则 → 允许 DBServer.exe、LoginSrv.exe、M2Server.exe、LoginGate.exe、GameGate.exe、RunGate.exe 通过专用+公用网络

- 关掉测一次,能起就是墙的问题

六、路径、权限、运行库、文件损坏
• 服务端放纯英文路径,如 D:\WolServer,禁止“D:\传奇世界服务端”“D:\Mir(2)\”这种带中文/括号/空格的路径

- 右键 M2Server.exe、LoginSrv.exe、DBServer.exe → 属性 → 兼容性 → 勾“以管理员身份运行”+“Windows 7 兼容模式”
• 装 VC++ 2015-2022 x86/x64 运行库合集、DirectX 修复工具,缺 MSVCR100.dll、MSVCP140.dll 会闪退假活

- 原始压缩包重新解压覆盖,确认 LoginGate.exe、GameGate.exe、M2Server.exe、Mir200\Map、Mir200\Data 都在且非空

七、网关配置参数和主服务对不上
打开 GameGate.ini / RunGate.ini:
[Server]
MapAddr=127.0.0.1
MapPort=5100(必须和 GameSrv 的 GatePort 一致)
GroupID、ServerName 和 LoginSrv !addrtable.txt、!ServerInfo.txt 里的标识完全一致。版本不匹配(如 GSP 主服务配 Blue 网关)也会无限重试。

八、日志定位(还不行就查这个)
• LoginGate\Log、RunGate\Log 看“连接失败”“无法绑定端口”“拒绝访问”

• Mir200\Log\M2Server日志 看是脚本错、地图缺失还是 DB 连接失败

- DBServer 窗口看是否“LoginSrv已连接”,没连上先修 LoginSrv→DB 链路

单机回环环境照着这八步走:结束残留进程 → 纯英文路径+管理员兼容运行 → DBC2000 指向 Mud2\DB → 全配置改 127.0.0.1 → 释放 7000/7100/7200 端口 → 关墙加白名单 → 按 DBSrv→LoginSrv→LoginGate→GameSrv→GameGate 顺序起 → 看日志收尾,失败重试必定消掉。