在已经开了档的情况下,如果想中途修改血月频率,单机版可以直接指定存档设置,服务器可以编辑 serverconfig.xml 文件的 BloodMoonFrequency 变量然后重启。但是这游戏对重新设置频率以后的血月起始日期有着谜之逻辑。表面上看似乎是从上一个真正发生血月的日期开始算起。但实际试验下来,只要某一天已经冒了红色字体的日期(8:00开始宣告为血月日),即使不到22:00就被改掉,系统还是固执地认为这天是新的血月起始日,新的频率天数是从这一天往上累加。这就造成了一个搞笑的困境,假如我在第9天的时候想把血月频率从默认的7天改成5天、逢5的倍数天发生,基本没法一步到位,得不断地调整、多次重启存档,甚至要等到第15天才能改成5天的频率。这对于服务器来说是超麻烦的事情。
官方文档也没有直接说明该怎么指定下一个血月的发生日期。我问了ChatGPT,回答了一堆方案,最后试出来能用的命令总结如下。直接在 telnet 终端或者游戏内 F1 控制台就能输入,无需重启,立即生效。
查看下一个血月:getgamestat BloodMoonDay
指定下一个血月为第15天:setgamestat BloodMoonDay 15
查看当前血月频率:getgamepref BloodMoonFrequency
指定血月频率为5天:setgamepref BloodMoonFrequency 5
当然了,最稳妥还是要在 serverconfig.xml 文件里修改血月频率,因为服务端重启后肯定是按配置文件生效。而对于下一个血月的日期,服务端不提供配置机会,用命令改了之后也会自动保存,所以改一次就行。