先把服务端MirServer文件夹完整复制一份到其他盘符做全量备份,后续任何配置出错都能直接用备份覆盖恢复,不用重新解压架设版本。所有操作都要在关闭游戏登录器、停止所有服务端进程的状态下进行,避免修改时文件被引擎占用导致保存失败。
第一种方法是游戏内GM命令手动开启,这是最省事的临时测试方式,不需要修改任何服务端文件。先登录游戏角色,输入开启GM权限的命令,不同引擎的基础GM命令基本统一,输入@allowgm 1就能激活当前角色的管理员权限,确认权限激活后,直接输入攻城触发命令@MobSiege,回车发送后屏幕上会立刻弹出全服公告,提示怪物攻城已经正式开启,比奇城、盟重省的几个固定刷新点会立刻刷出第一波怪物。如果想要指定刷新的怪物种类,不用系统默认的配置,就输入@MobSiege 沃玛教主 10,这条命令可以直接在全服主城周边一次性刷新10只沃玛教主,数值部分可以自行调整,最高建议设置不超过50,避免短时间怪物数量过多导致单机端卡顿闪退。部分老版本引擎的命令存在细微差异,要是输入后没有反应,就打开M2控制台的游戏命令面板,在管理命令列表里找到描述为怪物攻城的条目,就能看到当前版本对应的准确命令,也可以自行修改命令字符设置成自己好记的格式。手动开启的怪物攻城默认持续60分钟,到时间后所有攻城怪物会自动清理,不需要手动操作,中途想提前结束直接输入@StopMobSiege命令就能立刻终止活动。
第二种方法是服务端配置文件固定自动开启,这是最稳定的长期运行方式,能自定义攻城的时间、怪物种类、刷新位置和掉落奖励。先找到服务端Mir200目录下的Envir文件夹,不同引擎的核心配置路径基本一致,先打开CastleSiege.txt文件,没有这个文件就新建一个同名的文本文档,按规则写入配置内容。首先设置攻城周期,想每周固定几天开启就写入Cycle=Week;Week=6,7,代表每周六和周日触发攻城,想每天都开启就把这行改成Cycle=Day;。接下来设置具体时间,写入StartTime=Hour=20;Minute=0,代表晚上八点整准时开始攻城,Duration=120代表攻城总时长为120分钟,NeedCastle=0代表不需要先开启沙巴克攻城,直接触发全服怪物攻城,最后一行写入Notice=SendMSG=0 怪物攻城活动即将开启,大量BOSS携带极品装备即将涌入主城,所有玩家可前往击杀获取奖励。所有标点符号都要用半角英文格式,不能用中文分号,否则引擎读取配置时会直接报错。
接下来打开Envir目录下的Siege子文件夹,没有这个子文件夹就手动新建一个Siege文件夹,在里面新建MonsterSiege.txt文件,用来配置攻城的怪物刷新规则。先打开服务端DB文件夹里的Monster.DB,找到你要加入攻城的怪物的对应ID,比如稻草人ID是10,钉耙猫ID是11,沃玛教主ID是1001,祖玛教主ID是1002,把这些ID记录下来。之后回到MonsterSiege.txt,按统一格式逐行写入刷新规则,格式为怪物ID|刷新数量|地图ID|X坐标|Y坐标|刷新间隔|主动攻击标记。比如写入10|30|2 300 300 120 1,就是在比奇城地图ID为2的300,300坐标点刷新30只稻草人,每2分钟补充刷新一波,怪物自动主动攻击玩家。地图ID可以打开Envir目录下的MapInfo.txt对照查询,比奇城默认地图ID是2,盟重省默认地图ID是3,所有坐标都可以在游戏里输入@查看坐标命令获取,选主城城门附近的开阔点位,不要选墙角或者建筑内部的坐标,避免怪物刷新后直接卡进地图里动不了。单地图同一时间的攻城怪物总数量不要超过80只,不然单机端的引擎运算压力太大,容易出现帧率下降甚至闪退的情况。
最后在Siege文件夹里新建CastleReward.txt文件,配置攻城的专属掉落奖励。写入SiegeDropRate=3,代表攻城期间所有怪物的爆率提升3倍,之后逐行写入自定义掉落规则,比如DropItem=屠龙 1 1/1000,代表攻城BOSS有千分之一的概率掉落屠龙,DropItem=祝福油 1 1/20,代表所有攻城小怪都有二十分之一的概率掉落祝福油。配置完成后按顺序保存所有文件,完全关闭所有服务端控制台窗口,重新从数据库服务开始按顺序启动所有进程,等M2控制台显示所有脚本加载完成没有红色报错后,配置就正式生效了,到了设定的时间点引擎会自动触发全服公告,按配置规则刷新怪物,全程不需要手动操作。
第三种方法是机器人脚本定时触发,适合搭配其他游戏活动联动开启攻城。打开Envir目录下的Robot_def文件夹,先打开AutorunRobot.txt,在里面写入定时触发规则,比如写入AUTORUN 20:00 怪物攻城触发,代表每天晚上八点执行对应的脚本段。之后打开同目录下的RobotManage.txt,在里面新建对应的脚本段,段名要和前面定时规则里的名称完全一致,脚本段里先写入全服公告命令,再依次调用怪物刷新命令,最后加上活动结束的自动清理命令。写完后保存文件,在M2控制台的选项设置里找到机器人脚本选项,勾选启用自动机器人脚本,重启引擎后定时脚本就会正常运行,还可以在脚本里加入攻城期间自动开启双倍经验的逻辑,让活动的整体体验更丰富。
配置过程中遇到异常问题可以按对应方案排查:到了设定时间攻城没有自动开启,先检查配置文件里的标点符号是不是全用了半角格式,再确认M2控制台里的对应文件夹路径有没有设置错误,最后核对配置文件的文件名有没有写错,比如把CastleSiege.txt写成了CastleSiege.txt.txt,系统默认隐藏扩展名时很容易出现这类问题;攻城怪物刷新后卡在原地不动,是刷新坐标选在了地图的障碍物点位,重新换一个主城开阔区域的有效坐标,修改配置保存后重启引擎就能解决;开启攻城后服务器直接卡顿崩溃,是单次刷新的怪物数量设置得太大,把单波刷新的怪物数量调低,拆分成多批次间隔刷新,引擎的运算压力就会恢复正常;攻城结束后怪物没有自动清理,是没有在配置里设置自动清理规则,在引擎参数设置的时间控制板块里,找到怪物攻城结束清理怪物的选项,勾选启用之后就能解决这个问题。
每次调整完配置后,先手动用GM命令测试一次攻城,确认怪物刷新、公告、掉落都正常运行,再交给定时规则自动触发,避免正式到时间后出现配置异常。所有配置文件修改完成后,都可以单独复制一份存到其他位置,后续版本重装时直接把这些文件放回对应目录,就能快速恢复怪物攻城的完整配置,不用重新逐行编写。

