传奇登录器显示服务器列表为空的排查与解决方法

来源: 作者: 点击:
登录器读取服务器列表依赖LoginSrv服务是否正常运行及配置文件是否匹配。首要检查LoginSrv.exe是否启动成功,观察其控制台窗口是否有“等待连接”提示。若程序闪退,查看!AddrTable.txt是否存在语法错误或路径缺失。

第二步:核对!ServerInfo.txt内容。该文件位于LoginSrv目录下,格式为:
服务器名称=IP地址:端口
例如:
热血传奇=127.0.0.1:7000
IP必须为公网地址或局域网真实IP,不可使用127.0.0.1(除非客户端与服务端在同一机器)。端口号需与M2Server中!Setup.txt的[Server]段ListenPort一致,默认7000。

第三步:确认!AddrTable.txt注册信息。此文件定义区组与IP映射,格式为:
区号=IP:端口
如:
0=192.168.1.100:7000
区号必须与登录器内置ID匹配(通常为0),IP和端口需与M2Server实际监听地址完全一致。若留空或写错,登录器无法获取有效入口。

第四步:检查防火墙与端口占用。Windows防火墙可能阻止LoginSrv通信,需放行LoginSrv.exe或开放对应端口(默认7000-7002)。使用netstat -ano | findstr :7000确认端口是否被占用,若被其他程序占用,需修改!ServerInfo.txt中的端口并重启服务。

第五步:验证登录器配置。部分登录器内置服务器列表地址指向特定域名或IP,若自行架设则需使用配套登录器。若使用通用登录器,确保其读取的是本地!ServerInfo.txt而非远程列表。可尝试替换为官方原始登录器测试。

第六步:查看LoginSrv日志。正常启动后,Log目录应生成Login.log,记录客户端连接请求。若无日志产生,说明登录器未成功连接LoginSrv,问题出在网络或地址配置;若有连接但无服务器返回,检查!ServerInfo.txt编码是否为ANSI,UTF-8带BOM会导致解析失败。

第七步:局域网测试方法。在同网段另一台电脑运行客户端,登录器服务器地址填服务端内网IP(如192.168.1.100),若仍为空,说明服务端未正确广播列表;若能显示,则原机器问题可能出在回环地址限制。

临时诊断命令:在服务端机器上执行telnet 127.0.0.1 7000,若连接失败,证明LoginSrv未监听或端口错误。务必确保M2Server、DBSrv200、LoginSrv三个核心进程同时运行,缺一不可。