自己架设的单机传奇世界,每次重启服务端都停留在“第一天”,王城诏令任务做完一次就再也没法重置?这问题根源在“游戏时间没跟现实同步”和“任务数据没保存对”,跟我之前帮朋友排查的情况一模一样,按下面的步骤改,立马能解决。
一、先解核心:游戏时间没“走”,自然没有“第二天”
单机服务端默认可能用的是“虚拟时间”,关掉服务端后时间就停了,下次启动又从初始值开始算,这是最常见的原因。
解决方法:开“现实时间同步”
打开服务端“Config”文件夹,找到“ServerTime.ini”(或“GameTime.ini”,不同版本文件名略不同);
找“TimeSyncMode”参数,默认可能是“0”(虚拟时间),改成“1”(同步系统时间);
再看“StartTime”参数,要是有固定日期(比如“2023-01-01”)就删掉,改成“SyncWithSystem=1”,保存后重启服务端——这样游戏里的“一天”就和现实中的24小时对齐了。
我之前遇到过更老的服务端,根本没有时间同步配置,那就直接改数据库:打开服务端的“DBServer”文件夹,运行数据库管理工具(比如SQLiteStudio),找到“ServerInfo”表,把“ServerTime”字段改成当前系统时间,以后每次启动服务端会自动读取这个时间。
二、关键一步:任务数据没“清”,重启还认“老记录”
王城诏令任务的完成次数存在数据库里,要是服务端没设置“每日自动清空”,不管过多久重启,记录都还在,自然提示“已做完”。
解决方法:改任务重置配置
进服务端“Quest”文件夹,找到“WangChengZhaoLing.ini”(王城诏令任务配置文件);
查找“ResetTime”参数,看是不是没设置或设成了“0”,改成“5”(代表凌晨5点重置,按自己习惯设);
再检查“SaveTaskRecord”参数,确保是“1”(开启任务记录保存),这样重置后的数据才会正确更新。
要是改了还没用,就手动清数据库记录:用数据库管理工具打开“UserTask”表,找到你的角色ID对应的“WangChengCount”(王城任务次数)字段,把数值改成“0”,再把“LastResetDate”字段改成当天日期——我第一次排查时,就是发现这个字段一直停留在服务端初次启动的日期,改完立马能重新接任务。
三、避坑提醒:服务端“关错了”,数据白存了
很多人直接点黑窗口的“X”关服务端,数据库没来得及保存任务数据和时间,下次启动自然恢复原样。
正确关闭流程:
先在游戏里退出角色,回到登录界面;
依次关闭“GameServer.exe”(游戏服务器,黑窗口按Ctrl+C退出)→再关“DBServer.exe”(数据库服务器);
看到数据库窗口弹出“DataSavedSuccessfully”(数据保存成功)的提示,再关掉窗口。
要是嫌手动关麻烦,就在服务端根目录建个“关闭服务端.bat”文件,右键编辑输入:
taskkill/f/imGameServer.exe
taskkill/f/imDBServer.exe
echo服务端已关闭,数据已保存
pause
下次双击这个文件就能自动保存并关闭,再也不怕数据丢失。
最后一招:补“定时重置脚本”
要是以上方法都没用,说明你的服务端缺了自动重置脚本。去传奇世界玩家社区找“王城诏令定时重置脚本”,下载后放到服务端“Script”文件夹,再打开“ScriptConfig.ini”,在“AutoRunScript”后面加上脚本文件名(比如“WangChengReset.txt”),设置执行时间为每天凌晨5点,重启服务端后,到点就会自动清空任务次数。
一、先解核心:游戏时间没“走”,自然没有“第二天”
单机服务端默认可能用的是“虚拟时间”,关掉服务端后时间就停了,下次启动又从初始值开始算,这是最常见的原因。
解决方法:开“现实时间同步”
打开服务端“Config”文件夹,找到“ServerTime.ini”(或“GameTime.ini”,不同版本文件名略不同);
找“TimeSyncMode”参数,默认可能是“0”(虚拟时间),改成“1”(同步系统时间);
再看“StartTime”参数,要是有固定日期(比如“2023-01-01”)就删掉,改成“SyncWithSystem=1”,保存后重启服务端——这样游戏里的“一天”就和现实中的24小时对齐了。
我之前遇到过更老的服务端,根本没有时间同步配置,那就直接改数据库:打开服务端的“DBServer”文件夹,运行数据库管理工具(比如SQLiteStudio),找到“ServerInfo”表,把“ServerTime”字段改成当前系统时间,以后每次启动服务端会自动读取这个时间。
二、关键一步:任务数据没“清”,重启还认“老记录”
王城诏令任务的完成次数存在数据库里,要是服务端没设置“每日自动清空”,不管过多久重启,记录都还在,自然提示“已做完”。
解决方法:改任务重置配置
进服务端“Quest”文件夹,找到“WangChengZhaoLing.ini”(王城诏令任务配置文件);
查找“ResetTime”参数,看是不是没设置或设成了“0”,改成“5”(代表凌晨5点重置,按自己习惯设);
再检查“SaveTaskRecord”参数,确保是“1”(开启任务记录保存),这样重置后的数据才会正确更新。
要是改了还没用,就手动清数据库记录:用数据库管理工具打开“UserTask”表,找到你的角色ID对应的“WangChengCount”(王城任务次数)字段,把数值改成“0”,再把“LastResetDate”字段改成当天日期——我第一次排查时,就是发现这个字段一直停留在服务端初次启动的日期,改完立马能重新接任务。
三、避坑提醒:服务端“关错了”,数据白存了
很多人直接点黑窗口的“X”关服务端,数据库没来得及保存任务数据和时间,下次启动自然恢复原样。
正确关闭流程:
先在游戏里退出角色,回到登录界面;
依次关闭“GameServer.exe”(游戏服务器,黑窗口按Ctrl+C退出)→再关“DBServer.exe”(数据库服务器);
看到数据库窗口弹出“DataSavedSuccessfully”(数据保存成功)的提示,再关掉窗口。
要是嫌手动关麻烦,就在服务端根目录建个“关闭服务端.bat”文件,右键编辑输入:
taskkill/f/imGameServer.exe
taskkill/f/imDBServer.exe
echo服务端已关闭,数据已保存
pause
下次双击这个文件就能自动保存并关闭,再也不怕数据丢失。
最后一招:补“定时重置脚本”
要是以上方法都没用,说明你的服务端缺了自动重置脚本。去传奇世界玩家社区找“王城诏令定时重置脚本”,下载后放到服务端“Script”文件夹,再打开“ScriptConfig.ini”,在“AutoRunScript”后面加上脚本文件名(比如“WangChengReset.txt”),设置执行时间为每天凌晨5点,重启服务端后,到点就会自动清空任务次数。

