服务器列表就是登录器用来找区服的“引路牌”。它不是 M2、不是数据库、也不是游戏本体,就是一个文本配置,里面写着:区服名字、IP、端口、状态。登录器启动后先读这个列表,才知道“要连哪台机器、哪个端口”。单机环境下,列表里写的就是本机回环地址 127.0.0.1 加登录网关端口,通常 7000。
“获取服务器列表失败”不是版本坏了,是登录器没拿到这个引路牌,或者拿到了但解析不了。按下面顺序查,十分钟内能定位。
一、先确认服务端真的起来了
别急着改列表,先看进程。任务管理器里要有这些:
DBServer.exe
LoginSrv.exe
LoginGate.exe
SelGate.exe
RunGate.exe
M2Server.exe
GOM/GEE 用 GameCenter 一键启动的,也去任务管理器确认这六个进程没闪退。
重点看 LoginGate.exe 在不在。列表请求第一棒就是它,它没起,登录器永远“获取失败”。
管理员 CMD 执行:
netstat -ano | findstr ":7000"
有输出说明登录网关在监听;没输出就是 LoginGate 没起或端口被占。
端口被占就查 PID 结束掉,酷狗、迅雷、Skype、IIS 常占 7000。改端口也行,但列表、网关 ini、!Setup.txt 三处必须同步改。
二、列表文件本身的问题
单机不需要买空间、不需要搭网站,直接本地列表文件就行。
在客户端根目录(和登录器 exe 同目录)新建 ServerList.txt 或 list.txt,注意关掉系统“隐藏已知扩展名”,别存成 ServerList.txt.txt。
不同引擎格式略有差异,按你引擎选一种:
GOM / GEE 常用格式:
1单机测试 127.0.0.1 7000 1
0
含义:序号区名 IP 端口 线路
状态(0开启 1维护)
另一种常见写法:
[Server]
0=单机测试127.0.0.1 7000 1
0
老 HERO / 3K 引擎格式:
127.0.0.1 单机测试 7000
用空格分隔,不是竖线。
关键细节:
分隔符必须英文半角 | 或空格,别用中文符号
IP 必须 127.0.0.1,别填外网、别填局域网
端口必须和 LoginGate 实际监听端口一致
行尾别有多余空格,区名别带 & # @ 这类特殊符号
记事本另存为 ANSI 编码,别存 UTF-8,UTF-8 带 BOM 登录器会解析乱码
三、让登录器读本地列表
很多下载来的端,登录器里列表地址还指向作者原来的外网网址,那个网址早失效了,所以一直“获取列表失败”。
情况A:登录器目录有 Login.ini / Config.ini
用记事本打开,找 ListURL、ListAddr、ServerAddr 这类字段。
原来写着 http://xxx.com/list.txt 的,改成:
本地文件模式:
ListURL=.\ServerList.txt
或绝对路径:
ListURL=D:\Woool\ServerList.txt
部分配置器支持:
LocalList=1
强制读本地,不请求网络。
情况B:有登录器配置器(MakeGameLogin.exe / LegendConfig.exe)
打开配置器:
列表模式:选“本地列表”,别选“网页列表”“远程列表”
列表地址:填 .\ServerList.txt 或 http://127.0.0.1/list.txt
服务器IP:127.0.0.1
登录端口:7000(和你网关一致)
关掉“自动更新列表”“微端模式”“动态IP”
重新生成登录器,覆盖到客户端根目录。
情况C:GOM 强制要 http 开头
下个本地简易 HTTP 小工具(ASP简易服务器、本地列表服务器),把 list.txt 放进去,监听 80 或 88 端口,配置器填:
http://127.0.0.1/list.txt
浏览器先打开这个地址,能看到文本内容才算通。
四、登录器和引擎必须配套
这是隐性坑:
GOM 端 → GOM 配置器出的登录器
GEE 端 → GEE 配置器出的登录器
HERO 端 → HERO 专用登录器
别用网上万能登录器、别混用别的版本登录器
协议不对,列表格式再对也解析不出来,表现就是空白或获取失败。
有 Key 机制的引擎(部分 GOM/996),把服务端 Mir200\Key 同步到配置器,Key 不对列表也加载不了。
五、防火墙和杀软拦截
临时关 Windows 防火墙测一次:
控制面板 → 系统和安全 → Windows Defender 防火墙 → 关闭
能出列表了,就加回放行规则:
高级设置 → 入站规则 → 新建规则 → 端口 → TCP → 特定本地端口填:
7000,7100,7200
再把这几个 exe 加允许应用:
LoginGate.exe
SelGate.exe
RunGate.exe
M2Server.exe
DBServer.exe
登录器本身
杀软(Defender、火绒、360)把整个客户端和服务端目录加白名单,网关 exe 常被静默隔离。
六、hosts 劫持和 DNS 污染
打开:
C:\Windows\System32\drivers\etc\hosts
用记事本管理员权限打开,看有没有把 127.0.0.1 指向奇怪域名、或把列表域名指向 0.0.0.0 的行,有就删掉。
CMD 执行:
ipconfig /flushdns
再开登录器。
七、M2 里列表信息配置
进 M2 控制台:
查看 → 列表信息(或“列表配置”)
确认里面填的区名、IP、端口和 ServerList.txt 完全一致。M2 自己也有一份列表广播,两边对不上会显示“服务器关闭”或干脆不显示。
八、LoginSrv 地址表核对
进 LoginSrv 目录,打开 !addrtable.txt,格式:
区名 Title1 1 127.0.0.1 127.0.0.1 127.0.0.1:7000
区名和列表文件里的区名一致,IP 全 127.0.0.1,末尾端口和网关一致。
改完重启 LoginSrv。
九、清理旧缓存
客户端根目录里删掉:
Config 文件夹
mir.dat 临时缓存(保留原版 dat,别删服务端配套 dat)
登录器同目录下的 .cfg .tmp 残留
重新生成登录器再开。
十、快速对照表
现象 → 优先查
一直“获取列表失败” → 列表地址还指向外网,改本地
列表空白 → 格式错、编码错、引擎不配套
能出列表但区服显示关闭 → 端口和网关不一致
点区服后连不上 → LoginGate 没起或防火墙拦
浏览器打开列表地址是空/404 → 文件路径错或 HTTP 服务没起
换登录器突然好了 → 原来登录器被劫持或不配套
十一、标准排错顺序
1. 关杀软、加白名单、清残留进程
2. netstat 查 7000,确认 LoginGate 在监听
3. 客户端根目录建 ServerList.txt,写 127.0.0.1|7000 标准格式,ANSI 编码
4. 登录器配置器切“本地列表”,重新生成登录器
5. 关防火墙测一次,通了再加放行规则
6. 核对 M2 列表信息、!addrtable.txt 区名端口一致
7. 删 Config 缓存,重开登录器
十二、最简可用模板(直接抄)
ServerList.txt 内容(GOM/GEE):
1我的单机传奇 127.0.0.1 7000 1
0
放到客户端根目录,登录器配置器:
列表模式:本地列表
列表文件:.\ServerList.txt
IP:127.0.0.1
端口:7000
生成登录器覆盖原 exe
服务端确认:
LoginGate 起得来,7000 在监听
!Setup.txt 里 ServerIP=127.0.0.1
!addrtable.txt 区名和列表一致
打开登录器,区服出现,输入任意账号能进角色界面,列表问题就算解决。
列表失败不是玄学,就三件事:登录器找不到文件、文件写错了、网关没给响应。按“文件→格式→端口→进程→防火墙→配套”这顺序过一遍,基本没有查不出来的。
传奇服务器列表是什么与获取列表失败完整修复
来源:
作者:
点击:

