创建角色时无论输什么名字都弹"角色名已经存在"并提示错误代码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 的 DB Commander 打开 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 文件夹内容
六、仍不行——排查文件被杀软隔离或库损坏
• Windows Defender/360 可能把 DBServer.exe、LoginSrv.exe 隔离,去隔离区恢复并加信任。
- 若以上都做过仍报错误代码2,从同版本纯净端复制 DBServer.exe、LoginSrv.exe、Mir200 文件夹覆盖(先备份自定义Map/Item/Envir修改),重新配置IP 127.0.0.1 启动。
按"确认DBServer启动→清空角色库→解除纯数字英文限制→修正DBServer.ini路径"四步走基本都能解决,最常见的实际原因是DBServer没跑起来或ID.DB里有旧记录。
热血传奇单机版创建角色提示角色名已存在错误代码2 数据库残留与DBServer未启修复方法
来源:
作者:
点击:

