能输入账号、能到角色界面,说明登录器已经连上登录网关,问题不在网络层,而在账号认证、角色网关、数据库读取、引擎验证这几段里至少有一处断了。按下面顺序查,别乱点。
一、先清残留进程再看日志
任务管理器结束掉所有M2Server.exe、DBServer.exe、LoginSrv.exe、LoginGate.exe、SelGate.exe、RunGate.exe。
进服务端Log目录,打开M2Server.log和LoginSrv日志,搜这几个关键词:
DBServerConnectFail→数据库没通
LoginGateConnectFail→登录网关没连上M2
AuthTimeout→验证超时,通常是进程卡死或数据库慢
ClientVersionMismatch→登录器版本不对
RoleAuthError→角色表或字段问题
看到哪个关键词就直接跳到对应小节,不用全篇改。
二、确认认证服务和网关全在跑
角色界面认证依赖这条链:
客户端→LoginGate(登录网关)
→LoginSrv(账号认证服务)
→SelGate(角色网关)
→DBServer(数据库)
→M2Server(主引擎)
能输账号说明LoginGate通了,但后面任意一环没起都会弹“服务器认证失败”。
检查服务端目录里这些进程是否都在:
DBServer\DBServer.exe
LoginSrv\LoginSrv.exe
LoginGate\LoginGate.exe
SelGate\SelGate.exe
RunGate\RunGate.exe
Mir200\M2Server.exe
哪个黑窗一闪而过,先别急着重起:
去杀软隔离区翻一遍,LoginSrv.exe、SelGate.exe常被Defender当可疑进程删,恢复并加信任
右键该exe以管理员身份运行
看对应日志报什么,常见是端口占用或配置文件读坏
GOM/GEE用GameCenter一键启动的,也去任务管理器确认这六个进程都在,控制器显示“已启动”不代表子进程没崩。
三、IP和端口必须全链路一致
单机所有配置统一127.0.0.1,不允许留空、不允许混192.168.x.x。
检查这些文件:
Mir200\!Setup.txt
ServerIP=127.0.0.1
LocalIP=127.0.0.1
GateIP=127.0.0.1
LoginSrv\!addrtable.txt
格式:
游戏区名Title11127.0.0.1127.0.0.1127.0.0.1:7000
LoginGate\Config.ini
SelGate\Config.ini
RunGate\Config.ini
ServerIP=127.0.0.1
Port=对应端口(默认7000/7100/7200)
区名必须和登录器列表里的区名一字不差,多空格都不行。
查端口占用:
netstat-ano|findstr"7000"
netstat-ano|findstr"7100"
netstat-ano|findstr"7200"
有LISTENING就按PID结束占用进程。改端口必须整套一起改:网关ini、!Setup.txt、登录器列表三处同步,只改一边没用。
四、网关验证密码三处要对齐
GOM、HERO类引擎有“网关密码”机制,登录器、LoginGate、SelGate三处密码必须完全一致。
登录器配置器里如果填了网关密码(比如123456),那么:
LoginGate\Config.ini里Password或PassKey=123456
SelGate\Config.ini里对应密码项=123456
空密码就在登录器配置器里取消“启用网关密码”勾,别一边空一边填。
密码不对的表现就是:能到角色界面,一点登录或创建角色就弹认证失败,日志里可能出现AuthPasswordError。
五、M2里账号认证设置检查
进M2Server控制台:
选项→参数设置→账号控制(或安全相关)
确认几点:
没开“远程账号认证”,单机用本地认证
“允许普通账号登录”要勾上
账号前缀、后缀限制全部清空
“启用防劫持功能”关掉(GOM单机必关,会拦本地回环)
验证码功能取消勾选
如果误开了远程认证,M2会去连一个不存在的验证服务器,角色界面必弹认证失败。
F11里“角色验证”要开启,验证超时时间调到15秒,避免本机数据库稍慢就被判超时。
六、数据库层(DBC2000老端)
控制面板打开BDEAdministrator,确认:
别名HeroDB(大小写严格)
PATH=D:\MirServer\Mud2\DB(精确到DB文件夹)
能展开StdItems、Magic、Monster、Account、RoleDB表
Mud2\DB里必须有:
StdItems.DB
Magic.DB
Monster.DB
Account.DB(或IdDB相关文件)
RoleDB表结构完整
RoleDB缺MapID字段会导致加载角色失败,用数据库编辑器打开表,缺字段就补一个MapID,类型Integer,默认值3。
Account表里刚注册的账号,Status列必须是0。被标记为1或2的账号会被引擎判定异常,角色界面直接认证失败。
注册账号别用@#空格这类特殊字符,纯字母+数字最稳,比如test123。
七、新引擎(GOM/GEEAccess/SQLite)数据库
如果Mud2\DB里是HeroDB.mdb或GEEM2.db:
打开GameCenter→配置向导
数据库类型选Access或SQLite
数据库文件浏览指到实际mdb/db文件
保存后重启控制器
检查DBServer\DBConfig.ini:
DBType=Access
DBFile=D:\MirServer\Mud2\DB\HeroDB.mdb
别用DBC2000去配Access库,两套机制互斥。
八、登录器和引擎必须配套
这是单机认证失败的高频坑:
GOM端必须用GOM登录器配置器出的登录器
GEE端必须用GEE登录器配置器出的登录器
HERO端用HERO配套登录器
别拿网上万能登录器、别拿别的版本登录器硬套
部分引擎(如996)有识别码绑定:
打开登录器,复制界面上的“识别码”
进引擎控制器→安全/新建→登录器识别码,粘贴保存
Key文件要和服务端Mir200目录下的Key完全一致,不一致重新生成登录器覆盖
登录器放客户端根目录,别放桌面或下载目录运行。
九、测试模式没关的隐藏坑
有些端默认开着“单机测试模式”,登录器显示“单机测试”,角色区验证会被降级或拦截。
查两处:
Config\Server.ini里TestMode=1改成0,SingleServer=1改成0
Mir200\Envir下如果有TestMode.txt直接删
改完彻底关掉所有传奇进程再重启服务端。
十、启动顺序重新走一遍
别用之前那种“先开登录器再起M2”的习惯,严格按:
1.DBServer.exe(等“数据库启动成功”)
2.LoginSrv.exe(等“AuthServerStartSuccess”)
3.LoginGate.exe
4.SelGate.exe
5.RunGate.exe
6.M2Server.exe(等“初始化完成”)
全部起来后再双击登录器。中途有任何一个窗口闪退,先解决那个再往下走,别硬点。
十一、账号数据损坏兜底
如果账号能注册但一直认证失败,可能是账号库写坏了:
备份Mud2\DBServer\FDB和Mud2\Logsrv\IdDB
用数据库编辑器打开Account相关表,看注册账号是否真写进去了
乱码或打不开就换一份同版本完整DB覆盖
删掉旧账号,重新注册test123再试
十二、快速对照表
现象→优先查
能输账号但角色界面秒弹认证失败→LoginSrv没起/网关密码不对
进度条走到一半失败→角色表字段缺/数据库慢/超时
日志AuthTimeout→清进程重起,超时时间调15秒
日志DBServerConnectFail→DBC路径或HeroDB别名错
日志ClientVersionMismatch→登录器不是同引擎配套
显示“单机测试”字样→测试模式没关
换账号也一样失败→不是账号问题,是认证链路或数据库问题
十三、最后兜底
上面都试过还不行:
关杀软→加白名单→重启电脑清残留
备份Mud2\DB和账号数据
重新解压一份同版本纯净端到D:\MirServer
只做基础配置:127.0.0.1、默认端口、启动全部进程、用自带配置器生成登录器
先不迁自己改的Envir和脚本,原生端能进再逐步搬回
改任何配置前备份:
Mir200\!Setup.txt
Mir200\Envir
Mud2\DB
各网关ini
登录器配置
认证失败不是玄学,就是“认证服务没起全+密码/IP不对+数据库读不到角色”这三件事。日志里一个关键词就能定位,别盲改。
一、先清残留进程再看日志
任务管理器结束掉所有M2Server.exe、DBServer.exe、LoginSrv.exe、LoginGate.exe、SelGate.exe、RunGate.exe。
进服务端Log目录,打开M2Server.log和LoginSrv日志,搜这几个关键词:
DBServerConnectFail→数据库没通
LoginGateConnectFail→登录网关没连上M2
AuthTimeout→验证超时,通常是进程卡死或数据库慢
ClientVersionMismatch→登录器版本不对
RoleAuthError→角色表或字段问题
看到哪个关键词就直接跳到对应小节,不用全篇改。
二、确认认证服务和网关全在跑
角色界面认证依赖这条链:
客户端→LoginGate(登录网关)
→LoginSrv(账号认证服务)
→SelGate(角色网关)
→DBServer(数据库)
→M2Server(主引擎)
能输账号说明LoginGate通了,但后面任意一环没起都会弹“服务器认证失败”。
检查服务端目录里这些进程是否都在:
DBServer\DBServer.exe
LoginSrv\LoginSrv.exe
LoginGate\LoginGate.exe
SelGate\SelGate.exe
RunGate\RunGate.exe
Mir200\M2Server.exe
哪个黑窗一闪而过,先别急着重起:
去杀软隔离区翻一遍,LoginSrv.exe、SelGate.exe常被Defender当可疑进程删,恢复并加信任
右键该exe以管理员身份运行
看对应日志报什么,常见是端口占用或配置文件读坏
GOM/GEE用GameCenter一键启动的,也去任务管理器确认这六个进程都在,控制器显示“已启动”不代表子进程没崩。
三、IP和端口必须全链路一致
单机所有配置统一127.0.0.1,不允许留空、不允许混192.168.x.x。
检查这些文件:
Mir200\!Setup.txt
ServerIP=127.0.0.1
LocalIP=127.0.0.1
GateIP=127.0.0.1
LoginSrv\!addrtable.txt
格式:
游戏区名Title11127.0.0.1127.0.0.1127.0.0.1:7000
LoginGate\Config.ini
SelGate\Config.ini
RunGate\Config.ini
ServerIP=127.0.0.1
Port=对应端口(默认7000/7100/7200)
区名必须和登录器列表里的区名一字不差,多空格都不行。
查端口占用:
netstat-ano|findstr"7000"
netstat-ano|findstr"7100"
netstat-ano|findstr"7200"
有LISTENING就按PID结束占用进程。改端口必须整套一起改:网关ini、!Setup.txt、登录器列表三处同步,只改一边没用。
四、网关验证密码三处要对齐
GOM、HERO类引擎有“网关密码”机制,登录器、LoginGate、SelGate三处密码必须完全一致。
登录器配置器里如果填了网关密码(比如123456),那么:
LoginGate\Config.ini里Password或PassKey=123456
SelGate\Config.ini里对应密码项=123456
空密码就在登录器配置器里取消“启用网关密码”勾,别一边空一边填。
密码不对的表现就是:能到角色界面,一点登录或创建角色就弹认证失败,日志里可能出现AuthPasswordError。
五、M2里账号认证设置检查
进M2Server控制台:
选项→参数设置→账号控制(或安全相关)
确认几点:
没开“远程账号认证”,单机用本地认证
“允许普通账号登录”要勾上
账号前缀、后缀限制全部清空
“启用防劫持功能”关掉(GOM单机必关,会拦本地回环)
验证码功能取消勾选
如果误开了远程认证,M2会去连一个不存在的验证服务器,角色界面必弹认证失败。
F11里“角色验证”要开启,验证超时时间调到15秒,避免本机数据库稍慢就被判超时。
六、数据库层(DBC2000老端)
控制面板打开BDEAdministrator,确认:
别名HeroDB(大小写严格)
PATH=D:\MirServer\Mud2\DB(精确到DB文件夹)
能展开StdItems、Magic、Monster、Account、RoleDB表
Mud2\DB里必须有:
StdItems.DB
Magic.DB
Monster.DB
Account.DB(或IdDB相关文件)
RoleDB表结构完整
RoleDB缺MapID字段会导致加载角色失败,用数据库编辑器打开表,缺字段就补一个MapID,类型Integer,默认值3。
Account表里刚注册的账号,Status列必须是0。被标记为1或2的账号会被引擎判定异常,角色界面直接认证失败。
注册账号别用@#空格这类特殊字符,纯字母+数字最稳,比如test123。
七、新引擎(GOM/GEEAccess/SQLite)数据库
如果Mud2\DB里是HeroDB.mdb或GEEM2.db:
打开GameCenter→配置向导
数据库类型选Access或SQLite
数据库文件浏览指到实际mdb/db文件
保存后重启控制器
检查DBServer\DBConfig.ini:
DBType=Access
DBFile=D:\MirServer\Mud2\DB\HeroDB.mdb
别用DBC2000去配Access库,两套机制互斥。
八、登录器和引擎必须配套
这是单机认证失败的高频坑:
GOM端必须用GOM登录器配置器出的登录器
GEE端必须用GEE登录器配置器出的登录器
HERO端用HERO配套登录器
别拿网上万能登录器、别拿别的版本登录器硬套
部分引擎(如996)有识别码绑定:
打开登录器,复制界面上的“识别码”
进引擎控制器→安全/新建→登录器识别码,粘贴保存
Key文件要和服务端Mir200目录下的Key完全一致,不一致重新生成登录器覆盖
登录器放客户端根目录,别放桌面或下载目录运行。
九、测试模式没关的隐藏坑
有些端默认开着“单机测试模式”,登录器显示“单机测试”,角色区验证会被降级或拦截。
查两处:
Config\Server.ini里TestMode=1改成0,SingleServer=1改成0
Mir200\Envir下如果有TestMode.txt直接删
改完彻底关掉所有传奇进程再重启服务端。
十、启动顺序重新走一遍
别用之前那种“先开登录器再起M2”的习惯,严格按:
1.DBServer.exe(等“数据库启动成功”)
2.LoginSrv.exe(等“AuthServerStartSuccess”)
3.LoginGate.exe
4.SelGate.exe
5.RunGate.exe
6.M2Server.exe(等“初始化完成”)
全部起来后再双击登录器。中途有任何一个窗口闪退,先解决那个再往下走,别硬点。
十一、账号数据损坏兜底
如果账号能注册但一直认证失败,可能是账号库写坏了:
备份Mud2\DBServer\FDB和Mud2\Logsrv\IdDB
用数据库编辑器打开Account相关表,看注册账号是否真写进去了
乱码或打不开就换一份同版本完整DB覆盖
删掉旧账号,重新注册test123再试
十二、快速对照表
现象→优先查
能输账号但角色界面秒弹认证失败→LoginSrv没起/网关密码不对
进度条走到一半失败→角色表字段缺/数据库慢/超时
日志AuthTimeout→清进程重起,超时时间调15秒
日志DBServerConnectFail→DBC路径或HeroDB别名错
日志ClientVersionMismatch→登录器不是同引擎配套
显示“单机测试”字样→测试模式没关
换账号也一样失败→不是账号问题,是认证链路或数据库问题
十三、最后兜底
上面都试过还不行:
关杀软→加白名单→重启电脑清残留
备份Mud2\DB和账号数据
重新解压一份同版本纯净端到D:\MirServer
只做基础配置:127.0.0.1、默认端口、启动全部进程、用自带配置器生成登录器
先不迁自己改的Envir和脚本,原生端能进再逐步搬回
改任何配置前备份:
Mir200\!Setup.txt
Mir200\Envir
Mud2\DB
各网关ini
登录器配置
认证失败不是玄学,就是“认证服务没起全+密码/IP不对+数据库读不到角色”这三件事。日志里一个关键词就能定位,别盲改。

