传奇架设服务器开门后提示认证失败:DBC2000无数据库排查

来源: 作者: 点击:
你这个现象已经说得很关键了:同一套服务端,别的机器能开,你这台开门后报认证失败,而且 DBC2000 装完一个数据库都没有。先给结论——大概率是 DBC 驱动/数据库没建对、Hero/GOM/GEE 这类引擎读不到 DBC 里的游戏库,导致网关或主服起来后做版本认证、机器码认证、列表认证时拿不到数据,于是卡在开门后弹“认证失败”。

先说那个“自带 3 个数据库、名字像 net...”的机器。传奇老引擎用的不是 MySQL,是 Borland Database Engine + DBC2000,数据库其实是 .dbc 文件,但在 DBC Administrator 里要自己建别名(Alias)。别人机器上看到的 net 开头库,常见是 Hero 端的:
- Net1
• Net2

• Net3

也可能是 Mir2、HeroDB、Data、Account 这类。不同引擎叫法不一样,GOM 常用 HeroDB,Hero 端常带 Net1/Net2/Net3 做网络/账号/日志分离。你本机装完 DBC 什么都没有,不代表少了“系统自带库”,而是没建别名、没指向服务端里的 DBC 目录。

一、DBC2000 正确建库步骤
1. 装 DBC2000 时别装成中文汉化残包,用原版 DBC2000 或能正常注册的版本。
2. 打开“Database Explorer / BDE Administrator / DBC Administrator”。
3. 切到 Databases 页,右键 New Alias,类型选 STANDARD(有的叫 Paradox / DBase)。
4. 别名填 HeroDB(GOM 端)或 Net1/Net2/Net3(Hero 多库端),PATH 指向:
D:\MirServer\Mir200\Envir\DB
或你服务端里的 DB 目录,里面要有 Monsters.dbc、Items.dbc、Magic.dbc 这些。
5. 保存,点 Apply / Commit,别只关窗口不提交。
6. 建完后展开别名能看到表,才是真建好了。看不到表 = PATH 指错或文件不在那。

二、为什么“认证失败”和 DBC 有关
Hero/GOM 类引擎启动顺序里,LoginGate、DBServer、M2 都要读 DBC 里的账号库、版本库、IP 库、机器特征。DBC 没建好时:
- DBServer 能起但读不到表
• M2 开门后查不到版本记录/授权记录

• 列表网关返回空数据

• 端里带了“本机指纹认证 / 列表认证 / 引擎授权”逻辑,就会弹:认证失败、授权失败、列表验证失败、开门后退回登录

别的机器能玩,是因为那台机器 DBC 别名和 PATH 都对,M2 读到 Net1/Net2/Net3 里的数据就放行;你这台读空,逻辑上就等于“非法环境”。

三、你这台机器还要排这些点
1. 32 位/64 位问题
老 DBC2000 是 32 位组件,Win10/Win11 64 位系统要:
• 用管理员装

• 装完重启

• 服务端主程序也用兼容模式(XP SP3 / 管理员)跑

不重启直接开 M2,经常就是能开门但认证挂。

2. BDE 注册坏了
控制面板 → 管理工具 → 服务,看有没有 Borland Database Engine 相关服务;
或运行里 regsvr32 相关组件失败也会让 DBC 空壳。
重装 DBC2000 前,先卸干净:删 C:\ProgramData 里的 Borland、删 HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDE,再装。

3. 服务端里写死别名
打开 Mir200 里 !Setup.txt、DBServer\DBCfg.ini、LoginGate 配置,看数据库名是 HeroDB 还是 Net1。
你建 HeroDB,但它要 Net1,一样认证失败。
对照能玩的机器:它别名叫啥,你也叫啥,PATH 指向你本机服务端 DB 目录。

4. 列表/IP/机器码认证
有些整合端开门后认证不是查 DBC 内容,而是:
• 列表地址返回 0/空 → 认证失败

- 本机 MAC/硬盘序列被端里 blacklist 挡了
• 服务端根目录有 license、auth、key.dat,换机后没重新生成

这种时候 DBC 建好也还不够,要把 MirServer 里 Auth、License、ServerKey 删掉让 M2 重新生成,或把能玩机器同目录文件拷过来(仅限你自己两台机器转移,不是去下别家端)。

5. 杀软/ defender 拦了
M2、DBServer、LoginGate 被 Windows Defender 删了节,起来后读 DBC 正常但授权模块坏了,也会卡开门弹认证。
把 MirServer 加排除项,再看 exe 大小跟能玩机器是否一致,不一致就是被篡改/拦截。

四、最快对照法
在能玩那台机器上:
• 打开 DBC Administrator,截图 Databases 列表:别名、PATH、类型

• 打开 Mir200\!Setup.txt 里 DB 名字

- 打开 DBServer\DBCfg.ini 里数据库名
在你机器上照着建一模一样的别名,PATH 改成你自己的 DB 路径。
别信“DBC 装了就有库”,DBC 本身不产生传奇库,它只是个数据库驱动,库文件在服务端 DB 目录里,别名只负责指路。

五、建完还认证失败的二次排查
1. 看 M2 日志(Mir200\Log、Logs、Errorlog.txt)
关键字:DBC open fail / Table not found / Auth fail / License invalid / IP list empty
2. DBServer 窗口有没有红字:Cannot open database / Alias not found
3. 登录器列表填的 IP 是 127.0.0.1 还是局域网 IP,列表文件返回内容是不是空
4. 引擎自带“配置器/登录器生成器”里,是否勾了“远程认证/列表认证/机器绑定”,换机后没解绑

六、Hero 端 Net1/Net2/Net3 的常见分工(便于你对号)
• Net1:账号/角色/在线

- Net2:日志/操作记录
• Net3:版本/授权/列表缓存

GOM 端通常合并成 HeroDB 一个库;Hero 多库端才拆 Net 系列。你记得“net 开头三个”,那基本是 Hero 多库端,不能只建 HeroDB,要建三个别名分别指到对应 DB 子目录(有的在 Mir200\Envir\DB、DB2、DB3,有的在 DBServer\DB、Net1、Net2)。

七、Windows 11 / Win10 老端通用兜底
• DBC2000 用 2000.0.0.0 原版

• 关核心隔离、关 Defender 实时保护(测试阶段)

• M2/DBServer/LoginGate 全部管理员运行

- 区域设置里非 Unicode 程序语言设中文(简体,中国),不然 DBC 中文表名读出来乱码,认证模块解析失败
• 别把 MirServer 放桌面中文路径,放 D:\MirServer

你这个“别机正常、本机 DBC 空、开门认证失败”按概率排:
1. DBC 别名没建 / 建错名字(最常见)
2. PATH 没指到服务端 DB 目录
3. 引擎要 Net1/Net2/Net3,你只听说 HeroDB
4. BDE 组件在 Win10/11 没注册成功
5. 端带机器绑定/授权文件,换机没重置
6. 杀软把授权模块干了

先把能玩机器 DBC 列表抄过来,本机建一模一样的别名和路径,M2 日志里如果还报 auth/license,再把 ServerKey、License、Auth 目录清掉重启让它能生成新机信息。DBC 里“自带 net 数据库”这个说法本身是个误会——不是系统自带,是那台机器以前有人建过别名,你这台新装当然空着。