传奇GOM引擎单机启动异常排查:从闪退到报错的实操修复

来源: 作者: 点击:
先把服务端整个目录加到杀毒白名单,再关 Windows Defender 实时防护。GOM 的 M2Server.exe、LoginGate.exe、GomEngine.dll、Key.lic 经常被误删,去隔离区恢复。恢复完右键引擎控制器和 M2Server.exe,属性-兼容性,勾以管理员身份运行,老引擎顺手选兼容 Windows 7。

路径必须纯英文无空格。别放桌面,别放“D:\传奇单机”这种目录,改成 D:\MirServer。中文路径会让引擎读不到 !Setup.txt、MapInfo、DB 路径,表现就是双击没反应或者中途崩。

装运行库。VC++ 2005/2008/2010/2012/2013/2015-2022 的 x86 和 x64 都装一遍,.NET Framework 4.0 以上,DirectX 9.0c 也补上。缺 dll 闪退基本是这里的事。

数据库看引擎类型:
老 GOM 用 DBC2000,控制面板 BDE Administrator 建别名 HeroDB,路径指到 MirServer\Mud2\DB(或 Mir200\DB,看版本结构)。Win10/11 对 DB 目录给写入权限。
新 64 位端用 Access 驱动或 MySQL,看 DBServer.ini 里 DBAddr、DBUser、DBPass,单机填 127.0.0.1,账号密码跟本地库一致。
BDE 报初始化失败,删 C 盘根目录 PDOXUSRS.NET,注册表搜 SHAREDMEMLOCATION 改成 0x5BDE,重启。

清残留进程。任务管理器结束 M2Server.exe、GOMEngine.exe、LoginGate.exe、RunGate.exe,再起。上次没正常关,端口和句柄还占着,再点就是异常。

查端口。CMD 里:
netstat -ano | findstr "7000"
netstat -ano | findstr "7100"
netstat -ano | findstr "7200"
有 PID 就去任务管理器结束占用进程(迅雷、酷狗、浏览器常占)。或者改 !Setup.txt、各网关 ini 里的端口,登录器列表同步改。

插件先架空测。打开 Mir200\PlugList.txt,内容先清空,PlugClient 里 dll 缺了或者跟引擎大版本不对就会 Code:0、加载失败、M2 红字刷屏。能起来再一个个加回插件。

启动顺序别乱:
1. DBC/MySQL 服务正常
2. LoginGate 登录网关
3. DBServer
4. RunGate / 游戏网关
5. M2Server 主引擎
看 M2 日志,出现“数据库初始化成功”“网关监听成功”才算正常。卡在地图加载、脚本报错就查 Envir 下最近改过的脚本和 MapInfo.txt。

配置参数核对:
Mir200\!Setup.txt 里 BaseDir、DataPath、MapPath 路径跟实际目录一致,全英文。
单机 IP 全部 127.0.0.1,别填外网 IP。
GomEngine.ini / M2.ini 里端口和网关端口对齐。
列表文件 serverlist.txt 或 serverinfo.txt 用 ANSI 编码,格式:区名127.0.0.1 7000 1
分组。

登录器必须同引擎配套。用这个端自带的登录器配置器生成,别拿别的版本登录器凑。Key 文件、插件组件、PAK 密码要对得上,不然进游戏黑屏先不管,启动阶段就可能校验失败。

最后看 Log 目录。M2Server 日志里如果有:
- Bind failed / Port already in use → 端口
• DB connect fail → 数据库别名或账号

• Load plugin fail → 插件

• Access violation → 脚本变量、地图/物品 DB 损坏、路径错

对着日志改,比重装整个端快。

最小复现办法:原包不放任何补丁、不清插件列表先备份,路径改纯英文,杀毒白名单,管理员启动,只起网关+M2。能起来再逐步加补丁和脚本,哪一步崩了就是哪一层的问题。