传奇DBC2000数据库安装配置HeroDB教程M2DBServer物品魔法表报错完整排错

来源: 作者: 点击:
安装DBC2000用管理员运行安装包,默认路径装完别改目录。装好后控制面板切大图标,找BDE Administrator;Win10、Win11打不开就右键BDE Administrator属性,兼容模式选Windows7,勾以管理员身份运行,确定后再打开。杀毒把C:\Program Files (x86)\Borland、C:\Program Files\Common Files\Borland以及服务端目录加白名单,Borland相关文件被隔离会导致BDE组件缺失、M2起不来。

打开BDE Administrator,左侧Databases空白右键New,类型选STANDARD,确定后把默认STANDARD1改名HeroDB。右侧Definition里只改必要项:TYPE保持STANDARD,DEFAULT DRIVER可设PARADOX,PATH点浏览指向服务端数据库目录。Hero类老端常见是D:\MirServer\Mud2\DB,也有在D:\MirServer\Mir200\Mud2\DB、D:\MirServer\DBServer\HeroDB,以你包内实际放StdItems.DB、Magic.DB、Monster.DB的文件夹为准,必须精确到DB层,不要指到MirServer、Mir200、Mud2上层。

PATH设完点Object-Apply或红色对勾保存,关BDE再重开。左侧点HeroDB,右侧能展开看到StdItems.DB、Magic.DB、Monster.DB、Account.DB等表名,说明别名和路径通了;看不到表就重新选PATH,确认文件夹不是空目录。若物品、怪物名乱码,HeroDB属性LANGDRIVER可设中文驱动,例如Paradox China 936或Chinese (PRC) ANSI,按系统区域和端内编码试,设完Apply并重启BDE。

服务端解压用纯英文无空格目录,推荐D:\MirServer,不要放桌面、不要“新建文件夹”、不要带中文版本名。进Mud2\DB检查文件大小,StdItems.DB、Magic.DB、Monster.DB不应为0字节;缺失就从原压缩包重新解压DB目录覆盖。NTFS压缩、只读、用户权限不足都会让DBServer报Cannot open table、物品数据库错误、魔法数据库错误,右键DB目录属性安全给当前用户完全控制,关掉只读和压缩。

HeroDB配完后起服务端。用GameCenter或引擎控制器的,打开配置向导,服务器IP单机填127.0.0.1,数据库名称填HeroDB,必须与BDE别名完全一致;路径填服务端根目录,端口按端内默认,常用7000登录网关、7100角色网关、7200游戏网关,纯单机不对外不改也行。保存后启动顺序先DBServer/数据库服务,再LoginSrv,再LoginGate、SelGate、RunGate,最后M2Server;用控制器一键启动也要看每个窗口无红字。

DBServer启动后看日志,能打开HeroDB、加载StdItems、Monster、Magic数量正常,不报0 Items、不报Cannot open table,再继续。M2起来后看是否提示物品数据库加载完成、怪物加载完成、魔法加载完成、地图加载完成。只要数据库这层前面BDE配对,M2基本不会再报Unknown database alias HeroDB。

按报错分诊:

报Unknown database alias HeroDB:BDE里没有HeroDB别名,或控制器数据库名写成别的。BDE新建STANDARD改名HeroDB,Apply;控制器配置向导数据库名改回HeroDB,大小写按端要求,部分系统全大写更稳。

报Cannot open table / 物品数据库错误 / 魔法数据库错误:PATH指错层、DB目录空、StdItems.DB或Magic.DB损坏、0字节、被杀软删。重新指到真实DB文件夹,校验文件大小,原包重解压;NTFS压缩和只读全部取消。

DBServer起不来或一闪退:先单独运行DBServer.exe看黑窗口红字;PATH错、HeroDB未Open、DB文件Paradox索引坏都会报。BDE里右键HeroDB选Open,状态正常再起DBServer;索引坏可用DB Commander类工具打开DB目录做修复,或换同版本完整DB覆盖。

M2报连接数据库失败但BDE能看表:控制器数据库名与BDE别名不一致,或M2先于DBServer启动。关全部,先起DBServer,再起其余;控制器数据库名、BDE别名、Mir200配置里的库名三处统一为HeroDB。

Win10、Win11报BDE初始化错误、内存共享类错误:右键BDE和M2都用管理员;32位DBC在64位系统可继续用,若反复异常换DBC2000 64位兼容包重装;注册表SHAREDMEMLOCATION异常可改回0x5BDE后重开BDE;系统区域Beta UTF-8关掉再试。

中文乱码不报错了但物品名问号:BDE里HeroDB的LANGDRIVER设中文Paradox驱动,同时客户端补丁Data、Item相关wil版本要和服务端StdItems编码匹配;只改BDE不换补丁仍可能显示异常。

多区多库:二区另建别名如HeroDB2,PATH指二区Mud2\DB,控制器数据库名填HeroDB2,不要两个区共用一个HeroDB,否则角色、物品、怪物表会串。单区只建一个HeroDB即可。

改完数据库想调物品属性,用DB Commander 2000或BDE直接开StdItems.DB,按NAME、StdMode、Shape、AC、MAC、DC、MC、SC、Need、NeedLevel等字段改,改前备份原DB;保存后在BDE刷新,关M2和DBServer后重启,或M2执行重新加载物品数据库。直接进游戏改不生效,客户端也不读DB文件。

纯单机最小可用流程:D:\MirServer纯英文解压,装DBC2000并BDE建HeroDB指向Mud2\DB,校验StdItems/Magic/Monster非空,控制器IP127.0.0.1、库名HeroDB、端口7000/7100/7200,先DBServer再网关再M2,BDE能展开表、DBServer无Cannot open table、M2无Unknown alias,数据库层就算通了。后面进游戏黑屏、补丁、PAK、登录器问题不属于DBC2000范畴,单独按客户端Data/Map/NewopUI和Pak.txt再查。