当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇服务器列表是什么与获取列表失败完整修复

热度:
服务器列表就是登录器用来找区服的“引路牌”。它不是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.170001
0

含义:序号区名IP端口线路
状态(0开启1维护)

另一种常见写法:

[Server]
0=单机测试127.0.0.170001
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防火墙测一次:

控制面板→系统和安全→WindowsDefender防火墙→关闭

能出列表了,就加回放行规则:

高级设置→入站规则→新建规则→端口→TCP→特定本地端口填:
700071007200

再把这几个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,格式:

区名Title11127.0.0.1127.0.0.1127.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.170001
0

放到客户端根目录,登录器配置器:

列表模式:本地列表
列表文件:.\ServerList.txt
IP:127.0.0.1
端口:7000
生成登录器覆盖原exe

服务端确认:

LoginGate起得来,7000在监听
!Setup.txt里ServerIP=127.0.0.1
!addrtable.txt区名和列表一致

打开登录器,区服出现,输入任意账号能进角色界面,列表问题就算解决。

列表失败不是玄学,就三件事:登录器找不到文件、文件写错了、网关没给响应。按“文件→格式→端口→进程→防火墙→配套”这顺序过一遍,基本没有查不出来的。
[顶部]