传奇单机服务端能启动但登录器找不到服务端修复教程

来源: 作者: 点击:
先把结论说清楚:服务端显示启动成功,不代表登录器就能连上。登录器找服务端看的是 IP、端口、网关进程、列表文件、防火墙这几条链路,任何一环断了都会表现成「找不到服务端」「列表为空」「连接失败」。单机自己玩,不用碰路由器映射,全部按本机回环地址处理。

一、确认服务端不是假启动

很多人只看 GameCenter 显示「启动完成」就以为完了,实际上网关进程可能没起来。

打开任务管理器,看这几个进程是不是都在:
• DBServer.exe

• LoginSrv.exe

• LoginGate.exe

• SelGate.exe

• RunGate.exe

• M2Server.exe

老引擎按 DBServer → LoginSrv → LoginGate → SelGate → RunGate → M2 顺序起;GOM/GEE 类看 DB 服务、LoginGate、SelGate、RunGate、M2、微端是否齐全 。

哪个窗口没弹出来,就进对应目录手动双击启动。启动后看 M2 窗口有没有红字,常见红字是「端口绑定失败」「数据库加载失败」「脚本错误」。有红字先修红字,别急着改登录器。

如果网关窗口一闪就没了,多半是:
• 服务端路径带中文或空格

• 缺 VC++ 运行库

• 上次网关没关干净占用端口

把服务端挪到 D:\MirServer 这种纯英文路径,管理员身份运行再试。

二、单机 IP 必须统一成 127.0.0.1

单机自己连自己,严禁填 192.168.x.x,也别填外网 IP。所有配置文件里的地址统一改 127.0.0.1 。

要改的位置:

Mir200\!Setup.txt
• ServerAddr=127.0.0.1

• IP、GateAddr、DBAddr、IDSAddr、MsgSrvAddr、LogServerAddr 全改

LoginSrv\Logsrv.ini
• DBAddr、ServerAddr 改 127.0.0.1

• DynamicIPMode 保持 0

LoginGate\Config.ini
• ListenAddr=127.0.0.1

• ListenPort=7000(按你端里实际端口来)

SelGate\Config.ini
• GateAddr=127.0.0.1

RunGate\Config.ini
• Server1、ListenAddr 改 127.0.0.1

LoginSrv\!addrtable.txt / !serverinfo.txt
• 里面 IP 也改成 127.0.0.1

改完保存,别漏文件,漏一个都可能连不上。

三、登录器里的 IP 和端口要对上

登录器不是「服务端起了就能扫到」,它是按列表文件或配置器里写的地址去连。

单机最简做法:用服务端自带的登录器生成器重新生成一个,别拿别人现成登录器硬套 。

生成时填:
• 服务器 IP:127.0.0.1

• 登录端口:7000(跟 LoginGate.ini 里 ListenPort 一致)

• 游戏名称跟服务端配置向导里写的一样,别多加空格

如果你用的是本地列表文件(list.txt / serverlist.txt),格式一般是:

服务器名127.0.0.1
7000

有的引擎还要带后续网关端口:
服务器名127.0.0.1 7000 1 127.0.0.1 7100
7200

列表地址填 http://127.0.0.1/list.txt ,或者登录器配置器里直接选本地文件都行 。

常见错法:
• 登录器填 192.168.1.x → 单机连不上

• 服务端用 7000,登录器填 7200 → 端口不对

• 列表文件格式多空格、多换行、编码乱 → 解析失败

四、用 netstat 看端口到底监听没

这是最准的一步,不用猜。

服务端起来后,管理员 CMD 执行:

netstat -ano | findstr "7000"

看有没有 127.0.0.1:7000 LISTENING 或 0.0.0.0:7000 LISTENING。

情况判断:
• 没任何输出 → LoginGate 没起,或配置 IP 错了,或端口被占

• 有输出但 PID 不是 LoginGate → 被别的程序占了

• 显示 TIME_WAIT → 端口冲突

查占用 PID 后,任务管理器详细信息里按 PID 结束进程。常占传奇端口的有:没关老的网关、迅雷、IIS、某些下载工具 。

想测登录器侧通不通,CMD 里:

telnet 127.0.0.1 7000

能弹黑窗说明端口通;提示无法打开连接就是网关没监听 。

顺手把 7100、7200 也查一下:

netstat -ano | findstr "7100 7200"

7000 是登录网关,7100 常见角色网关,7200 常见游戏网关,具体以你端里配置为准 。

五、启动顺序错了也会找不到

正确顺序:
1. 数据库(DBC2000 老端看 HeroDB 起没起,MySQL 新端看服务)
2. DBServer
3. LoginSrv
4. LoginGate
5. SelGate
6. RunGate
7. M2Server
8. 最后再开登录器

先开登录器再起服务端,登录器扫不到信号;M2 没完全加载完就点进入,也会卡连接。

M2 窗口显示「等待客户端连接」或「游戏引擎启动成功」再开登录器。

六、防火墙和杀软拦截

本机回环通信也可能被拦,尤其 360、火绒、Defender 实时防护。

做法:
• 临时关杀软实时防护试一次

• 隔离区看看 LoginGate.exe、M2Server.exe 有没有被删,有就恢复加信任

• Windows 防火墙入站规则放行 TCP 7000、7100、7200

• 登录器右键管理员运行

Win10/Win11 下不给权限,登录器写配置会失败,表现也像连不上。

七、登录器跟引擎不对版

GOM 端用 GOM 登录器,GEE 用 GEE,LEG 合击用合击生成器,不能混 。

拿错登录器会出现:
• 列表能读但点进入报连接失败

• 卡在「正在验证」

• 直接闪退

正确做法是用你这个服务端压缩包里的登录器生成器,加载同包引擎配置再生成 。

如果服务端带 Key.dat,LEG 类要把密钥填进配置器,或者把 Key.dat 放生成器目录重命名为 LoginKey.dat,不然能看列表也进不去 。

八、路径和文件缺失

服务端放 C 盘桌面中文文件夹是高频坑。

规范:
• 服务端 D:\MirServer

• 客户端 D:\LegendClient

• 都不带中文、不带空格

LoginGate.exe、RunGate.exe、M2Server.exe 大小异常就重新解压服务端包,别只补一个文件 。

补丁方面,服务端带 Data/Map/Pak 就覆盖到客户端根目录;复古无补丁端用纯净客户端就行 。

九、按现象对号入座

登录器打开没列表
→ 列表地址错、IP 不是 127.0.0.1、list.txt 格式错、登录器不是本端生成

有列表但显示离线
→ 服务端没起全、启动顺序错、防火墙拦了

点开始黑屏或卡连接
→ RunGate/SelGate 没起、7100/7200 没监听

能建号但进不去
→ 登录网关过了,游戏网关断,查 RunGate

闪退
→ 路径中文、缺运行库、登录器版本不对

十、最快三步走

不想一项项看,按这个来:

1. 关掉所有网关和登录器,服务端挪纯英文路径,配置向导里所有 IP 填 127.0.0.1,保存重启服务端
2. 用原包登录器生成器生成新登录器,IP 127.0.0.1,端口填 LoginGate.ini 的 ListenPort
3. 关杀软,管理员运行,netstat 查 7000 有 LISTENING 再开登录器

还不行就看 M2Server 日志:
• Bind port failed → 端口被占

• IP error → 地址配错

• DB connect fail → DBC/MySQL 没起

十一、几个容易忽略的点

• 改完配置必须重启服务端,不是重启登录器就行

• 游戏名称大小写空格要跟服务端一致

• 网关密码登录器对不上也会连不上,用默认或对照 Config.ini

• hosts 文件(C:\Windows\System32\drivers\etc\hosts)别被塞奇葩重定向条目

• 同包多开别都用 7000,第二个端换 7001 并全链路同步

单机场景不用配路由器端口映射,不用开 IIS,不用填外网 IP;那些是给别人联机才用的 。

按上面顺序走,十有八九卡在「IP 没统一 127.0.0.1」或「LoginGate 没监听 7000」这两处。哪一步卡住,先看对应网关黑窗口报什么,再改配置,比反复重解压服务端管用。