“能注册账号、但建完角色点进入一直连接服务器、不开门”,说明账号链路通了,游戏网关到 M2 的进场链路断了。M2 窗口开着不代表门开了,LoginSrv 能建号也不代表 GameGate/RunGate 跟 M2 握上手。
先盯进程。单机架设本机该活的窗口至少有:DBServer、LoginSrv、LoginGate、SelGate/SelectGate、RunGate/GameGate、M2Server。少一个都不开门。M2 底部状态要看到“登录网关连接成功”“游戏网关连接成功”“地图加载完成”,只看到“等待网关连接”就是网关没连回 M2。
IP 没统一是最常见根因。单机全部填 127.0.0.1,别混 192.168.x.x、0.0.0.0、公网 IP。要核的文件:
• Mir200\!Setup.txt 里 ServerAddr、ServerIP、GateAddr
- LoginSrv\!addrtable.txt 里三处地址
• LoginGate 配置里的 GateAddr、GatePort
• RunGate/GameGate 配置里的上游 M2 IP 和下游监听端口
- 登录器列表 ServerList.txt / list.txt:名称127.0.0.1 7000,微端再加 127.0.0.1
8000
只要一端写 127.0.0.1、另一端写局域网 IP,建号能过、进门卡死。
端口看监听。cmd 里跑:
netstat -ano | findstr ":7000"
netstat -ano | findstr ":7200"
没 LISTENING,就是 LoginGate / GameGate 没起来或被占用。7000、7100、7200、8000 常被 IIS、迅雷、QQ 音乐、旧端残留进程吃了。看到占用就按 PID 杀,或者全局改 7001/7101/7201/8001,登录器列表同步改,别只改 M2 不改登录器。
启动顺序乱也会假活。老 GOM/Hero 端顺序:
1. DBServer(连 HeroDB 成功)
2. LoginSrv
3. LoginGate
4. SelGate
5. RunGate / GameGate
6. M2Server 最后起,等它读地图、NPC、怪物、技能、脚本
先点 M2 再开网关,M2 一直在等网关,客户端就永远“连接服务器”。
杀软误删最阴。Defender、360、火绒会把 LoginGate.exe、RunGate.exe、M2Server.exe、rungate.dll 静默隔离。表面“启动成功”,实际通信模块没了。进杀软隔离区恢复,整个 D:\MirServer 加白,重解压被删的 exe,再以管理员身份运行。
登录器和引擎不配套直接不开门。GOM 用 GOM 登录器,GEE 用 GEE 登录器,Hero 用 Hero 登录器,带 ESP / 微端 / 三端的中控还得用同包配置器生成。拿别处下的“万能登录器”连本地 GOM,能出列表、能注册,但进图握手失败。正确做法:用服务端自带登录器配置器,IP 127.0.0.1,端口跟 LoginGate 一致,生成新登录器覆盖到客户端根目录。
M2 有红字就先消红字。常见:
• DBC Table not found → HeroDB 没建或 PATH 错
• 端口已被占用 / Bind port failed → 改端口或杀占用
• 脚本错误 / 未知命令 → 引擎版本和版本包脚本不匹配,PlugList.txt 里插件 DLL 缺失也会卡登录
- 地图加载失败 → Mir200\Map 里 0.map / 3.map 缺失
• PlugList 插件加载失败 → 先注释掉非必要插件,只留基础插件测开门
M2 在跑脚本死循环或插件崩态时,客户端表现就是“连接服务器”转圈,最后超时回登录。
防火墙和权限。单机临时关 Windows Defender 防火墙、关第三方杀软测;能进就去防火墙高级设置加例外,放行 LoginGate、GameGate、SelGate、RunGate、M2Server 的 TCP 端口。Win10/11 上这些 exe 全部右键“以管理员身份运行”,放 D:\MirServer 别放桌面、别放 Program Files、别带中文空格。
DBC 类端再补一句:M2 说数据库连接失败,HeroDB 别名、PATH 指到 Mir200\Envir\DB 或 Mud2\DB 必须一致,BDE 改完要 Apply/Commit,改完重启机器再起端。MySQL 类端(GEE/战神/三端)则是 Config/DB.ini 里 DBHost、DBPort、DBUser、DBPass、DBName 跟 Navicat 里建的库对上,中控 serverlist.json 的 IP 和端口跟网关一致。
列表文件本身也会坑人。ServerList.txt 必须 ANSI 编码,用记事本存成 UTF-8 会读空;格式必须 名称127.0.0.1
7000,区名跟 M2 里 ServerName 别差空格。浏览器开 http://127.0.0.1/list.txt 能看到纯文本才算列表服务正常。
微端/三端还要看资源网关。PC 能进、安卓卡 99%,是 UpdateGate / 热更服务没起,project.manifest 里 IP 没改本机,或者 8080/8081 被占。先 PC 登录器进土城、打怪、仓库、NPC 全通,再搞微端和安卓,别一上来三端一起调。
最快排错顺序:
1. 任务管理器确认 6 个核心进程都在,不闪退
2. M2 底部看“网关连接成功”而不是“等待网关”
3. netstat 看 7000/7100/7200 是否 LISTENING
4. 登录器列表 127.0.0.1:端口,编码 ANSI
5. 关防火墙/杀软再测
6. 用服务端自带配置器重生成登录器
7. M2 红字先消,再谈进门
8. 地图文件、MapInfo、怪物刷新、出生点(Map=0,X/Y=330 附近)核对
出生点配错也会像“不开门”:角色进了空地图或非法坐标,客户端卡加载。看 Mir200\Envir\QuestDiary\Config\NewPlayer.ini 或版本里的新手出生配置,地图号、坐标、地图文件要对得上。
一键启动包也别迷信。点“启动所有服务”后,必须逐个看黑窗日志:DBServer 连库成功、LoginSrv 加载区、LoginGate 监听 7000、GameGate 连 M2 OK、M2 加载完 Map/Envir 无红字。任意一个窗口闪一下就没了,就是那个模块挂了,不是“M2 开了就完事”。
实在懒得挨个查,就做三件事:
• 服务端移纯英文路径 D:\MirServer,全部 IP 改 127.0.0.1
• 关杀软防火墙,以管理员重按 DBServer→LoginSrv→LoginGate→SelGate→GameGate→M2 起
- 用包里原配登录器配置器重生成登录器,列表写 127.0.0.1|7000
这三步能救回大部分“能注册、不开门”的单机情况。

