单机搭建传奇服务端,启动M2Server的时候经常会弹出脚本错误提示,很多新手不清楚报错来源,反复重启程序也无法解决问题,下面分场景讲解故障原因以及对应的排查步骤,按照顺序逐一核对即可定位问题。
M2Server脚本错误大体分为几大类,脚本语法错误、文件编码异常、文件缺失损坏、引擎版本不匹配、路径中文或者权限不足,不同类型报错对应的处理方式不一样。先查看M2窗口内的报错日志,日志会标注出错脚本的文件路径和行数,优先记录这一行信息,定位文件之后再进行修改,不要盲目替换整套脚本。
第一类,脚本语法错误。这类是出现频率最高的情况,脚本内指令书写格式不对,括号、分隔符缺失,参数数量不对,注释符号使用错误,都会触发M2加载报错。打开日志里提示的脚本文本,找到对应行数查看内容。检查每一条命令的格式,传奇脚本对符号敏感,中英文符号不能混用,所有括号、逗号必须使用半角英文符号,中文标点会直接造成解析失败。部分复制来的脚本会混入多余空格或者换行符,删除行首行尾多余空白字符,保存文件之后重新启动M2。如果是条件判断、跳转相关指令报错,核对指令参数,确认参数数量符合当前引擎支持规范。修改脚本文件的时候,使用记事本打开,不要用带自动排版的文本工具,这类工具会自动转换字符,破坏脚本原有格式。
第二类,脚本文件缺失或者损坏。M2加载时需要读取Mir200文件夹下的Quest、MapQuest、Market_Def等目录内脚本文件,文件丢失、压缩包解压不全,解压过程文件损坏,杀毒软件隔离脚本文件,都会触发脚本错误提示。打开服务端Mir200目录,核对日志提示的脚本文件是否存在,文件不存在就从原始安装包提取对应文件放回原目录。文件存在但大小异常,大概率是文件损坏,直接替换该单个脚本文件。解压服务端压缩包前,暂时关闭电脑防护软件,解压完成后将整个服务端目录添加信任,防止防护程序自动删除脚本文件。右键Mir200文件夹,取消只读属性,应用到所有子文件夹和文件,只读状态会导致M2无法读取脚本内容。
第三类,文件编码引发的脚本报错。Windows记事本默认保存编码为ANSI,部分脚本保存成UTF8编码,M2读取的时候识别乱码,报脚本错误。右键脚本文件,选择打开方式用记事本打开,点击另存为,在保存窗口下方的编码选项,选择ANSI,覆盖保存。批量处理脚本编码时,可以批量打开脚本文件重新另存,一次性修正编码问题,避免逐个修改浪费时间。
第四类,引擎版本不匹配导致脚本无法解析。高版本引擎不兼容旧版脚本语法,旧引擎无法识别新版新增脚本指令,启动M2就会持续弹出脚本错误。查看M2窗口第一行显示的引擎版本,核对脚本配套的引擎版本信息。如果脚本是旧版本编写,当前引擎版本过高,两种处理办法,换回脚本对应的原版引擎,或者使用引擎自带的脚本转换工具,对脚本进行格式转换。转换脚本前,先备份Mir200整个文件夹,防止转换失败造成脚本内容损坏。引擎更新或者降级之后,必须重新核对所有自定义脚本,部分扩展指令无法跨引擎直接使用。
第五类,服务端存放路径包含中文字符。整个服务端文件夹存放路径内,任何一级文件夹名称不能出现汉字、特殊符号。路径示例D:\mirserver是合规路径,D:\单机传奇\mirserver这类带有中文文件夹名称,M2读取脚本时路径解析异常,出现各类不明脚本报错。把服务端移动到纯英文数字路径下,全部程序关闭之后重新启动。
还有一些容易忽略的细节,自定义NPC脚本、任务脚本、爆率脚本都归属于M2读取的脚本体系,修改NPC名称、任务触发条件后保存不当,同样会触发报错。每次修改脚本,需要完全关闭M2Server,修改保存完成之后再重新启动,M2运行过程中修改脚本不会实时生效,还容易造成文件读写异常。
排查顺序建议新手遵循固定流程,先查看M2日志定位出错文件,检查服务端路径,确认文件存在且没有被隔离,取消文件夹只读属性,核对脚本内标点符号,修正文本编码。前面几项排查完成依旧报错,再考虑引擎版本兼容问题,不要一开始就直接替换引擎,很多脚本报错只是简单的符号或者编码问题,不需要更换引擎。处理完成之后,启动M2,观察日志窗口,不再提示脚本错误,代表本次故障修复完成。
传奇单机搭建M2Server启动弹出脚本错误各类原因与完整排查处理教程
来源:
作者:
点击:

