你贴的报错顺序是DBServer/M2启动到“正在加载物品数据...[Exception]物品数据库加载错误!正在加载技能数据库...[Exception]魔法数据库加载错误!!!服务器已启动...”,说明DBServer通过BDE(DBC2000)读Paradox表StdItems.DB、Magic.DB时打开失败。你新建STANDARD改名HeroDB、目录也指了,还报,问题不在“没建别名”,而在下面这些细节里,逐条核。
一、HeroDB的PATH必须精确到Mud2\DB,不是Mir200、不是Mud2上层
打开控制面板→BDEAdministrator(32位,64位系统也在SysWOW64控制面板里)→Databases→HeroDB→右侧PATH参数:
正确:D:\MirServer\Mud2\DB(结尾不带反斜杠)
错误:D:\MirServer、D:\MirServer\Mud2、D:\MirServer\Mir200
改完点顶部绿色对勾Apply,关闭BDE弹窗选Yes保存配置。右键HeroDB→Open,右侧能列出StdItems.DB、Magic.DB说明通了;打不开就是路径还错。
二、别名必须叫HeroDB,大小写与引擎配置一致
HERO引擎默认认HeroDB;部分老端认MirDB、LegendDB,看MirServer\DBServer\dbsrc.ini或!Setup.txt里DBName/DataBase字段写的是什么,BDE别名必须一字不差。写成herodb、HeroDb、HERODB在某些Delphi编译的DBServer上都会Unknowndatabasealias。
三、Mud2\DB里文件必须齐,且不是0KB、不被杀软删
进D:\MirServer\Mud2\DB看:
•StdItems.DB(物品库)
•Magic.DB(技能库)
-Monster.DB(怪物库)
•StdItems.idx/Magic.idx(Paradox索引,缺失会报Exception)
大小正常几十KB~几百KB,0字节、缺失、被360/火绒/Defender隔离区吃掉都会直接抛异常。从原压缩包重解压DB目录覆盖,覆盖前结束DBServer.exe、M2Server.exe进程。
四、服务端整体路径禁中文、禁空格、禁桌面“新建文件夹”
D:\传奇服务端、D:\ProgramFiles\MirServer、C:\Users\用户名\Desktop\MirServer全废。剪切到D:\MirServer或E:\MirServer纯英文根目录,再重开BDE改PATH,引擎配置向导里“数据库路径”同步改。
五、!Setup.txt与dbsrc.ini内部路径要和BDE对齐
Mir200\!Setup.txt里:
DataPath=D:\MirServer\Mud2\DB
DBServer\dbsrc.ini里:
DBName=HeroDB
DataDir=D:\MirServer\Mud2\DB
两边不一致,就会出现“BDE里能Open,引擎仍报错”。
六、LANGDRIVER与只读/权限
BDE里HeroDB的LANGDRIVER设Chinese(PRC)ANSI,不然中文物品名乱码连带加载中断。
DB文件夹右键→属性→去掉“只读”;安全→编辑→当前用户完全控制。Win10/11下M2Server.exe、DBServer.exe右键属性→兼容性→以管理员身份运行。
七、清BDE锁文件与残留进程
C:\Windows\SysWOW64(64位系统)或System32里删PDOXUSRS.NET、PDOXUSRS.LCK;任务管理器结束M2Server、DBServer、LoginSrv残留;重启机器让BDE配置落盘,再按DBServer→LoginSrv→LogData→Gate→M2顺序起。
八、引擎与DB版本不配套
GOM1108、GEE、HERO3K、BLUE的StdItems.DB字段数不同(如HERO比老1.76多Stdmode扩展列),拿高版引擎读低版DB必Exception。用引擎包内自带的Mud2\DB覆盖,或同引擎版本互换,别跨引擎混用。
九、DBC2000本身装坏
控制面板程序里卸干净→删注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Borland\DBE→重装32位DBC2000汉化版→再建HeroDB。装的时候别改默认目录,别关BDEAdministrator后台服务。
按上面九条走完,DBServer窗口应显示“物品数据加载XXX条/魔法数据加载XXX条”,不再抛Exception,M2继续往下加载地图与脚本。还报就把DBServer\Log里SystemLog.txt的红字行贴出来定位到具体表字段。
一、HeroDB的PATH必须精确到Mud2\DB,不是Mir200、不是Mud2上层
打开控制面板→BDEAdministrator(32位,64位系统也在SysWOW64控制面板里)→Databases→HeroDB→右侧PATH参数:
正确:D:\MirServer\Mud2\DB(结尾不带反斜杠)
错误:D:\MirServer、D:\MirServer\Mud2、D:\MirServer\Mir200
改完点顶部绿色对勾Apply,关闭BDE弹窗选Yes保存配置。右键HeroDB→Open,右侧能列出StdItems.DB、Magic.DB说明通了;打不开就是路径还错。
二、别名必须叫HeroDB,大小写与引擎配置一致
HERO引擎默认认HeroDB;部分老端认MirDB、LegendDB,看MirServer\DBServer\dbsrc.ini或!Setup.txt里DBName/DataBase字段写的是什么,BDE别名必须一字不差。写成herodb、HeroDb、HERODB在某些Delphi编译的DBServer上都会Unknowndatabasealias。
三、Mud2\DB里文件必须齐,且不是0KB、不被杀软删
进D:\MirServer\Mud2\DB看:
•StdItems.DB(物品库)
•Magic.DB(技能库)
-Monster.DB(怪物库)
•StdItems.idx/Magic.idx(Paradox索引,缺失会报Exception)
大小正常几十KB~几百KB,0字节、缺失、被360/火绒/Defender隔离区吃掉都会直接抛异常。从原压缩包重解压DB目录覆盖,覆盖前结束DBServer.exe、M2Server.exe进程。
四、服务端整体路径禁中文、禁空格、禁桌面“新建文件夹”
D:\传奇服务端、D:\ProgramFiles\MirServer、C:\Users\用户名\Desktop\MirServer全废。剪切到D:\MirServer或E:\MirServer纯英文根目录,再重开BDE改PATH,引擎配置向导里“数据库路径”同步改。
五、!Setup.txt与dbsrc.ini内部路径要和BDE对齐
Mir200\!Setup.txt里:
DataPath=D:\MirServer\Mud2\DB
DBServer\dbsrc.ini里:
DBName=HeroDB
DataDir=D:\MirServer\Mud2\DB
两边不一致,就会出现“BDE里能Open,引擎仍报错”。
六、LANGDRIVER与只读/权限
BDE里HeroDB的LANGDRIVER设Chinese(PRC)ANSI,不然中文物品名乱码连带加载中断。
DB文件夹右键→属性→去掉“只读”;安全→编辑→当前用户完全控制。Win10/11下M2Server.exe、DBServer.exe右键属性→兼容性→以管理员身份运行。
七、清BDE锁文件与残留进程
C:\Windows\SysWOW64(64位系统)或System32里删PDOXUSRS.NET、PDOXUSRS.LCK;任务管理器结束M2Server、DBServer、LoginSrv残留;重启机器让BDE配置落盘,再按DBServer→LoginSrv→LogData→Gate→M2顺序起。
八、引擎与DB版本不配套
GOM1108、GEE、HERO3K、BLUE的StdItems.DB字段数不同(如HERO比老1.76多Stdmode扩展列),拿高版引擎读低版DB必Exception。用引擎包内自带的Mud2\DB覆盖,或同引擎版本互换,别跨引擎混用。
九、DBC2000本身装坏
控制面板程序里卸干净→删注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Borland\DBE→重装32位DBC2000汉化版→再建HeroDB。装的时候别改默认目录,别关BDEAdministrator后台服务。
按上面九条走完,DBServer窗口应显示“物品数据加载XXX条/魔法数据加载XXX条”,不再抛Exception,M2继续往下加载地图与脚本。还报就把DBServer\Log里SystemLog.txt的红字行贴出来定位到具体表字段。

