完成DBC工具安装和引擎基础配置,启动服务端之后第一个加载模块直接弹出找不到数据库提示,其他网关程序还没有开始运行,这个报错集中在DBC连接配置、数据库名称、系统组件、路径权限几个方面,优先核对引擎读取数据库的连接参数,这是首模块报错最核心的诱因。
先确认DBC工具的安装和创建步骤是否完整,DBC安装完成之后打开控制面板里的BDE Administrator,在左侧面板找到Database标签页,右键新建一个数据库别名,别名名称必须和引擎配置文件内填写的名称保持一致,很多人在这里自定义别名,和引擎里面写的名字对不上,引擎启动读取的时候就会识别不到数据库。别名的驱动类型选择STANDARD,PATH项指向存放数据库文件的文件夹,传奇世界版本数据库一般放在MirServer\DB文件夹,路径不要填写到db文件本身,只填写文件夹目录。设置完成之后点击Apply保存,选中别名点击测试连接,弹出连接成功代表BDE别名本身没有问题,如果测试连接直接报错,问题停留在DBC配置层面,不用继续查看引擎文件。
BDE别名区分大小写,别名中间不能带有空格、中文和特殊符号,别名尽量使用简短英文,常见的默认别名是HeroDB,部分传世版本修改成WorldDB,打开引擎配置文档核对名称。PATH路径同样不能包含中文文件夹,路径层级不要太深,系统账户权限不足的时候,深层目录会导致BDE无法读取db文件。保存BDE配置之后,需要关闭BDE工具重新打开,再测试一次连接,修改别名参数不会实时生效,没有刷新就直接启动引擎,依旧提示找不到数据库。
接着打开MirServer目录下引擎主配置文件,传奇世界常用引擎的数据库配置项一般放在!Setup.txt里面,用记事本打开这个文件,找到DBName、DBPath、DBServer这几行参数,DBName填写刚才在BDE里面建立的别名,DBPath和BDE里面设置的数据库文件夹路径保持统一。不要出现一边写WorldDB,另一边写HeroDB的情况,参数不一致是高频出错点。部分传世引擎会拆分人物数据库、怪物数据库、物品数据库,三个库都依赖同一个BDE别名,别名失效之后第一个加载模块最先读取物品库,报错直接弹出。
检查DBC工具本身的兼容问题,新版Windows系统运行老版DBC容易出现BDE服务加载失败,控制面板找不到BDE Administrator图标,属于DBC安装没有注册成功,需要卸载当前DBC,更换适配系统的安装包,安装程序右键选择管理员运行,安装完成之后重启电脑,BDE组件才能正常注册到系统。系统缺少BDE驱动,就算别名设置正确,引擎也无法建立数据库连接,表现就是首模块加载数据库失败,日志里面提示BDE error。
权限问题同样会阻断数据库读取,存放数据库的文件夹右键打开属性,取消只读勾选,安全选项里面给当前用户开启读取和写入权限。系统安全软件会拦截BDE组件读写文件,后台隔离数据库访问请求,暂时退出安全程序再启动引擎测试。不要把MirServer放在C盘系统目录,系统权限管控严格,BDE很难访问C盘内的资源,迁移到D盘或者E盘根目录下再重新配置BDE别名路径。
核对数据库文件本身是否完整,打开DB文件夹查看,里面必须存在StdItems.DB、Monsters.DB、Magic.DB这三个核心数据库文件,文件缺失或者压缩解压损坏,BDE测试连接也会失败。压缩包解压的时候中断、解压工具异常都会破坏db文件,重新解压版本包里面的数据库资源,替换掉现有文件再测试。db文件后缀不要被系统隐藏扩展名,出现StdItems.DB.txt这类重命名错误,BDE识别不了txt后缀文件,需要关闭文件扩展名隐藏,删掉多余的txt后缀。
引擎模块加载顺序固定,启动之后第一个模块优先读取数据库,数据库连接失败,模块直接终止,后续网关、登录网关都不会启动,不要去查看网关配置,先把数据库连通问题处理好。BDE别名测试连接成功,引擎依旧报错,就查看M2启动日志,日志会打印详细错误代码,提示别名不存在就是配置名称不匹配,提示路径访问失败就是目录权限或者路径错误,提示驱动加载失败就是DBC组件注册异常。
还有一种容易忽略的情况,一台电脑安装多个DBC版本,或者同时架设其他版本,BDE别名冲突,旧别名占用驱动,新建别名无法正常工作。打开BDE Administrator,删除无用旧别名,只保留当前传世版本使用的一条别名,重启电脑释放BDE驱动之后再配置。不要同时运行多个服务端抢占BDE组件,BDE本身单线程特性,多个程序同时连接同一个别名也会出现读取异常。
按照固定顺序逐项排查,打开BDE工具核对别名名称和指向路径,测试BDE连接;核对!Setup.txt内数据库别名参数和BDE一致;确认三个核心db文件齐全,后缀没有多余字符;检查目录无中文、权限正常,取消只读;重装DBC组件并重启系统;清理多余BDE别名,关闭安全防护。完成每一步之后单独测试BDE连接,连接正常再启动引擎,绝大多数首模块找不到数据库的报错都可以修复。
传奇世界单机引擎启动首模块提示找不到DBC数据库配置排查与修复方法
来源:
作者:
点击:

