一、先弄明白“7个程序”分别是啥
单机完整跑起来通常是这7个进程:
1. DBServer.exe 数据库服务
2. LoginSrv.exe 账号服务
3. LoginGate.exe 登录网关
4. SelGate.exe 角色网关
5. RunGate.exe 游戏网关
6. M2Server.exe 主引擎
7. LogDataServer.exe 日志服务(部分端可省,但最好有)
你说的“第3个程序报错”,要看你控制器里排列顺序。如果是 DBServer → LoginSrv → LoginGate 这种排法,第3个就是 LoginGate;如果是 DBServer → LoginGate → M2Server 排法,第3个就是 M2 本身崩了。
判断方法很简单:看哪个窗口弹出“M2Server.exe-应用程序错误”那个红叉,标题栏写啥就是啥崩了。
只显示6个程序,基本是 M2 或 RunGate 启动失败自动退出。M2 一崩,RunGate 连不上也会跟着闪退,所以看起来就少一个。
能创建英雄说明 DBServer、LoginSrv、SelGate 都是通的,问题卡在 M2 加载游戏世界那一步,以及客户端收数据那一步。
二、M2Server.exe 应用程序错误先这么修
1. 杀软把文件吃了
进杀软隔离区,把 M2Server.exe、DBServer.exe、各个网关 exe、整个 MirServer 目录加白名单。恢复被隔离文件,别只加白不放文件。
检查 Mir200\M2Server.exe 大小,正常应该 5MB 以上,如果 0KB 或者几百 KB 就是解压损坏或被删,从原包重新解压覆盖。
2. 运行库缺失(Win10/Win11 最高频)
装一套 VC++ 运行库合集:
• Visual C++ 2005 x86
• 2008 x86
• 2010 x86
• 2012 x86
• 2013 x86
• 2015-2022 x86(重点,必须装32位)
哪怕你系统是64位,传奇服务端是32位程序,只装 x64 运行库没用。.NET Framework 4.0 以上也装一下。
装完重启电脑再起服务端。
3. 兼容性和权限
右键 M2Server.exe → 属性 → 兼容性:
• 勾“以兼容模式运行”,选 Windows 7 或 XP SP3
• 勾“以管理员身份运行此程序”
整个 MirServer 文件夹右键属性 → 安全 → 当前用户完全控制。引擎控制器 GameCenter.exe 也右键“以管理员身份运行”。
4. DBC2000 / HeroDB 配置
控制面板 → BDE Administrator(32位那个):
• 别名 HeroDB,PATH 指向 D:\MirServer\Mud2\DB
• 路径纯英文,别带中文、空格、括号
• LANGDRIVER 选 Chinese(PRC) ANSI
• Apply 保存
确认 Mud2\DB 下 StdItems.DB、Magic.DB、Monster.DB 都不是 0KB。
5. !Setup.txt 检查
打开 Mir200\!Setup.txt,重点看:
• DBAddr=127.0.0.1
• ServerAddr=127.0.0.1
• DBDir 路径和实际 Mud2\DB 一致
• 端口没被改乱
别手滑在多出来的行后面留空格,编码用 ANSI。
6. 端口被占用
管理员CMD执行:
netstat -ano | findstr "7000"
netstat -ano | findstr "7100"
netstat -ano | findstr "7200"
看到 PID 不是服务端进程,就去任务管理器详细信息里按 PID 找到酷狗、迅雷、QQ音乐、上一次没关干净的 M2,结束掉。
残留进程先清:任务管理器里把 dbserver、m2server、logingate、selgate、rungate 全结束,再起控制器。
7. 插件冲突
把 Mir200\Plugins 里自定义 dll 先移走,只留引擎原生插件,冷启动试一次。能起来再一个个加回。
8. 脚本错误
M2 崩溃前最后一行日志如果提到某个 NPC 或 QFunction,进 Envir\Market_Def 和 Envir\MapQuest_Def,把最近改的脚本先注释掉。
三、正确的启动顺序
别双击单个 exe,用 GameCenter 一键起,或者手动按这个顺序:
1. DBServer(看日志:数据库就绪)
2. LoginSrv
3. LoginGate(监听7000)
4. SelGate(监听7100)
5. RunGate(监听7200)
6. M2Server(最后起,加载地图/怪物/物品)
每个窗口起来看一眼没报错再起下一个。M2 窗口出现“Ready”或“监听中”才算真起来了。
四、创建英雄后点开始黑屏的处理
能建角色说明登录链路通了,黑屏是“进游戏世界”这一步断的。按下面顺序排查:
1. RunGate 没起来或端口不对
任务管理器确认 RunGate.exe 在跑。M2 控制台看有没有“等待网关连接”的循环日志。
RunGate\Config.ini 里:
• ListenAddr=0.0.0.0 或 127.0.0.1
• ServerIP=127.0.0.1
• 端口 7200 和 !Setup.txt 里一致
2. 地图文件没给客户端
把服务端 Mir200\Map 里所有 .map 文件,复制到客户端根目录的 Map 文件夹覆盖。
出生点地图确认存在:打开 Envir\StartPoint.txt,第一行是新人出生地图编号,比如 3 就对应 Map\3.map,文件必须在。
3. 补丁没打对(黑屏第一杀手)
服务端压缩包里一般有个“补丁”或版本名文件夹,里面是 Data、Map、Graphics、Sound 这些。
正确做法:
• 把补丁文件夹里的 Data 合并覆盖到客户端 Data
• Graphics 合并覆盖到客户端 Graphics
• 自定义补丁文件夹(比如 heshang、xxx品牌名)整个文件夹原样拷到客户端根目录,别拆开只复制里面的 data
GOM/GEE 引擎的 PAK 加密补丁,登录器配置器里要逐条填 PAK 路径和密码,点“检查所有PAK”必须全绿。有一个红字就黑屏。
4. 微端模式别勾
登录器配置器里“微端模式”单机环境坚决不勾。勾了客户端会去联网拉资源,本地没微端服务就一直黑。
5. 登录器和引擎不配套
Hero 端用 Hero 登录器,GOM 用 GOM 登录器,LEG 用 LEG 登录器。拿万能登录器或者别的端登录器硬套,能出列表能建角色,但进游戏必黑。
用服务端自带的登录器配置器重新生成一个,IP 填 127.0.0.1,端口 7000。
6. 客户端缓存清一下
关掉客户端和登录器,删客户端根目录下的:
• mir.dat
• cache 文件夹
• Data 下临时 wil/wzl 缓存(不确定就别删,只删 cache)
重新开登录器进游戏。
7. 显示模式适配
登录器设置里:
• 分辨率改 800×600
• 窗口模式,别全屏
• 关高清地图(老客户端开高清直接黑)
• 兼容性勾 Windows 7
笔记本双显卡的,在显卡控制面板里给登录器强制用集成显卡试试。
8. UI 补丁损坏
黑屏但有声音、能按快捷键,说明是界面补丁问题。把服务端配套的 NewopUI.pak 之类 UI 文件重新覆盖到客户端 Data 目录。
五、快速定位动线(照着做)
第一步:关杀软实时防护,加白名单,恢复隔离文件
第二步:装 VC++ x86 运行库合集,重启
第三步:任务管理器清掉所有残留网关和M2进程
第四步:以管理员身份起 GameCenter,看7个窗口是否全起
第五步:M2 还崩就看 M2 日志最后一行报错,对症修
第六步:M2 起来后能建角色但黑屏,先拷 Map 文件到客户端
第七步:合并覆盖 Data/Graphics 补丁,PAK 密码核对
第八步:重新生成配套登录器,关微端,窗口模式 800x600
第九步:进游戏
六、几个容易漏的暗坑
• M2 崩了但控制台一闪而过,去 Mir200\Log\SystemLog.txt 看崩溃前最后一条
• 服务端放桌面或“传奇单机版”这种中文路径,DBC 直接读不了
• 只覆盖了 Data 没覆盖 Map,表现就是能进但地图黑
• PAK 密码文件 Pak.txt 没放客户端 Data 目录,贴图全读不出
• 登录器列表文件存成 UTF-8 带 BOM,读出来 IP 乱码连不上
• 防火墙没放行 7000-7200,Win10 下表现时好时坏
• 英雄系统端用了普通1.76客户端,缺英雄界面文件必黑屏,换完整客户端
七、最小验证法
不想一步步排,先做个最小验证:
1. 备份当前客户端
2. 用服务端原包里自带的“完整客户端+登录器”组合(很多端作者会放一个 Client 目录)
3. 什么都不改,IP 127.0.0.1,直接起
4. 能进游戏再把自己的补丁小步加
能进说明是原补丁/客户端不匹配,不是服务端坏了。
M2 报错和黑屏看着像两个毛病,其实是连锁的:M2 没稳,网关起不全,客户端收不到游戏世界数据,表现就是建完角色黑屏。先把 M2 跑稳,再补客户端资源,顺序不能反。
传奇单机M2应用程序报错与黑屏少程序完整修复
来源:
作者:
点击:

