传奇单机架设物品库魔法库总报错原因

来源: 作者: 点击:
物品数据库(StdItems.DB / ItemDB.txt)和魔法数据库(Magic.DB / Magic.txt)一起炸,很少是“电脑不行”,大多是文件、编码、路径、DBC 配置、引擎版本这五条里至少一条没对上。M2 日志里常见“物品数据库错误”“魔法数据库加载异常”“第 X 行格式错误”“Field xxx not found”“HeroDB Connected 但记录 0 条”,各自对应不同病根。

一、文件坏了或 0KB
解压中断、杀软误删、U 盘拷贝断流、网盘下载不全,都会让 StdItems.DB / Magic.DB 变成 0 字节或几百字节。文件在,但引擎读出来没记录,表现就是上线后包裹空、技能空、M2 狂刷“物品不存在”。先去 Mud2\DB 或 Mir200\Envir 看文件大小:正常几十 KB 到几 MB,0KB 直接从原端重新解压覆盖,解压前关掉某 60、某管家、Defender。

二、路径带中文/空格/括号
D:\游戏\传奇服务端、C:\Program Files (x86)\MirServer 这种路,老 BDE/DBC2000 链直接懵。BDE 能看见目录,但 Paradox 库读出来是空,物品魔法全丢。服务端放 D:\MirServer 或 E:\MirServer,纯英文、短路径、根目录,比重装引擎管用。

三、DBC2000 / HeroDB 配错
HERO、BLUE、LEG 老端靠 DBC2000 读 .db。BDE Administrator 里别名必须是 HeroDB(herodb、HeroDb、HeroBD 都不行),PATH 指向 Mud2\DB,末尾别带反斜杠,LANGDRIVER 选 Chinese(PRC) ANSI。别名、PATH、!Setup.txt 里 DBName 三者不一致,DBServer 起来也是空库。64 位系统装 32 位 DBC2000 正常,但别拿 64 位 BDE 配 32 位服务端。

四、文本库被记事本存成 UTF-8 / 带 BOM
GOM/GEE 系常兼读 StdItems.txt、Magic.txt。原文件是 ANSI/GBK,你用记事本打开改个名字,再保存变成 UTF-8 BOM,引擎按 ANSI 解析,第一行就偏移,后面全错:物品名乱码、技能参数错位、第 3 行第 5 字段不是数字直接中断加载。Notepad++ 打开,编码转 ANSI,换行符转 Windows(CRLF),删隐藏空行再存。

五、字段数/分隔符不对
文本模式里每行字段数固定,Tab 分隔和空格分隔不能混。手加物品时“多一个空格、少一个耐久、类型写药品不写 0、特效列空着不填 0”,引擎读到非预期类型就报格式错误。复制已有有效行改数值,比手敲一行安全。ID 重复、ID 超 65535、魔法 Level/MP/AniCount 填负数或离谱值,也会让魔法库加载到一半崩。

六、跨引擎套库:老库塞新端、新库塞老端
HERO 1.76 的 StdItems.DB 可能 22–24 列,GOM/GEE/合击端 30–40 列(多了 Effect、Bind、SuitID、Element、Penetrate、DropRatePlus 之类)。把 GOM 的 Magic.DB 扔进 HERO 端,新字段老端不认识,报 Field not found;把 HERO 老库扔进 GOM 端,关键列错位,技能书点不开、装备属性全歪。别单换 DB,要换就整体用同引擎同版本完整包;真要移植物品,用配套数据库编辑器按目标端结构加列。

七、文件只读 / 被占用 / 权限不足
从网盘下的包 DB 文件夹带“只读”,Win10/11 还爱把 Paradox 库当压缩文件处理,右键属性里“压缩内容以便节省磁盘空间”勾上,老引擎直接拒读。上次 M2/DBServer 没关干净,进程锁着 StdItems.DB,你再起一次读的是空缓存。处理:结束所有 M2Server/DBServer/LoginSrv 进程,取消只读,文件夹安全里给当前用户完全控制,再启。

八、物品和魔法互相关联但只对了一半
技能书、魔法药、带特效武器都不是独立存在的:StdItems 里“魔法 ID”要能在 Magic.DB 里找到对应技能。物品里写了 MagicID=12,Magic.DB 里 12 是空行或重复 ID,进游戏点书没反应,M2 报魔法数据异常。用物品编辑器打开,逐本技能书对 Magic.DB 的 ID、职业、等级、耗蓝、动画帧,错位比缺文件还难查。

九、引擎设置里没勾加载魔法
M2 → 游戏设置 → 魔法设置,没勾“启用魔法系统 / 加载魔法数据库”,或者 Envir 里 Magic.txt 被删,物品端不报错、魔法端空加载。这种不算文件坏,是配置没开,勾上重启就行。

十、快速自查顺序
1. 服务端在 D:\MirServer,无中文无空格。
2. 关杀软,DB 文件夹取消只读、取消 NTFS 压缩。
3. Mud2\DB 里 StdItems.DB、Magic.DB 非 0KB。
4. DBC2000 别名 HeroDB,PATH 指对,LANGDRVIER 中文 ANSI。
5. !Setup.txt / DBServer.ini 里 DBName 跟 BDE 别名一致。
6. 文本库用 Notepad++ 转 ANSI、CRLF、无 BOM。
7. 不跨引擎换 DB,换就换同版本整包。
8. 先起 DBServer 看“HeroDB Connected / 数据库初始化完成”,再起 M2。

物品库和魔法库同时出错,八成是“路径/编码/DBC 配置”这种公共环节断了;只有一个库错,才往“跨版本字段不匹配、魔法 ID 关联错”那边查。别上来就换引擎,先比原包 DB 大小和编码,能省一下午。