列表读取失败是单机架设里出现频率最高的一类问题,表现是登录器打开后服务器列表空白、显示“读取列表失败”或一直转圈,进不了选区界面。这个问题本质只有三种:列表文件没被读到、读到了但内容格式错、内容对了但登录器连不上表里写的地址。按这三层往下查,基本都能定位。
一、先分清是哪一种失败
登录器弹窗提示“列表读取失败”或“无法连接列表服务器”,属于第一层,文件或地址没通。
列表能显示但点进去报错、或者列表出来是空的,属于第二层,格式或内容问题。
列表正常显示、选区后卡住或提示连接超时,属于第三层,网关或端口问题。
先看清楚提示文字,别一上来就重装服务端。
二、列表文件到底放哪
单机端常见两种列表方式。
第一种是本地列表文件。登录器同目录下找这些文件名:
ServerList.txt
ServerList.ini
list.txt
iplist.txt
Config\ServerList.txt
有的端叫游戏列表.txt。找不到就在登录器目录里按修改时间排序,看最近改过的txt。
第二种是网页列表。登录器配置里填的是URL,比如http://127.0.0.1:8080/ServerList.txt,那就需要本地起个web服务(AspWeb、phpstudy、M2自带微端站都行),把这个txt放进网站根目录。
很多人失败的原因就是把网页列表当本地列表用,登录器去请求127.0.0.1:8080,但web服务根本没起,自然读不到。
三、本地列表格式怎么写
用记事本打开,注意编码必须是ANSI,不能是UTF-8带BOM。UTF-8的BOM头会让登录器把第一行读成乱码,整个列表解析失败。Notepad++里看右下角,显示UTF-8-BOM就转成ANSI再存。
典型格式:
[Server]
0=单机一区127.0.0.1 7000
0
1=测试二区127.0.0.1 7001
0
或者:
单机一区,127.0.0.1,7000
分隔符按登录器要求来,有的用竖线,有的用逗号,有的用空格。拿配套登录器配置器生成的默认文件做模板最稳,别自己手写格式。
区名里不要带竖线、逗号、空格,中文区名别带特殊符号。
行尾不要留多余空行和制表符,有的登录器解析严格。
四、网页列表的坑
web服务没起,浏览器打不开地址,登录器当然也打不开。先在浏览器输一遍完整URL,能看到纯文本内容再谈登录器。
端口冲突。8080常被别的程序占用,换个8090再试。
路径大小写。Linux习惯的人容易写错,Windows下也要和实际文件名一致。
防火墙拦了本地回环一般不会,但杀软可能拦web进程,加信任。
列表文件编码同样要ANSI,网页列表还要求返回头正确,用txt静态文件最省事。
五、登录器配置里的地址要对
打开登录器配置器,检查这几处:
列表地址:本地列表就填相对路径或绝对路径,网页列表填完整URL
游戏IP:单机填127.0.0.1
登录端口:和服务端LoginGate配置一致,默认7000
游戏端口:和服务端GameGate一致,默认7100或7200
配置改完必须重新生成登录器,只改配置不生成等于没改。很多人改了IP还在用旧登录器,一直失败。
六、服务端这边要确认的
登录网关有没有起来。任务管理器看LoginGate.exe、LoginSrv.exe在不在,窗口日志有没有“监听端口成功”。
端口对不对。打开GateServer\LoginGate.ini看Port,和登录器填的一致。
IP绑定。有的端配置里写的是0.0.0.0,有的写127.0.0.1,单机都行,但别写成外网IP导致本地连不上。
M2有没有正常加载。M2没起来,登录网关能连上但选区后卡住,表现也像列表问题。
数据库连不上会导致M2启动失败,间接让整个链路断掉,先看DBServer日志。
七、用telnet快速判断通不通
cmd里执行:
telnet 127.0.0.1 7000
窗口变黑或提示连接成功,说明登录网关在监听。
提示连接失败,就是网关没起或端口不对,别再折腾列表文件了。
telnet默认没装,控制面板程序功能里勾选Telnet客户端。
也可以netstat -ano | findstr 7000,看有没有LISTENING。
八、常见误判
列表读取失败不等于服务端坏了。先确认列表这一环,再查网关。
杀毒软件把登录器当风险程序隔离,表现就是双击没反应或读不到列表,加白名单。
登录器版本和客户端版本不匹配,能读到列表但进不去,换配套登录器。
复制列表文件时用了网页复制,带上了不可见字符,重新手打或从模板改。
多网卡机器(虚拟机、VPN)IP判断错,登录器连到了虚拟网卡,禁用多余网卡再试。
九、按顺序排查的清单
1. 浏览器或记事本打开列表文件,确认内容和编码
2. 本地列表确认放在登录器同目录,网页列表确认web服务已起
3. 登录器配置器核对列表地址、IP、端口,重新生成登录器
4. telnet 127.0.0.1 7000 确认登录网关在监听
5. 看LoginGate和M2窗口日志有无报错
6. 关杀软或加信任,再试一次
7. 换配套登录器和客户端版本对齐
十、一个最容易忽略的点
单机端经常自带“一键启动”脚本,但脚本里写的路径是作者机器的路径,比如D:\传奇\服务端,你解压到别处,脚本启动的网关其实没起来,或者起在了错误目录。手动逐个双击exe启动,看每个窗口日志,比信一键脚本靠谱。列表读取失败十次里有三四次是网关压根没起,而不是列表文件有问题。
按上面顺序走一遍,列表读取失败基本都能在一个小时内定位到具体环节。核心就一句:先证明列表文件本身能被读到且格式对,再证明登录网关真的在监听,两头都通,中间那层登录器配置自然就通了。

