这行红字意思是“不是一个合法的日期时间”,GOM/GEE/HERO 启动时 M2Server 一解析时间字符串就炸。不是引擎坏了,是某处时间字符串格式不对。按下面顺序查,别重装。
一、先修系统时间格式(80% 在这)
引擎只认横杠分隔,不认斜杠/点号/中文。
1. 右下角时间 → 调整日期和时间 → 语言和区域 → 区域格式 → 更改格式
2. 短日期改成:yyyy-MM-dd(或 yyyy-M-d)
3. 长时间改成:HH:mm:ss
4. 时区锁死:(UTC+08:00) 北京、重庆、香港、乌鲁木齐
5. Win+R → regedit → HKEY_CURRENT_USER\Control Panel\International
- sShortDate = yyyy-MM-dd
• sTimeFormat = HH:mm:ss
6. 改完注销或重启电脑,再起 M2
虚拟机额外做:关 VMware Tools 时间同步,别恢复快照回退时间。
二、修 !Setup.txt 里的时间参数(老 GOM/HERO 必查)
路径:MirServer\Mir200\!Setup.txt
Notepad++ 打开,Ctrl+F 搜:
• DayOfGuildFountain=
- ServerStartTime=
• EndTime=
• OpenServerTime=
• DateTimeCheck=
正确写法:2026-09-12 13:00:00(横杠+空格+冒号,四位年,月日补零)
错误写法:2026/9/12、26-9-12、2026.09.12、202609121300
最快处理:
• 把等号后面时间全删,留 DayOfGuildFountain=(引擎自动取系统时间)
• 或整行前加 ; 注释掉
- 保存,关 M2 删 ScriptCache.dat / 日志,重启全套
三、查脚本里时间变量(启动不崩、运行中弹红)
重点文件:
• Mir200\Envir\QFunction-0.txt
- QManage.txt
• LoginQuest.txt
• Robot.txt
• MapEvent.txt
搜关键字:STR、DAY、$TIME、StrToDateTime、FormatDateTime、CheckTime、AutoMove
常见死法:
• 变量为空直接转时间:上次登录时间存成 "" 或 "NULL"
• 硬编码 "2023年10月1日"、"2023/13/45"(13月直接非法)
• 从数据库读时间字段没判空就 GOTO 计算
修法:
• 转时间前加 #IF 判断非空且长度>8
• 非法值给默认 Now() 或 "2026-01-01 00:00:00"
• 脚本文件另存为 ANSI,别用 UTF-8-BOM
四、修数据库脏时间(能起 M2 但加载角色崩)
MySQL 用 Navicat,DBC 用 DBRepair:
查表:TBL_CHAR、UserData、Guild、Event、Mail
找字段:CreateTime、LastLoginTime、ExpireTime、RegDate
非法值典型:
• 0000-00-00 00:00:00
• 1970-01-01 00:00:00
• 2023-13-01
• 空字符串
MySQL 修复 SQL:
ALTER TABLE TBL_CHAR MODIFY COLUMN CreateTime DATETIME DEFAULT CURRENT_TIMESTAMP;
UPDATE TBL_CHAR SET CreateTime = STR_TO_DATE(CreateTime,'%Y-%m-%d %H:%i:%s') WHERE CreateTime LIKE '%/%' OR CreateTime='0000-00-00 00:00:00';
UPDATE TBL_CHAR SET CreateTime = NOW() WHERE CreateTime IS NULL OR CreateTime='';
SQLite 老库:
UPDATE 表名 SET 时间字段=NULL WHERE 时间字段='0000-00-00 00:00:00';
再改字段允许 NULL 或给默认 CURRENT_TIMESTAMP
五、GOM 专属:ESP 时间校验
GOM 新版带 ESP 封挂插件,单机报“请先同步再使用”:
• 直接删 GomEngine\Plugins\esp.dll(单机测试)
• 外网服买正版 ESP 插件对齐时间服务,别硬删
六、改完必做动作
1. 任务管理器结束 M2Server.exe / DBServer.exe / LoginSrv.exe 残留
2. 删 MirServer\Mir200\Log\ScriptCache.dat 和当天 log
3. 按顺序起:DBServer → LoginSrv → Gate → M2
4. M2 窗口看“Load Time Config OK”无红字才算过
七、速查口诀
• 斜杠改横杠,中文改数字,补零四位年
• Setup.txt 时间行删光最稳
• 脚本转时间前先判空
• 数据库 0000-00-00 全 UPDATE 成 NOW()
• 系统区域锁 yyyy-MM-dd + UTC+8
• 改完注销重启,别只保存就起 M2
一句话收尾:这报错不是玄学,是“某处写了 2026/9/12 或 0000-00-00 引擎不认”。先把系统格式拧成 yyyy-MM-dd,再把 !Setup.txt 里时间行清掉或改标准格式,最后扫脚本和数据库脏时间,M2 就能正常 Load Time Config。下次再弹,别关日志,看它指到哪个文件哪一行,比百度准。
传奇报错 "is not a valid date and time" 解决:系统格式、配置文件、脚本、数据库
来源:
作者:
点击:

