M2Server启动或运行中弹出脚本错误,是架设传奇时最常见也最容易被误判的问题。这类报错并非系统崩溃,而是引擎在执行脚本命令时遇到了不符合规则的内容。根据报错信息的特征,可以快速锁定修复方向。下面按报错类型分类,逐一给出处理办法。
时间格式报错:“is not a valid date and time”
M2Server启动时弹出类似“2010-xx-xx xx:xx:xx is not a valid date and time”的提示,引擎无法识别当前系统日期格式。这是因为Hero引擎及其衍生版本只认特定的短日期格式,而Windows 7及以上系统默认带汉字的时间格式不被引擎接受。
修复此问题有两种路径。路径一:点击电脑右下角时间,进入“更改日期和时间设置”,在“更改日历设置”中将短日期格式改为“yyyy-M-d”或“yyyy-MM-dd”。路径二:进入服务端目录下的Mir200文件夹,打开!setup.txt文件,查找“DayOfGuildFountain=”这一行,将后面的时间参数直接删除并保存。
脚本死循环报错:“脚本死循环”与“GOTO”相关
M2报错中包含“[脚本死循环]”字样,并提示“GOTO @XXX”命令超出限制。根本原因是脚本中使用了跳转命令,循环次数超过了引擎设定的上限。打开Mir200目录下的!setup.txt文件,找到“ScriptGotoCountLimit=10”,将数值调大(建议50000以内),保存后重启M2即可。如果调大数值后仍然报错,说明脚本本身存在逻辑问题——最常见的情况是GetRandomText赋值时未清空变量,导致空值判断失效而无限循环。
城堡信息文件找不到:“无法找到城堡信息文件”
M2报错提示“StartTimer exception: Cannot create file ...\Castle\List.txt”。这是由于移动了服务端目录位置,但!setup.txt中记录的城堡文件路径仍然指向原来的绝对路径。修复方法:打开Mir200目录下的!setup.txt,将“CastleFile=”这一行整条替换为“CastleFile=.\Castle\List.txt”,将绝对路径改为相对路径,之后无论服务端移动到哪个盘符都不会再报此错。
数据库加载失败与变量错误
M2提示“无法连接数据库”“加载物品数据失败”或“变量未定义”“变量类型不匹配”等。前者需检查DBC2000是否安装并配置了名为HeroDB的数据库,路径指向Mud2\DB文件夹。后者需打开报错中提示的脚本文件,核对变量名称拼写是否错误,数字型变量(如G0-G99、P0-P99)只能赋值数字,字符型变量(如S0-S99、A0-A99)只能赋值文字,若混用会触发变量类型不匹配报错。
地址访问冲突报错:“Access violation at address”
M2提示“Access violation at address 005F17F8 in module 'M2Server.exe'”。这类报错通常有两种成因:一是上一次启动M2的进程未彻底关闭,重启机器即可解决;二是Mir200\Envir目录下的某个文本文件中有多余的空格或空行,需逐一检查该目录下的文本配置文件。
网关反复开关与端口占用
DBServer或RunGate窗口不停打开又关闭。首先检查Mud2\DBsrv200\!serverinfo.txt与Gate_Server\RunGate\Config.ini中的端口和IP是否对应。其次检查7000端口是否被其他程序(如酷狗音乐)占用,可在GameController的配置向导中将端口改为7001等未被占用的值。
自己架设传奇M2Server脚本错误类型与逐条解决步骤
来源:
作者:
点击:

