自己架设传奇单机,电脑重启之后创建的角色全部消失,核心问题集中在数据库没有正常保存、临时数据模式、服务非正常关闭、数据库文件损坏这几类,按顺序逐项处理,重启电脑人物存档就可以保留。
首先区分数据库运行模式,很多新手使用引擎自带简易内存数据库,这种模式所有角色数据只存放在内存里,一旦关闭M2或者重启电脑,内存清空,所有角色信息直接丢失,不会写入本地磁盘文件。打开游戏控制器,查看数据库选项,确认数据库模式不是内存模式,切换为文件存储模式。GOM、GEE、HERO引擎的传统版本,默认使用DBServer保存人物存档,需要确认DBServer程序正常开启,DBServer是专门负责读写角色、仓库、行会数据的组件,只启动M2不打开DBServer,人物数据无法落地保存。每次启动服务端,必须优先启动DBServer,等待DBServer加载完成之后,再开启登录网关和M2。
DBServer配置出错会造成数据无法写入磁盘。打开DBServer面板,找到数据保存相关选项,确认自动保存功能开启,设置合理的自动存档间隔,推荐设置3到5分钟自动保存一次角色数据。勾选退出时保存全部玩家数据选项,关闭服务的时候,DBServer会把内存里的角色信息写入数据库文件。查看数据库存放路径,路径不能带有中文、空格或者特殊符号,目录层级不能太深,数据库文件夹建议放在Mirserver目录内默认位置。如果数据库文件设置为只读属性,DBServer没有写入权限,无法更新角色存档,右键数据库文件夹,取消只读勾选,使用管理员权限运行DBServer程序。
非正常关闭服务是存档丢失常见诱因。直接关闭电脑、强制结束M2或者DBServer进程,会中断数据写入操作,缓存内的角色数据来不及保存到本地文件。正常关闭流程为先关闭登录器,将游戏内所有账号下线,接着关闭M2主程序,等待M2完全退出,再关闭登录网关,最后关闭DBServer。等待DBServer窗口提示数据保存完成,再关闭窗口或者重启电脑。直接点控制台窗口右上角叉号强行关闭,极易出现存档丢失或者数据库损坏。
数据库文件损坏或者被防护软件清理,也会出现重启丢档。防护软件会把DB相关数据库文件判定为可疑文件,在电脑重启过程清理或者隔离存档文件。把整个Mirserver目录添加到信任列表,运行期间关闭实时防护功能。检查数据库目录下的db文件,确认文件没有被删除,若文件缺失,恢复隔离区文件。压缩包解压时防护软件拦截,数据库原始文件不完整,使用一段时间后存档异常,删除原有服务端,关闭防护软件,重新解压完整版本。
自动备份设置可以降低丢档损失,在DBServer配置内开启自动备份,设置备份存放目录。备份文件会定时复制数据库存档,一旦主数据库损坏,可以直接使用备份文件恢复角色。手动备份的操作方式,在关闭整套服务的状态下,复制Mirserver下的数据库文件夹,单独存放,每次修改版本配置前,都要手动备份一次。
其他容易忽略的设置,部分版本带有测试模式,测试模式下所有角色数据仅临时生效,重启清空,在M2配置面板关闭测试模式。系统磁盘空间不足,数据库无法写入新数据,磁盘剩余空间过小,执行存档操作失败,保证存放Mirserver的磁盘预留足够空闲空间。使用固态硬盘缓存或者内存盘存放数据库目录,全部数据放在内存盘,电脑重启数据清空,数据库目录不要放置在内存虚拟盘。
完整排查步骤,新建账号创建角色,在游戏内做简单操作,等待DBServer自动保存时间走完。按照正常顺序关闭整套服务,确认DBServer提示保存成功,再重启电脑。开机之后,按顺序启动DBServer、登录网关、M2,登录账号查看角色是否存在。如果角色消失,优先检查数据库存储模式,确认DBServer是否正常启动,查看数据库文件读写权限,排查防护软件隔离记录。
修改DBServer参数前,备份数据库目录。测试保存功能时,不要使用强制关机的方式验证,严格遵循服务启停顺序。日志内可以查看数据写入记录,观察DBServer控制台输出,出现保存成功提示,代表角色存档已经写入磁盘。如果新建角色下线之后直接消失,就是DBServer没有正常工作,优先检查DBServer程序是否启动,存储模式是否切换为文件存储。
传奇架设电脑重启角色存档丢失 防止人物数据清空完整解决办法
来源:
作者:
点击:

