引擎与M2Server

M2配置与参数问题

涵盖M2Server常见配置参数问题,包括脚本死循环、个人封号不显示、经验倍数无效、宝宝叛变时间设置等解决方案。

M2Server 的 !Setup.txt 包含了大量核心参数配置。升级引擎或修改配置后,一些看似"莫名其妙"的问题往往只是参数设置不当。本文汇总常见的配置相关问题及解决方法。

换了新引擎频繁提示脚本死循环

现象:从老引擎升级到新引擎后,M2 频繁提示"GOTO死循环"或脚本死循环。

原因:新版引擎对脚本死循环的检测更加严格,同时 !Setup.txt 中可能存在重复的 ScriptGotoCountLimit 配置项。

解决方法:

打开 Mir200\!Setup.txt,检查是否存在两条 ScriptGotoCountLimit 配置。如果存在重复,删除一条后重启 M2:

ScriptGotoCountLimit=30
; 如果提示死循环频繁,将 30 改为更高的数值,如 100 或 200
如果调整限制值后仍然频繁提示,说明脚本中确实存在逻辑问题。建议逐段检查 GOTO 跳转逻辑,确保所有跳转路径都有终止条件。

换了新引擎个人封号不显示

现象:从老引擎升级到新引擎后,玩家头顶的个人封号不再显示。

原因:!Setup.txt 中 ShowRankLevelName 参数未开启或存在重复配置项。

解决方法:

打开 Mir200\!Setup.txt,检查 ShowRankLevelName 配置:

ShowRankLevelName=1
; 0 = 不显示脚本个人封号
; 1 = 显示脚本个人封号

如果存在两条该配置项,删除多余的一条后重启 M2。

称号物品与名字封号的完整设置见 称号称谓设置。


经验倍数无效 / 双倍经验下线保存

现象:使用双倍经验卷轴后,经验没有翻倍;或者在双倍经验持续时间内再次使用卷轴无效。

原因:!Setup.txt 中 SaveKillMonExpRate 参数开启了双倍经验下线保存,导致在双倍经验时间内再次使用卷轴只会延长时间而不会叠加倍数。

解决方法:

打开 Mir200\!Setup.txt,修改配置:

SaveKillMonExpRate=0
; 0 = 下线不保存个人经验倍数(推荐)
; 1 = 下线保存个人经验倍数(可能导致经验倍数看似无效)

设为 0 后,玩家下线时双倍经验状态不保留,每次上线重新使用卷轴即可正常生效。


如何设置宝宝叛变时间

现象:需要调整召唤宝宝(下属)的叛变时间,默认约 2 小时。

解决方法:

打开 Mir200\!Setup.txt,找到 MasterRoyaltyRate 参数:

MasterRoyaltyRate=10
; 默认 10,约等于 2 小时

叛变时间计算公式:

MasterRoyaltyRate 的值表示 n/10 倍率:

设置值倍率说明
101.0 倍默认值,约 2 小时
121.2 倍叛变时间延长 20%
202.0 倍叛变时间翻倍
50.5 倍叛变时间减半

数值越大,叛变时间越长。该设置不受 49 天限制。

修改后需要重启引擎才能生效。

相关阅读