开服正常运行数小时后无法建立人物的数据库与配置排查笔记

来源: 作者: 点击:
先检查DBServer程序界面上方的菜单,点“管理”选“基本设置”,确认“允许建立新人物”处于勾选状态,有时误操作或脚本调用会取消该勾选,导致后续建号全部失败。接着打开DBServer目录下的DBSrc.ini或DBConfig.ini,查找LimitNewRole、AllowNewChar之类参数,确保数值为1或True,部分版本有内置的建号数量或时间窗口限制,达到阈值便停止响应建号请求。

去Mud2\DBServer\FDB和Mud2\Logsrv\IdDB目录,查看里面的.db数据库文件及同名.idx索引文件是否大小异常或为0KB,长时间读写可能导致索引损坏,无法写入新记录。在关闭所有服务端程序后,打开DBServer.exe点“管理”选“人物数据管理”点“重建数据库”,或直接用备份的同名文件覆盖损坏的db和idx文件,再启动服务。

若使用了脚本控制建号,比如QuestDiary或Market_Def里的创建角色相关脚本,检查是否设定了全服角色总数上限、单账号角色数上限或建号时间间隔。打开对应脚本文件查找RoleCount、CreateLimit、MaxChar等变量,看数值是否被写死且已过临界值,修改后执行@reloadquest或重读脚本。

查看系统任务管理器中DBServer.exe的内存与句柄占用,若长时间运行后内存不释放或句柄数飙高,会造成死锁或拒绝新连接,结束DBServer进程并重新启动,或在出现规律卡顿时设置定时重启该服务。同时确认服务端所在磁盘剩余空间充足,数据库目录所在盘满盘会导致无法追加人物数据。

最后核对登录网关与DBServer之间的通信配置,在DBSrc.ini或!Setup.txt中检查DBAddr、DBPort以及人物服务监听地址是否指向正确内网IP,且端口未被其他程序占用。任何一处指向错误或端口冲突,都会在运行一段时间后因连接池耗绝表现为无法建号,改动后重启DBServer与网关即可。
[顶部]