当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇报错isnotavaliddateandtime系统时间格式修正

热度:
玩传奇(包括登录器进游戏、单机M2启动、HERO/GOM引擎加载)弹出“isnotavaliddateandtime”,翻译过来就是“不是合法的日期时间”,引擎读到了它解析不了的时间字符串。九成情况出在Windows系统日期格式、服务端!setup.txt里的旧时间戳、或客户端缓存时间文件三者身上,按下面顺序改,不用重装游戏。

1.改系统短日期和长时间格式(玩家和架设都先走这步)
Win10/Win11:控制面板→时钟和区域→区域→更改日期、时间或数字格式→其他设置→日期选项卡。
•短日期改成yyyy-M-d或yyyy-MM-dd(例:2026-7-28)

-长时间改成H:mm:ss或HH:mm:ss(24小时制,例:14:30:00)
•长日期随便,带“年月日”也行

应用确定,重启电脑。Win7同理在“区域和语言→格式→自定义”里改。时区必须锁“(UTC+08:00)北京”,别选UTC或自动。

2.同步系统时间
右下角时间→调整日期/时间→开“自动设置时间”和“自动设置时区”,或cmd管理员跑w32tm/resync。主板电池没电导致时间被重置到1980年或2038年以后,引擎一样报这错。

3.玩家端清客户端时间缓存
进传奇客户端根目录,删掉或改名备份这些文件:
•Data\TimeCache.dat

•Data\ClientTime.cfg(有就改里面时间格式为yyyy-MM-ddHH:mm:ss)

-Login.ini、Config.dat、UserCache.dat直接删,重启登录器会自动重建
路径别放中文,D:\Mir2这种纯英文。

4.架设端改!setup.txt(HERO引擎必查)
服务端Mir200文件夹里打开!setup.txt,Ctrl+F搜DayOfGuildFountain=,把等号后面那一串时间(比如DayOfGuildFountain=2012-03-2022:45:30这种错位串)全删,留DayOfGuildFountain=空着,引擎会自己取系统时间;或者手写标准格式2026-07-2812:00:00(注意中间空格,别用T别用斜杠)。保存,关掉M2Server、DBServer、网关全部重开。

5.GOM/GEE引擎查mirserver.ini/ServerSetup.ini
搜StartDate=EndDate=OpenServerTime=这类键,格式锁死YYYY-MM-DDHH:MM:SS,年份四位、月日补零、分隔符横杠、时间冒号。看到2026/7/282026.07.2826-7-28全部改掉。

6.注册表兜底(改了格式还弹)
Win+R输regedit,进HKEY_CURRENT_USER\ControlPanel\International,右侧改:
•sShortDate=yyyy-MM-dd

-sShortTime=HH:mm
•sLongTime=HH:mm:ss

不用重启,改完即时生效,再开游戏。

7.数据库脏数据(单机老库)
Navicat/SQLite连HeroDB,查tbl_char或UserData表里CreateTime、LastLoginTime,把0000-00-00、2023-13-01、1970-01-0100:00:00之前的值UPDATE成当前合法时间。角色表里藏一条脏时间,M2一加载就崩这句。

玩家自己玩商业服/官服,只做第1、2、3步就够了;自己架单机或开服碰到M2启动卡这句,第4、5步是必改项。改完系统格式不重启电脑直接开游戏,有概率注册表没刷进去,重启一次最稳。
[顶部]