架设单机传奇配置登录器后服务器列表为空的排查方法

来源: 作者: 点击:
单机传奇配置好登录器后打开提示“服务器列表为空”,通常不是游戏客户端坏了,而是登录器找不到正确的列表地址、服务端没有启动、端口不通或配置不一致。排查时先不要反复重下登录器,按下面顺序逐项检查,多数情况能定位到具体位置。

先确认列表读取方式。部分单机登录器是本地读取配置文件,比如 Login.ini、ServerList.xml、MirServer.ini、Config.ini 一类文件;另一部分会通过 http 地址读取列表,例如 http://127.0.0.1:88/list.txt。如果是本地读取,重点看登录器目录和客户端目录下的 ini、xml、cfg 文件,检查里面 IP、端口、服务器名称是否完整,有没有多余空格、中文标点、空行。如果是 http 列表,把列表地址复制到浏览器里打开,能正常显示文本内容才算通过;浏览器打不开,登录器自然读不到列表。

再看服务端是否真正启动。单机传奇不能只开登录器,必须先把服务端跑起来。常见需要运行的进程包括 LoginSrv、DBSrv、GameSrv、LogSrv、RunGate、GameGate 等,不同引擎名称会略有差异。打开任务管理器查看这些进程是否存在,如果只是双击了服务端启动器但窗口闪退,说明服务端没有正常加载。服务端没启动时,登录器即使配置正确,也会因为连不到本地服务而显示列表为空或连接失败。

接着检查端口是否监听。可以在命令提示符里执行 netstat -ano | findstr 端口号,查看登录端口、网关端口、数据库端口是否处于 LISTENING 状态。传奇常见端口包括 5000、5500、5600、7000、7100、7200、8000、88 等,但不同版本差异很大,必须以自己服务端实际配置为准。如果命令没有任何输出,说明对应服务没有启动,或者端口被占用、配置错误。端口没有监听时,登录器无法获取服务器信息,列表就会为空。

防火墙和杀毒软件也很容易拦截本地通信。Windows 防火墙、第三方安全软件、Defender 实时防护都可能阻止登录器与服务端进程之间的连接。可以先把服务端目录、登录器目录、客户端目录加入信任区,再临时关闭防火墙测试。如果关闭后列表正常显示,说明是端口或程序被拦截,之后再把相关 exe 和端口加入放行规则即可。

配置文件的一致性非常关键。服务端里的 IP、端口、网关设置,必须和登录器配置器生成的文件保持一致。单机测试时,服务端和客户端在同一台电脑上,IP 通常使用 127.0.0.1;如果误填成局域网 IP、公网 IP 或域名,登录器可能无法连接。同时要注意,有些服务端配置文件要求使用 ANSI 编码,保存成 UTF-8 或带有 BOM 头时,服务端可能解析失败,导致登录服务没有正常绑定端口。列表文件本身也要检查格式,服务器名称、IP、端口、区服标识是否按引擎要求排列,格式错一行都可能读不到。

如果是通过 http 方式读取列表,还要确认本地网站服务是否启动。列表地址里的端口必须和网站服务监听端口一致,例如 http://127.0.0.1:88/list.txt,那么本地 88 端口必须处于监听状态,并且 list.txt 文件路径正确。浏览器能直接打开列表文件,登录器才有机会读取。若地址写成 http://localhost 或带有多余斜杠、空格,部分登录器也会读取失败。

版本兼容性也会影响结果。较老的传奇服务端和登录器在 Windows 10、Windows 11 上可能出现兼容问题,表现为服务端启动后端口没有监听、登录器连接超时或列表为空。可以尝试右键服务端主程序和登录器,选择以管理员身份运行,并开启兼容模式。部分引擎还需要安装 VC++ 运行库、.NET Framework 3.5 等依赖,缺少这些组件时服务端会静默失败。

数据库服务未就绪也会导致登录流程中断。很多传奇服务端依赖本地数据库或 BDE/DBC 组件,如果数据库没有启动、账号密码错误、连接字符串不对,LoginSrv 可能启动异常,登录器就读不到服务器列表。此时应查看服务端日志目录下的 LoginSrv、DBSrv、GameSrv 等日志文件,寻找 bind failed、connect refused、database error、config empty 一类提示。日志比反复重启登录器更能直接说明问题。

若之前能正常显示列表,后来突然为空,优先检查是否有端口被占用、服务端进程崩溃、IP 变化或列表文件被移动。单机环境下 IP 一般不会自动变化,但如果更换过网卡、路由器或网络适配器,本地地址可能改变,导致配置失效。重新确认服务端监听 IP 和登录器读取地址是否一致即可。

处理顺序可以按“列表地址是否能打开—服务端进程是否存活—端口是否监听—防火墙是否放行—配置是否一致—日志是否有报错”来走。列表地址读不通,先修列表;服务端没跑起来,先修服务端;端口没监听,先查配置和依赖;配置都对但仍有问题,就看日志定位具体报错行。