一、核心原因:登录器与网关不配套
服务端启动成功但输入密码后卡死,90%是登录器与RunGate(游戏网关)的密码或协议不匹配。登录器发送的密码无法通过网关验证,连接被静默丢弃,表现为“没反应”。
1. 强制重新生成登录器
• 不要使用网上下载的通用登录器。必须使用你服务端 MirServer 目录下自带的 登录器生成器 或 LoginTool 文件夹内的工具。
- 核对配置:打开登录器生成器,检查 服务器地址 是否为 127.0.0.1(单机),并确认 网关密码 与 RunGate 设置一致。
- 生成并覆盖:生成新的登录器.exe,将其放入客户端根目录,删除旧的 Login.ini 或 ServerList.txt 配置文件,重新打开登录器测试。
2. 检查RunGate网关密码
• 打开 D:\MirServer\RunGate\Config.ini(或类似路径)。
- 找到 GatePassword= 这一行,记住后面的密码字符串。
• 在登录器生成器的“网关密码”或“通信密钥”栏填入完全相同的字符串。若此处不一致,必卡登录。
二、IP与端口配置:必须全链路为127.0.0.1
单机架设严禁使用本机局域网IP(如192.168.x.x),必须统一使用回环地址。
1. 修改关键配置文件
用记事本打开以下文件,将IP地址改为 127.0.0.1:
• D:\MirServer\Mir200\!setup.txt:找到 [Server] 段下的 ServerAddr。
- D:\MirServer\Mir200\!addrtable.txt:将第一行的IP改为127.0.0.1。
• D:\MirServer\LoginGate\Config.ini:检查 ServerAddr。
2. 端口占用排查
• 按 Win+R 输入 cmd 打开命令提示符。
• 输入命令:netstat -ano | findstr "7000"(7000为默认登录端口)。
- 如果显示被占用(PID非你的服务端进程),需结束占用进程,或修改服务端端口(在GameCenter配置向导中修改)。
三、服务端状态验证:确认7个窗口齐全
“启动成功”不代表所有必要进程都存活。请确认任务栏右下角或桌面上是否有以下7个关键窗口:
1. DBServer.exe(数据库)
2. LoginSrv.exe(登录服务)
3. LoginGate.exe(登录网关)
4. SelGate.exe(角色网关)
5. RunGate.exe(游戏网关)
6. GameCenter.exe(控制器)
7. M2Server.exe(核心引擎)
重点检查:如果 RunGate 窗口显示“端口被占用”或自动关闭,会导致输入密码后连接失败。此时需按上述步骤修改端口或结束冲突进程。
四、杀毒软件与PAK密码拦截
• 恢复被删文件:360、火绒等杀毒软件常会静默删除 MirServer 目录下的 .dll 插件或 RunGate.exe。检查杀毒软件隔离区,恢复并添加白名单。
- PAK密码错误:如果登录器能打开但点击“开始游戏”后黑屏或卡死,可能是客户端 Data 目录下的 NewopUI.pak 等文件密码错误。需用登录器生成器读取 Pak.txt 文件,确保密码正确。
五、数据库与账号注册测试
• 注册新账号:在登录界面尝试注册一个新账号。如果注册成功但登录卡死,问题在网关;如果注册失败(提示无法连接),问题在DBServer或IP配置。
- DBC2000路径:确认控制面板中的DBC2000数据库指向路径为 D:\MirServer\Mir200\DB(假设你的端在此路径),且数据库名称为 HeroDB。
六、终极快速修复方案
如果不想逐一排查,可采用“替换法”:
1. 下载与你服务端引擎版本完全一致的纯净引擎包(如GOM1108、GEE等)。
2. 将引擎包内的 M2Server.exe、RunGate.exe、LoginGate.exe 及配套DLL文件,全部覆盖到 MirServer 目录。
3. 使用引擎包自带的登录器生成器重新生成登录器。
4. 重启所有服务端程序。
此方案能解决因引擎文件缺失、版本不对应导致的绝大多数卡登录问题。

