单机传奇自带登录器无法注册登录的排查与修复

来源: 作者: 点击:
单机架设里登录器能打开,但点注册没反应、提示连接失败、列表空白、登录后秒断,基本不是客户端坏了,而是登录网关没通、列表配置错、数据库没接上,或者自带登录器跟服务端不匹配。按下面顺序查最快。

一、先看服务端几个窗口是否真的全起来了

启动引擎控制器后,别只看主界面显示启动成功,去任务栏看黑窗:

LoginSrv
LoginGate
DBServer
M2Server
RunGate

缺一个都不行。LoginGate 一闪关闭,注册请求根本进不到服务端;DBServer 没起,账号写不进库;M2 卡在加载阶段,登录器连上也会失败。

某个窗口闪退优先查两件事:

杀毒把 exe 删了,去隔离区恢复,把整个 MirServer 目录加信任
端口被占用,窗口里会报 bind、10048、port error

管理员身份运行引擎控制器,路径别放桌面,别放中文目录,D:\MirServer 最稳。

二、本地端口监听确认一下

CMD 执行:

netstat -ano | findstr "7000"

没看到 LISTENING,说明 LoginGate 没绑上端口。再看 PID 对应是不是 LoginGate 进程。
单机默认登录端口一般是 7000,有些端是 7001,以 LoginGate 配置里为准。

被占用就结束残留进程,或者改端口。改端口不是只改一处:

LoginGate 配置
Mir200\!Setup.txt
list.txt
登录器配置器生成参数

四地方要同步,不然能出列表也连不上。

三、list.txt 的 IP 必须统一 127.0.0.1

单机自己玩,所有 IP 填 127.0.0.1,不要填 192.168.x.x,也不要填外网 IP。

登录器配置器里的列表地址写法:

本地文件:.\list.txt 或 D:\客户端\list.txt
本地 HTTP:http://127.0.0.1/list.txt

如果用 http 方式,本地列表服务器小程序要开着,浏览器直接打开列表地址能看到文本才算正常。

list.txt 格式按引擎来,别乱改符号。

GOM/GEE 常见:

单机测试127.0.0.1 7000
0

HERO/老引擎常见:

127.0.0.1 单机测试 7000

注意点:

用英文竖线 |,别用中文|
别多加空格、别加注释
编码用 ANSI,不用 UTF-8
文件名保持 list.txt,别改成列表.txt
放登录器同目录,或配置器里填绝对路径

编码错是最常见的「列表空白」原因。

四、登录网关端口和列表端口对不上

登录器列表里写的端口,必须和 LoginGate 实际监听端口一致。
LoginGate 目录下的 LoginGate.ini 或 Config.ini 里看 Port。

服务端配置向导里也检查一遍:

服务器 IP:127.0.0.1
开区端口:7000
不勾动态 IP
不填外网地址

改完配置重启所有网关,别只重启 M2。

五、注册开关没开

有些端默认不允许在线注册,表现是点注册没反应或提示失败。

查 LoginSrv 目录下的 LoginSrv.ini 或 !Setup.txt:

RegisterEnable=1
AutoRegister=1

没有就补上,保存后重启 LoginSrv。

HERO 类也可以在 M2 里查:

M2Server → 选项 → 参数设置 → 游戏选项
勾「允许注册新账号」
创建账号间隔别设太长,默认 60 秒就行

部分端还有独立注册服务 StartReg.exe、RegSrv.exe,服务端目录里找一下,双击挂着。

六、账号格式不对也会注册失败

注册账号别用中文、空格、@ # 这类符号。
用纯英文或英文+数字,比如 test123、abc01。

长度看服务端限制,一般 3-12 位。太短太长都会被拒。

如果之前建过同名账号没建成功,数据库里又留了残记录,也会提示已存在或写入失败,手动清一下账号表再试。

七、HERO 引擎重点查 DBC2000

用 HeroDB 的端,注册失败先查 BDE Administrator。

控制面板打开 BDE Admin
左边建别名 HeroDB,大小写按服务端习惯保持一致
PATH 指向 MirServer\Mir200\Mud2\DB
Driver 用 PARADOX
Ctrl+A 保存

路径错的表现就是 DBServer 起不来或注册无写入。

再查 DB 目录里:

Account.DB 是否存在
文件大小是否正常
是不是从完整端里拿的原始库

缺失就从原包复制一份,替换前关掉所有服务端进程。
服务端路径别带中文,别放 C 盘 Users 目录下,权限容易出问题。

DB 文件夹右键安全里给当前用户写入权限,不然能发请求但写不进账号。

八、自带登录器跟引擎不匹配

自带登录器不等于一定可用,尤其你换过引擎、覆盖过网关、用过别的配置器生成过一次,原登录器就可能失效。

核对引擎类型:

GOM → GOM 登录器配置器
GEE → GEE 配置器
HERO → HERO 登录器制作
BLUE → BLUE 专用

别用网上通用登录器糊弄,混引擎会提示版本太老、校验失败、连上秒踢。

重新生成步骤:

打开服务端自带的登录器配置器
列表地址填 127.0.0.1 对应端口
不勾微端模式
不勾外网检测
生成到客户端目录
覆盖原来那个登录器

GOM 类注意把 Mir200 里的 key.lic 放到配置器目录,不然授权不对也登不进去。

九、游戏名称要对上

服务端 !Setup.txt 里的 ServerName、list.txt 里的区名、登录器配置器里填的名称,三者一致。

多了空格、少了字、用了中文符号,都会表现成:
能出列表
点进去连一下
报错或回到登录界面

直接复制粘贴,不要手打。

十、防火墙和杀软拦截

单机也走本机 TCP,杀毒经常把 LoginGate、DBServer、M2Server 当异常程序删了或拦了。

临时关 Windows Defender 防火墙和第三方杀软实时防护,再点一次注册。
能成就是拦截问题。

长期用加白名单:

整个 MirServer 目录
LoginGate.exe
LoginSrv.exe
DBServer.exe
M2Server.exe

防火墙入站放行 7000、7200 就行。

十一、登录器本身打不开或闪退

打开登录器没反应、闪一下没了:

右键属性 → 管理员身份运行
兼容性勾 Win7
关杀软后重开
客户端目录要有 Map、Data 补丁
别把登录器放中文路径

GOM/GEE 登录器依赖客户端资源,纯空目录会起不来。

如果被报毒删了,重新用服务端自带配置器生成,别去网上下不明登录器。

十二、能出列表但注册无反应

按这个顺序排:

1. LoginGate 窗口在不在
2. netstat 看 7000 是否监听
3. list.txt 是否 127.0.0.1 + 正确端口 + ANSI
4. RegisterEnable 是否 1
5. M2 是否勾允许注册
6. DBC2000 HeroDB 路径对不对
7. Account.DB 是否完好
8. 登录器是不是同引擎生成
9. 防火墙关掉试一次
10. 账号用 test123 这种纯英文

多数情况卡在第 2、第 3、第 7。

十三、能注册但登录不进去

注册成功了登不上,分开看:

提示账号密码错误 → 看是不是数据库里没写进去,或密码前后有空格
提示连接关闭 → 网关端口不对,或 LoginGate 中途闪了
进游戏秒掉线 → 登录器版本校验不匹配
卡正在进入游戏 → RunGate / M2 脚本报错,看 M2 红字

版本校验问题别去瞎改客户端,直接用服务端自带配置器重新生成登录器最稳。

十四、快速自检清单

服务端路径:D:\MirServer,无中文
网关进程:LoginSrv / LoginGate / DBServer / M2 全在
端口:7000 监听正常
list.txt:127.0.0.1|7000,ANSI 编码
注册开关:RegisterEnable=1
M2:允许注册新账号已勾
DBC:HeroDB 指向 Mud2\DB
账号:test123 纯英文
登录器:同引擎配置器重新生成
杀软:MirServer 加信任

单机自带登录器注册不了,本质就几条线:网关没接、列表读错、库写不进、登录器不对。顺着上面挨个过,基本都能定位到是哪一层断了。