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

传奇单机版M2Server启动提示isnotavaliddateandtime报错修复方法

热度:
一、报错原因说明

启动M2Server或GameCenter加载引擎时弹窗提示"XXXXisnotavaliddateandtime",意思是引擎读取到无法识别的日期时间字符串。根本原因是Windows系统短日期格式含中文(如2026年6月30日)或用斜杠/yymmdd格式,与Hero/3K等老引擎要求不符;其次服务端Mir200\!Setup.txt中DayOfGuildFountain=等时间参数格式错误或被写成非法值也会触发。

二、修改Windows系统日期时间格式(首呀案)

这是最彻底的解法,改完对所有传奇引擎版本都生效。
•Win10/Win11:右键任务栏时间→调整日期/时间→语言与区域(或区域格式设置)→点击"更改日期和时间格式"。短日期改为yyyy-M-d或yyyy-MM-dd(例:2026-6-30),长时间改为H:mm:ss(例:19:30:00)。确认应用,部分系统需注销或重启电脑使生效。

-Win7:控制面板→区域和语言→格式→其他设置→日期选项卡,短日期填yyyy-M-d,时间填H:mm:ss,应用确定。
•确保时区为"(UTC+08:00)北京、重庆、香港特别行政区、台北",系统时间本身也需正确同步互联网时间。

改完后完全关闭服务端所有网关(DBServer、LoginGate、RunGate、M2Server),重新启动GameCenter测试。

三、清空或修正!Setup.txt中异常时间参数

若改完系统格式仍报同一错误,说明配置文件中某行时间值引擎解析不了。
进入服务端目录Mir200\,用Notepad++或记事本打开!Setup.txt(部分版本叫Setup.txt无感叹号)。按Ctrl+F搜索以下关键字逐一检查:
•DayOfGGuildFountain=或DayOfGuildFountain=—最常见出错行,直接把等号后内容删空改为DayOfGuildFountain=(留空不填任何东西)

-OpenServerTime=、StartDate=、EndDate=、ServerTime=—确认格式必须为yyyy-MM-ddHH:mm:ss,如2026-01-0100:00:00,不能是2026/01/01或带中文。若这些字段值为明显错误日期(如0000-00-00、2026-13-40)改为当前日期或干脆删空。
-搜到的日期若带星期几汉字(如星期一2026-6-30)整行删掉时间部分或行首加分号;注释掉该行。
保存后关掉所有服务端程序重开。

四、检查NPC脚本与时间限定文件

个别版本把时间判断写进任务脚本导致加载时报同款错误。进入Mir200\Envir\QuestDiary\逐个翻找含CheckTime、GetDate、GotoTime等指令的.txt文件(常见在定时活动、攻城控制脚本),看其中写死的日期时间是否符合yyyy-MM-ddHH:mm:ss或HH:mm格式。若看到用中文日期或错误格式,改为标准格式。另检查Mir200\Envir\MapInfo.txt中如果有地图定时开启参数带日期,同样确认格式正确。

五、数据库角色表非法时间字段(较少见)

若以上都做完仍报错且提示指向数据库,用DB管理工具(Access打开IDDB.mdb或HeroDB通过BDE查看)检查角色表(TBL_CHAR/Account等)中RegDate、CreateTime、LastLoginTime字段,把明显异常的如0000-00-00、空值或超范围日期(小于1900年大于2099年)批量更新为合法日期如2020-01-01。DBC2000版本一般不受此影响,主要是Access或SQLite数据库会出现。

六、其他注意点

•服务端路径必须纯英文无空格,虽然不直接引发此错但混用中文路径会使引擎日志写出异常掩盖真实问题。

•若用虚拟机或sandboxie运行,确保宿主机系统时间格式已按第二步修改,虚拟机继承宿主机区域设置。

-部分精简版Win10/Win11改完区域格式要点"应用"后在"管理"选项卡点"复制设置"勾选"欢迎屏幕和系统账户"再应用一次,确保服务账户也读到新格式。

绝大多数情况只需把系统短日期改为yyyy-M-d+清空!Setup.txt中DayOfGuildFountain=后的值即可消除此报错。
[顶部]