传奇开服5小时后无法创建人物故障排查与修复

来源: 作者: 点击:
开服初期正常,运行约5小时后突然无法创建任何新角色(点击无反应或失败),但老角色仍可登录。这是典型的数据库写入限制或服务端资源耗尽故障,与网关或网络无关。需按以下顺序紧急排查。

一、数据库文件满额(最高频原因)

传奇服务端默认使用小型数据库(如Access、SQLite),运行数小时后日志和临时数据会填满预留空间,触发写保护。

1. 清理数据库临时文件
关闭所有服务端程序(M2Server、LoginSrv、DBServer)。进入 MirServer\Mir200\Envir\DataBase 或 MirServer\DBServer\FDB 目录,删除 Log(日志)文件夹及 Temp(临时缓存)文件夹内的所有文件。若使用DBC2000,打开数据库清理 UserLog(用户日志)表。此操作可立即释放空间。

2. 检查数据库文件大小
右键查看 HeroDB.mdb 或 Mir.DB 文件属性。若文件大小接近或超过 2GB(Access数据库上限),需替换数据库文件或进行压缩修复。建议从备份中替换纯净的数据库文件。

二、服务端进程内存溢出

运行5小时后,M2Server.exe 可能因内存泄漏或脚本错误耗尽系统资源,导致无法处理新建角色的请求。

* 重启服务端:完全关闭所有引擎程序,等待30秒后重新启动。若重启后能建号,确认是内存问题。需检查 M2Server 的 !Setup.txt 配置,限制单进程内存使用量。
* 检查线程:在任务管理器中查看 M2Server.exe 的 CPU 和内存占用率,若持续接近100%且无响应,需更换引擎版本或修复脚本死循环。

三、角色数量上限与脚本限制

部分服务端在配置文件中设定了全服角色总数上限,开服5小时玩家建号达到阈值后自动锁死。

1. 修改人数限制
打开 MirServer\Mir200\Envir\QuestDiary 或 !UserLimit.txt 文件,查找 MaxUser(最大用户数)或 TotalServerMax(全服最大角色数)参数。将数值从默认的几百修改为 5000 或更大,保存后重启 M2Server。

2. 排查建号脚本
检查 QFunction-0.txt 中的 @CreateHuman 脚本段。删除或注释掉可能存在的“开服时间限制”或“人数达标拦截”代码(如 CheckDate 或 SendMsg 6 提示服务器满)。

四、文件权限与磁盘空间

长时间运行后,服务端目录的写入权限可能被系统回收,或磁盘空间不足。

* 赋予写入权限:右键服务端根目录(MirServer)→ 属性 → 安全,确保当前用户对 DBServer\Data 和 Mir200\UserData 目录拥有“写入”权限。
* 检查磁盘:确保服务器 C 盘或安装盘剩余空间大于 5GB,避免日志写入失败。

紧急恢复流程:关闭服务端 → 清理 Log 和 Temp 文件夹 → 修改 !UserLimit.txt 上限 → 以管理员身份重启所有程序。若问题依旧,重点检查 HeroDB 数据库是否已损坏满额。