传奇世界单机引擎启动提示找不到数据库问题排查

来源: 作者: 点击:
启动传奇世界单机服务端时,首个模块(通常为LoginSrv或LogonServer)报错“找不到数据库”或“Database not found”,核心原因在于数据库路径配置错误、驱动缺失或文件命名不符。

首先确认数据库文件位置。传奇世界单机版通常使用Access数据库(.dbc或.mdb格式),标准路径为“DBSrv200Share”或“LoginSrvShare”。若引擎配置指向“ShareLegendWorld.dbc”,但实际文件名为“LegendWorld.mdb”或存放于其他目录,则加载失败。需严格匹配文件名与扩展名,不可混用.dbc与.mdb后缀。

其次检查ODBC数据源设置。部分旧版引擎依赖系统ODBC连接数据库。进入Windows控制面板→管理工具→数据源(ODBC)→系统DSN,查看是否存在名为“LegendWorld”或“MirWorld”的数据源。若无,需手动添加:选择“Microsoft Access Driver (*.mdb, *.accdb)”,指定数据库文件完整路径,并确保驱动位数(32位/64位)与引擎一致。32位引擎必须使用32位ODBC管理器(位于C:WindowsSysWOW64odbcad32.exe)。

第三,验证数据库文件完整性。用Microsoft Access或MDB Viewer打开.dbc/.mdb文件,检查表结构是否完整,包含Account、BlockList、GameLog等基础表。若文件损坏或为空,引擎无法读取表头信息,直接报错。可替换为已知正常的同版本数据库文件测试。

第四,排查配置文件路径引用。LoginSrv.ini或!ServerInfo.txt中通常包含数据库路径参数,例如:
[DB]
Path=.ShareLegendWorld.dbc
若路径使用绝对地址(如D:GameDB)但实际部署在其他盘符,或相对路径层级错误(多写或少写“..”),将导致文件未找到。应统一使用相对路径,并确保Share文件夹与LoginSrv.exe处于同级目录。

第五,确认文件权限与防病毒干扰。Windows系统若对DB目录启用受控文件夹访问,或杀毒软件锁定.mdb文件,引擎进程无读取权限。需临时关闭实时防护,并为服务端目录赋予“完全控制”权限给当前用户。

第六,区分传奇与传奇世界数据库结构。传奇世界数据库表字段与传奇1.76不兼容,例如账号表字段为“userid”而非“username”。混用传奇数据库会导致引擎解析失败,即使文件存在也视为无效。必须使用专为传奇世界设计的DBC/MDB文件。

启动日志(如LoginSrv.log)通常记录具体缺失文件名或ODBC错误代码。若出现“Could not find installable ISAM”则为驱动问题;若显示“File not found: LegendWorld.dbc”则为路径错误。根据日志内容逐项修正即可恢复数据库连接。