一、报错根源与核心矛盾
你遇到的 加载物品(Idx:688 Name:(GM)火龙圣剑)数据失败 及 物品数据库加载失败!!!Code= -100,本质是服务端引擎无法读取或解析物品数据库文件。虽然你自检了编号无重复,但 Code=-100 通常指向更底层的路径配置错误或数据库连接失效,而非单纯的物品数据填写问题。
关键矛盾点:你提供的 !Setup.txt 中 [Share] 路径指向了 H:\MirServer\...,但绝大多数传奇架设教程默认路径为 D:\MirServer。若你的 DBC2000 数据库别名(Alias)配置或引擎实际读取路径仍指向 D 盘,就会因“找不到文件”而触发 -100 错误。
二、路径与DBC配置修正(解决Code=-100)
1. 修正DBC2000数据库路径
Code=-100 的首要排查点是数据库连接。打开控制面板中的 BDE Administrator(BDE管理器):
- 找到左侧别名 HeroDB(部分版本为 Mir2DB)。
• 检查右侧 PATH 路径是否严格指向你的实际目录:H:\MirServer\Mud2\DB。
- 常见错误:很多人习惯性设为 D:\...,导致引擎在 H 盘找不到数据库文件。修改后点击 Apply 保存。
2. 核对服务端实际位置
你提供的 [Share] 配置显示所有路径均在 H 盘。请确认:
- 整个 MirServer 文件夹是否确实放在 H盘根目录。
• 若服务端实际在 D 盘,而 !Setup.txt 配置写成了 H 盘,需将配置中的 H: 全部替换为 D:,保持路径绝对一致。
3. 重启数据库与服务端
修改 DBC 路径或配置文件后,必须完全关闭 M2Server.exe、DBServer.exe 等所有服务端进程,等待几秒后重新启动。单纯的“重读数据”命令可能无法修复底层连接错误。
三、自制武器“(GM)火龙圣剑”加载失败排查
解决了 -100 错误后,再针对性修复 Idx:688 的物品加载问题。
1. 检查字段完整性(必填项)
在 DBC2000 中打开 StdItems.DB(物品数据库),找到第 688 行(或通过 Name 列查找):
- 确认关键字段:Name(名称)、StdMode(物品类型)、Shape(外观代码)、Weight(重量)、DuraMax(持久)必须填写有效数值,不能为空。
- 特殊字符:名称中的括号 (GM) 通常不会导致加载失败,但建议暂时改为纯英文(如 GM火龙圣剑)进行测试,排除编码问题。
2. 数据复制对比法(推荐)
如果手动添加总报错,采用“复制-修改”策略:
- 在数据库中找一把能正常加载的武器(如 Idx 1 的木剑)。
• 复制该行的所有字段数据,粘贴到 688 行。
- 仅修改 Name 为 (GM)火龙圣剑,以及 Looks(外观)、AC(攻击)等显性属性。
- 保存后重启 M2,若能加载,说明你之前漏填了某些隐藏的必要字段。
3. 数据库排序与修复
• 排序工具:使用“万游设置器”或“传奇数据库排序工具”对 StdItems.DB 进行重新排序。索引(Idx)混乱有时会导致引擎读取越界。
- 文件替换:若持续报错,从原始服务端压缩包中提取干净的 StdItems.DB 覆盖现有文件,再重新添加你的武器(注意备份原数据)。
四、操作流程与验证
1. 关闭服务端:结束所有网关及 M2 进程。
2. 修正路径:确保 BDE 的 HeroDB 路径 = H:\MirServer\Mud2\DB。
3. 修正配置:确认 !Setup.txt 中的 EnvirDir、MapDir 等路径均为 H:\...。
4. 清理缓存:删除 MirServer\Mir200\Share 目录下的 .tmp 临时文件。
5. 重启测试:按顺序启动 DBServer -> LoginSrv -> M2Server,观察启动日志是否还有红色报错。
若 M2 启动时不再报 Code=-100,且日志显示“加载物品数据库完成”,则底层连接已修复。此时若仍提示 688 号物品失败,则集中精力按第三节方法修正 DBC 数据字段。

