单机传奇架设完成后登录器提示服务器列表为空分步排查修复实操指南

来源: 作者: 点击:
你已经把单机传奇的服务端全部文件解压到指定路径,启动了所有核心进程,打开自己生成的登录器却直接弹出服务器列表为空的提示,看不到任何可进入的游戏区,不用反复重新解压服务端文件,也不用更换全新的客户端版本,按照下面的步骤从最基础的环节开始逐层排查,绝大多数情况都能快速定位问题并修复,顺利进入游戏。

首先从最容易忽略的登录器本地文件开始排查,这一步能解决超过六成的列表为空问题。先找到你当前打开的登录器所在的文件夹,也就是传奇客户端的根目录,查看里面是否存在名为ServerList.txt的文件,部分老版本引擎的登录器会把列表文件命名为Server.ini,你要仔细确认文件的完整名称,不能出现ServerList.txt.txt这类多出来的后缀名,Windows系统默认会隐藏已知文件的后缀,你可以在资源管理器顶部的查看选项卡里,勾选文件扩展名选项,就能看到所有文件的完整后缀,要是发现列表文件缺失,直接在客户端根目录右键新建文本文档,把文件名改成正确的ServerList.txt。接下来用记事本打开这个列表文件,按照单机环境的固定格式填写内容,正确的格式为服务器名称|127.0.0.1|5555,部分引擎的登录端口默认是7000,你要提前对照自己服务端登录网关的配置确认端口,不能直接照搬其他版本的端口数值,填写完成后按下Ctrl+S保存文件,确认这个文件没有被放到客户端的子文件夹里,必须直接放在登录器所在的根目录下,保存完成后关闭当前的登录器,重新双击打开登录器,查看服务器列表是否已经正常显示。如果你的登录器是通过登录器配置器生成的,就重新打开对应的配置程序,找到列表设置区域,把主列表地址直接填写成ServerList.txt的本地完整路径,比如D:\热血传奇客户端\ServerList.txt,同时取消勾选仅读取远程列表的选项,保存配置后重新生成登录器,再打开测试列表加载状态。

接下来检查服务端的登录网关运行状态,很多新手启动服务端时会跳过登录网关的启动步骤,导致登录器完全收不到任何服务器推送的信息。回到你存放服务端的根目录,找到LoginGate文件夹,双击里面的LoginGate.exe程序,正常启动后弹出的控制台窗口顶部,会明确显示登录网关运行中,当前监听端口为你之前设置的数值,比如5555或者7000,要是点击后程序直接闪退,就打开任务管理器,在进程列表里找到所有残留的LoginGate相关进程全部结束,再重新双击启动。等登录网关完全运行起来后,找到同目录下的LoginGate.ini配置文件,用记事本打开,找到ServerIP对应的配置项,单机环境下必须把这里的数值改成127.0.0.1,不能填写公网IP也不能留空,修改完成后保存文件,关闭当前的登录网关程序,再重新启动一次,让新的IP配置完全生效。确认登录网关正常运行后,按照DBServer、LoginGate、M2Server的顺序完整重启所有服务端进程,不要跳过任何一个步骤,等M2Server主程序完全加载完成,没有弹出任何红色报错提示后,再回到客户端这边重新打开登录器查看列表。

完成前两步操作后列表还是为空,就开始排查端口通畅性问题,很多系统默认的防火墙或者后台运行的其他程序,会悄悄占用传奇的登录端口,或者直接拦截登录器和网关之间的连接请求。按下键盘上的Win+R组合键,在弹出的运行窗口里输入cmd,按下回车打开命令提示符窗口,输入netstat -ano | findstr 5555,把后面的端口号替换成你自己设置的登录网关端口,按下回车执行命令,要是返回的结果里没有显示LISTENING状态的对应进程,就说明这个端口被其他程序占用了,你可以从返回的PID数值里找到对应的进程,打开任务管理器的详细信息标签页,找到对应PID的进程直接结束掉,常见的会占用这类端口的程序有下载工具、视频直播软件、其他游戏的后台进程。接下来打开系统的控制面板,进入系统和安全分类,找到Windows Defender防火墙的高级设置选项,点击入站规则,新建一条规则,规则类型选择端口,协议选择TCP,输入你设置好的登录端口,后续所有步骤都选择允许连接,给这条规则命名为传奇登录端口,保存完成后暂时关闭系统防火墙,再次打开登录器测试列表加载状态,要是关闭防火墙后列表能正常显示,就说明之前的端口被防火墙拦截了,保留刚才新建的入站规则,之后再重新开启防火墙就不会再出现拦截问题。

前面三步全部排查完成后列表依然为空,就检查客户端和服务端的版本匹配度,以及引擎设置里的列表广播开关。先确认你的传奇客户端版本和服务端标注的版本完全一致,不能用1.80版本的客户端去加载1.76版本的服务端,跨版本的版本差异会导致登录器无法正常解析服务端推送的服务器信息,直接出现列表空白的情况。找到服务端根目录下的ClientPatch文件夹,把里面所有的补丁文件全部复制出来,覆盖粘贴到客户端的根目录里,替换掉原有的旧登录器和相关配置文件,覆盖完成后找到客户端根目录下的Config文件夹,直接把这个文件夹整个删除,清空登录器之前生成的所有缓存数据,再重新打开登录器测试。最后打开服务端的M2Server主程序,点击顶部菜单栏的选项按钮,进入系统设置界面,找到登录设置对应的标签页,确认里面的服务器列表广播选项已经被勾选,部分版本的引擎默认会关闭这个功能,关闭后登录网关就不会向登录器推送任何服务器列表信息,手动勾选上这个选项后保存设置,重启M2Server程序,等待主程序完全加载完成后,再回到客户端打开登录器,服务器列表就会正常加载显示出来。

如果你的登录器之前设置过远程列表地址,还要补充做几个针对性的检查。把你填写在登录器配置里的远程列表地址,直接复制到浏览器的地址栏里打开,确认浏览器能正常打开这个文本文件,不能出现404错误或者空白页面,部分老版本的登录器只支持读取http开头的列表地址,如果你填写的是https开头的地址,直接替换成http协议的对应地址就能解决。如果你用的是GOM引擎的登录器,打开登录器配置程序,找到列表设置区域,把防劫持选项前面的勾选取消掉,单机环境下这个功能没有实际作用,反而会干扰列表文件的正常读取,取消勾选后重新生成登录器,再打开测试就能正常加载列表。要是你之前修改过列表文件的格式,一定要用纯记事本重新编辑,不要用Word这类带格式的文档编辑软件修改列表文件,避免多余的格式代码导致登录器无法解析列表内容,按照登录器自带的示例列表格式重新编写一遍,保存后再打开登录器就能正常识别所有服务器信息。