读取列表失败不是客户端坏了,是登录器没拿到“区名IP
端口”这段数据。单机、局域网、开区三种场景修法不同,但底层就五件事:服务端没起、IP不对、端口不通、列表文件格式/编码错、登录器还在读别人外网地址。
一、先确认服务端网关真起来了
列表能出不代表能进游戏,但连列表都读不到,先别怪登录器。
该活的进程:DBServer、LoginSrv、LoginGate、SelGate/SelectGate、RunGate/GameGate、M2Server。
LoginGate 默认 7000,SelGate 7100,RunGate 7200。
cmd 里查:
netstat -ano | findstr ":7000"
没有 LISTENING,就是 LoginGate 没起、闪退、或被杀软删了。
M2 没起、DBServer 连不上 HeroDB/MySQL,登录器也可能表现为列表空或连接失败。
二、单机必须把地址拽回本机
单机架设还让登录器读 http://xxx.com/list.txt,那台外网空间死了或者根本不是你的,就报读取列表失败、远程列表失败、备用列表失败。
单机正确值:
• IP:127.0.0.1
• 端口:LoginGate 实际端口,通常 7000
• 列表地址:http://127.0.0.1/list.txt(本机起了静态服务),或者直接走登录器配置器里的“本地列表/静态列表”
别填公网 IP、别填别人域名、别填 192.168.x.x 又没开对应服务。
三、列表文件格式和编码
常见文件名:ServerList.txt、list.txt、GomList.txt。
GOM/HERO 单行常见:
测试一区127.0.0.1 7000 0 0
0
字段大概是:区名IP 登录端口 是否显示 是否新服
是否推荐。
GEE 可能带微端段:
测试区127.0.0.1 7000 1 127.0.0.1
0
规则:
• 竖线必须是英文 |
• 行尾别留空格、别用中文逗号/冒号
• 服务器名别用 @ # & 这种脚本符号
• 最后一行留个空行,老登录器会吞最后一条
• 编码用 ANSI;记事本存成 UTF-8 带 BOM,老登录器第一行乱码,直接判定空列表
四、没配置器就放本地文件
登录器同目录建 ServerList.txt,关掉“隐藏已知扩展名”,别存成 ServerList.txt.txt。
内容:
单机测试127.0.0.1 7000 0 0
0
保存选 ANSI。
部分 Hero 老登录器认 ini 式:
[Server]
Count=1
Server1Name=单机测试
Server1IP=127.0.0.1
Server1Port=7000
不行就换同引擎登录器配置器重生成,比手工改 ini 稳。
五、有配置器才叫正经修法
找服务端里的 MakeLogin.exe / LegendConfig.exe / 登录器配置器.exe。
• 主列表:http://127.0.0.1/list.txt 或选“本地列表”
- 备用列表:单机就留空,或者跟主列表一样
• 服务器 IP:127.0.0.1
• 登录端口:7000(改过就填改后的)
• 微端没起:微端地址填 0 或留空,别填 8000 假地址
点生成,把新登录器覆盖到客户端根目录。
用旧登录器反复点没用,配置是烧进 exe 里的。
六、端口被占用最隐蔽
7000 被迅雷、酷狗、QQ音乐、IIS、上次的 M2 残留占了,LoginGate 起不来。
处理:
• taskmgr 里按 PID 杀占用进程
- 或把 LoginGate 改 7001、SelGate 7101、RunGate 7201
• 列表文件、登录器配置器、!Setup.txt、LoginSrv\!addrtable.txt 全部同步改
只改一处,其他还是 7000,就时好时坏。
七、防火墙和杀软
Defender、360、火绒会把 LoginGate.exe、RunGate.exe、登录器 exe 当异常程序。
临时关防火墙测;能读列表就把 D:\MirServer 和客户端目录加白。
Win10/11 登录器和 GameCenter 右键:管理员身份运行 + 兼容 Win7/XPSP3。
别放桌面“传奇登录器”这种中文目录,放 D:\MirClient、D:\MirServer。
八、外网开区读列表失败
你当服务器商,玩家说读取列表失败,问题通常在:
1. 列表放自己官网,官网挂了/被 CC/被扫
2. 列表用 PHP 动态生成,并发一高 502,部分玩家拿到空响应
3. 列表域名没备案被运营商拦,或 DNS 被劫持
4. 高防只转发 7000,没转发列表所在 80/443
5. 列表服务器和游戏服同机,游戏服一高负载,HTTP 也跟着死
正解:
• 列表用纯静态 txt,传对象存储/CDN/独立小机
• 主列表、备用列表放不同 IP,别同机
- 格式 ANSI,GEE 按引擎要求来
• 浏览器直接开 http://你的IP/list.txt,能看纯文本才算正常
• 玩家那边让他清 DNS:ipconfig /flushdns,关代理/VPN,手机热点测一次
九、登录器和引擎不配套
HERO 登录器读 HERO 端,GOM 登录器读 GOM 端,GEE 登录器读 GEE 端。
拿“万能登录器”套进去,列表地址都对也会解析不出来,表现就是空白、读取失败、按钮灰。
看 M2 窗口标题知道引擎类型,再用同包配置器生成登录器。
十、微端/三端额外坑
列表通了但进游戏黑屏、卡资源加载,那是微端问题不是列表问题。
微端 UpdateGate / UpdateServer 没起,列表里却填了微端 IP 和 8000 端口,老登录器会先试微端再回退,看起来像列表抽风。
微端没配好就填 0,先让 PC 登录器进土城,再单独调微端。
十一、快速定位表
• 列表完全空白:列表地址错、文件不存在、编码 UTF-8 BOM
• 主列表偶尔能出、备用列表一直失败:外网地址失效/本机 hosts 脏/DNS 乱
• 列表有区名但点区连接失败:7000 端口没监听、IP 不一致、Gate 没起
• 列表能出但按钮灰:登录器和网关密码/版本不对
• 家里能读、公司/校园网读不到:网络拦截 80/7000,换手机热点
• 单机报远程备用列表失败:登录器还写着作者外网地址,重生成登录器
十二、单机最小可跑模板
路径:D:\MirServer、D:\MirClient
列表:单机测试127.0.0.1 7000 0 0
0,ANSI
LoginGate:7000 已监听
M2:已开门、无红字
登录器:同引擎配置器生成,主列表 http://127.0.0.1/list.txt 或本地列表,备用留空
杀软:关掉或加白
权限:管理员运行
启动顺序:DBServer → LoginSrv → LoginGate → SelGate → RunGate → M2
十三、开区商最小架构
• 游戏服:多 LoginGate / RunGate,别单进程扛百人
• 列表服:独立机 + 静态 txt + CDN
• 数据库:内网 MySQL,3306 不公网
• 高防:玩家只连高防 IP,源站藏后面
• 注册/支付:独立接口,别和列表同站
• 监控:看 7000 连接数、TIME_WAIT、MySQL 进程、HTTP 状态码
读取列表失败这句话本身不高级,翻译过来就是“登录器没拿到区服入口”。先分是单机还是开区,再看浏览器能不能打开列表地址,再看 7000 有没有监听,再看列表文件是不是 ANSI 和竖线格式,最后看登录器是不是同引擎生成。这四关过了,列表基本不可能读不到;还读不到就是登录器 exe 本身被篡改或下载来就不是这套端的的东西。

