HERO引擎传奇常见问题汇总与对应解决办法

来源: 作者: 点击:
HERO引擎(HeroM2)老归老,但单机和局域网架它的人最多。下面按“起不来、开门异常、进游戏后报错、功能脚本、外网/换机”五块写,不绕弯。

一、M2 一启动就闪退 / 报 BDE 210D、22B1、0xc000007b
- 先确认 DBC2000 装了且 BDE Administrator 里建了 HeroDB,PATH 指向 D:\MirServer\Mud2\DB 或 D:\MirServer\Mir200\Envir\DB,别带中文、别带空格、别放桌面/Program Files。
- Win10/11 下 GameCenter.exe、M2Server.exe、LoginGate.exe、RunGate.exe 全部右键:管理员身份运行 + Windows 7 兼容模式。
• 区域格式改短日期 yyyy-M-d,关“Beta: 使用 Unicode UTF-8”那个开关,不然 HERO 读库乱码或报 210D。

- 缺运行库就补 VC++ 2005-2022、.NET 4.8、DirectX9。
• 插件冲突把 Mir200\Plugins 暂清空,能起再一个个加回。

二、M2 红字:Table does not exist / Open HeroDB Error / StdItems.DB not found
HERO 不吃 MySQL 那套,靠 BDE+DBC2000 读 Paradox 表。
• BDE Administrator → Databases → New → STANDARD → 名字严格 HeroDB(大小写别乱)→ PATH 选 DB 目录 → Object 里 Apply/Commit。

- 别只看“建了别名”,要能展开看到 StdItems、Magic、Monster、Account 这些表才算数。
• DB 目录里文件 0KB、被杀软删了、跨引擎混库(把 GOM 的 HeroDB 塞进 HERO 端)都会炸。原包重解压 Mud2\DB 覆盖,整个 MirServer 加杀软白名单。

- !Setup.txt 里 DBName=HeroDB,DBServer 的 DBService.ini / !ServerInfo.txt 里库名也必须一字不差。
• 64 位系统 BDE 没注册好,管理员 CMD 跑 regsvr32 "C:\Program Files (x86)\Borland\BDE\idapi32.dll",再开 BDE。

三、能注册账号,但点进入一直“连接服务器”/不开门
HERO 启动铁序:DBServer → LoginSrv → LoginGate(7000) → SelGate(7100) → RunGate(7200) → M2Server。
漏一个就不开门。
• netstat -ano | findstr ":7000" 看是不是被迅雷/酷狗/IIS/上次的 M2 残留占了;占用了结束 PID 或全局改 7001/7101/7201,登录器列表同步改。

- 单机所有地方填 127.0.0.1:!Setup.txt、LoginSrv\!addrtable.txt、LoginGate.ini、SelGate.ini、RunGate.ini、登录器列表。
• 列表文件必须 ANSI,格式 测试区127.0.0.1
7000,用 UTF-8 存就读空。

• 防火墙和 Defender 拦了 LoginGate/RunGate,临时全关测,能进再去加例外。

• M2 里【选项-参数设置-客户端控制】别勾“禁止 127.0.0.1 连接”。

四、开门后弹“认证失败 / 授权失败 / 列表认证失败”
同套端换电脑最容易出现。
• HERO 商业端常绑机器码/Key,旧电脑的 license、auth、key.dat 拷过来没用,要用本机授权器重算 Key 再生成登录器。

• HeroDB 里 Account 表账号状态异常、密码字段错位,也会在登录后卡认证;用字母数字建号,别用特殊字符。

• DBServer 没真连上 HeroDB,LoginSrv 拿不到数据,M2 开门后做版本校验就拒。

- 登录器不是同包生成的也别用,HERO 端塞 GOM 登录器协议不对,表现就是列表有、进门认证挂。

五、进游戏黑屏 / 花屏 / 装备白条 / 怪物问号 / 内功连击面板不显示
这不是 M2 死,是客户端补丁没对上。
- HERO 连击内功版要 Prguse.wil、Combo.wil、内功 PAK、MIR2.dat 这些扩展资源,用错客户端(比如裸 1.76 或 10 周年精简版)必花屏。
• 服务端 ClientPatch / Data / Map / Wav / PAK 按目录覆盖到客户端根,别只盖 Data 不盖 Map,也别把 PAK 放错文件夹。

- 怪物名中文乱码:BDE 里 HeroDB 的 LANGDRIVER 设 Chinese (PRC) ANSI。
• 进图黑块:Map 目录里 0.map、3.map 缺失,或 MapInfo.txt 有地图号但没对应 .map 文件。

六、建角色后卡死 / 角色消失 / 回城掉线
• DBServer 没起或 DBPath 错,角色写不进 HeroDB。

• 出生点配错:MapInfo / 新手出生脚本里地图号或坐标非法,客户端一直加载。

• MonGen.txt 把 BOSS 刷在土城、坐标越界,进图就卡加载或瞬移回城。

• 上次 M2 没关干净,端口 10048/10061 残留,再起一个 M2 半死不活,任务管理器结束 M2Server/LoginGate 残留再起。

七、NPC 不显示 / 点 NPC 没反应 / 脚本报错
HERO 脚本在 Mir200\Envir\Market_Def、Market_Script、QuestDiary。
• #IF / #ACT / #ELSE / #END 必须成对,变量名大小写敏感。

- QFunction-0.txt 里写了不存在的触发命令,M2 刷“未知命令/脚本错误”,严重时光触发就卡角色。
• 改完不用关服,M2 里 @ReloadNpc 文件名 热重载。

• 商店不卖东西看 Shop.txt 分隔符,爆率不生效看 MonItems\怪物名.txt 格式:鹿 1/10 金创药(小)。

八、物品数据库改完 M2 崩
• StdItems.DB 里 Stdmode、Shape、Dura、AC、MAC 字段错位,M2 加载就红字。

• 用 DBC2000 内部编辑器改,别用 Excel 存、也别记事本改 DB 文件。

- 加了新装备但客户端没对应 Shape 资源,穿上变白条、脱了卡背包。
• 物品名前后有空格、全角括号、BOM 头,HERO 解析直接歪。

九、换电脑能玩、本机不行
别信“DBC 装完自带 net 数据库”,那是对方以前建过别名。
对照能玩机器:
1. BDE 别名叫 HeroDB 还是 Net1/Net2/Net3
2. PATH 指到哪个 DB 目录
3. !Setup.txt 和 DBServer 里库名
4. 列表 IP 和端口
5. 有没有机器码授权文件
本机照着建一模一样的别名和路径,Mud2\DB 物理文件整目录拷过来(.db/.px/.yg/.val 配套别只拷单个 .db)。

十、单机转局域网 / 外网才该碰的事
本机 127.0.0.1 没跑顺,别碰这些:
• 路由器映射 7000-7500 TCP

• 云服务器安全组放行网关端口

• 登录器列表改内网/公网 IP,引擎配置向导里取消“动态 IP”再填

• 家用宽带封 7000 段就把网关整体挪到 50000+,引擎和登录器一起改

- 外网才考虑高防、CC、支付回调、数据库不许公网连

十一、HERO 单机最小自检清单
• 路径 D:\MirServer 纯英文

• 关 Defender/360/火绒实时防护,加白名单

• BDE 建 HeroDB,能浏览 Account/StdItems/Magic/Monster

- IP 全 127.0.0.1,端口 7000/7100/7200
• 启动顺序 DBServer→LoginSrv→LoginGate→SelGate→RunGate→M2

• M2 末行“游戏服务启动完成”无红字

- 浏览器开 http://127.0.0.1/list.txt 出纯文本
• 同包登录器生成器出登录器,放客户端根

• 补丁按包覆盖 Data/Map/PAK/Wil

• 建号进比奇,打鹿加经验、爆肉、开仓库、点 NPC 不红字

十二、最容易被忽略的 5 个坑
1. 列表文件 UTF-8 存了,登录器读空
2. BDE 改完没 Apply,重启电脑才发现没保存
3. 网关 exe 被杀软删了节,能起但转发包失败
4. 用管理员开 M2,但 DB 目录没给 Users 完全控制,读库半截
5. 改了 !Setup.txt 不重启 M2,还以为配置没生效

HERO 引擎没有多神秘,核心就三件事:BDE/HeroDB 读得到表、网关按序起来、登录器和服务端同包同 IP 同端口。这三层通了,剩下都是脚本、爆率、地图、补丁的细活。红字别怕,先抄前 30 行日志里的关键词(HeroDB / Table / Gate / Port / Script / Map),比重下十个端都管用。