当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

热血传奇单机版创建角色提示角色名已存在错误代码2数据库残留与DBServer未启修复方法

热度:
创建角色时无论输什么名字都弹"角色名已经存在"并提示错误代码2,通常不是真有重名,而是DBServer没启动/角色数据库(ID.DB/Hum.DB/FDB)有残留记录或文件损坏、引擎禁止纯数字英文角色名导致写入失败被误报。按以下顺序排查:

一、确认DBServer已正常启动(最常见原因)

打开服务端控制器启动后,必须看到以下黑框窗口同时存在:
•DBServer.exe(数据库服务,最关键)

•LoginGate.exe或LoginSrv.exe(账号登录)

-RunGate.exe(游戏网关)
•M2Server.exe(主引擎)

如果DBServer没启动或一闪而过,角色数据无法写入就会返回错误代码2。DBServer闪退通常是DBC2000中HeroDB路径指错或杀毒软件隔离了DBServer.exe,把MirServer整个目录加杀软白名单,确认BDE中HeroDB的PATH指向D:\MirServer\Mir200\Mud2\DB后重启控制器。

二、清空角色数据库残留记录

关掉所有服务端进程,按引擎类型处理:

Hero引擎(大多数单机版):
•角色索引在D:\MirServer\DBServer\目录下的ID.DB(账号-角色关联)和Hum.DB/FDB文件夹内的.db文件(角色属性、背包)。

•用DBC2000的DBCommander打开HeroDB→查看Account表或Character/Hum表,删除所有行(单机无重要数据可直接清空)。

•或简单做法:备份后删除D:\MirServer\DBServer\ID.DB和D:\MirServer\DBServer\FDB\下所有.db/.idx文件,重启DBServer会自动生成空白库。

GOM/GEE引擎:
•角色数据一般在MirServer\DBServer\FDB\下Human.DB/Hum.DB,直接删除后重启让引擎重建,或进M2→数据库管理清空角色列表。

三、解除引擎禁止纯数字/纯英文角色名限制

部分引擎默认勾选了"禁止建立纯数字人物名""禁止建立纯英文人物名",输入不符合规则的名字会报错误代码2(被引擎误报为已存在):
•Hero引擎:运行DBServer\DBServer.exe→选项→基本设置→取消勾选"禁止建立包含数字的人物名""禁止建立全英文人物名"→保存。

-GOM引擎:M2Server→选项→参数设置→游戏选项→找到"允许纯数字角色名""允许英文角色名"勾选→保存并重载参数。

测试时建议用2~3个汉字常规名(如"测试战士""传奇一号"),避开符号和空格。

四、检查DBServer.ini中数据库路径

打开D:\MirServer\DBServer\DBServer.ini或DBSrc.ini,确认:

ServerPath=.\(或指向正确服务端根目录)
DataPath=.\FDB\

如果服务端从C盘移到D盘而此文件还指向旧路径,DBServer连不上库会写不进角色数据触发报错。改对保存后重启。

五、清理缓存文件

删除以下目录内所有临时文件避免读取旧缓存干扰:
•D:\MirServer\Mir200\Envir\Cache\下*.tmp

-登录器所在客户端目录下的Cache或Temp文件夹内容

六、仍不行——排查文件被杀软隔离或库损坏

•WindowsDefender/360可能把DBServer.exe、LoginSrv.exe隔离,去隔离区恢复并加信任。

-若以上都做过仍报错误代码2,从同版本纯净端复制DBServer.exe、LoginSrv.exe、Mir200文件夹覆盖(先备份自定义Map/Item/Envir修改),重新配置IP127.0.0.1启动。

按"确认DBServer启动→清空角色库→解除纯数字英文限制→修正DBServer.ini路径"四步走基本都能解决,最常见的实际原因是DBServer没跑起来或ID.DB里有旧记录。
[顶部]