Forge Auto Shutdown

21总浏览

0总收藏

0 0
收藏

Forge Auto Shutdown

编辑

MOD介绍

这个mod能够每天定时重启你的服务器,目前只能设置每天重启一次。这个mod叫做Auto Shutdown的原因是,这个mod干的事情仅仅是把服务器关闭罢了,重新启动是交给启动脚本来处理的。


当然这个mod的功能不止这么简单,这个mod增加了玩家投票重启的功能,如果超过一定数玩家的支持,重启就会被触发。


由于某喵呜J的建议,目前该mod又增加了一个Watchdog从而支持了两个新功能:在服务器假死(Stall或Hung)或TPS过低超过一定时间之后会自动重启。所以即使不想自动重启,也可以装这个mod解决服务器假死不能自动重启的问题。


目前该mod支持1.7.10/1.8两个版本,并且支持Cauldron/KCauldron服务器,只需要在服务器安装即可。


指令说明:本mod新增一个指令/shutdown,用于投票重启。首先需要有一个玩家运行/shutdown发起一个投票。之后所有的玩家都必须使用/shutdown yes或/shutdown no投票。所有玩家投票完之后如果投No的人超过一定人数那么就不会重启,如果没超过人数就会重启。


安装之后需要修改你的服务器启动脚本:


Windows下(Shell):

    @echo off

    :start
    [原本的启动参数]
    goto start

Linux下(Bash):

    #!/bin/bash

    while true
    do
       [原本的启动参数]
    done

Windows下想退出请按Ctrl+C,Linux下如果用的tmux请Ctrl+C,用的screen直接Ctrl+A之后输入:quit。


设置文件介绍:

messages {

    # 在重启之前将玩家kick出去的提示

    S:Kick=Scheduled server shutdown


    # 重启之前的警告信息。%m代表剩余分钟

    S:Warn=Server is shutting down in %m minute(s).

}

schedule {

    # 如果为true,服务器将会定时重启

    B:Enabled=true


    # 重启的小时(例: 8代表早上8点) [范围: 0 ~ 23]

    I:Hour=6


    # 重启的分钟(例: 30代表30分) [范围: 0 ~ 59]

    I:Minute=0

}

voting {

    # 取消重启的No投票数阀值(超过该投票数投票就会失败) [范围: 1 ~ 999]

    I:MaxNoVotes=1


    # 发起投票所需最小的在线玩家数 [范围: 1 ~ 999]

    I:MinVoters=2


    # 如果设置为true则开启投票重启功能

    B:VoteEnabled=true


    # 重新发起一个投票的最短间隔(分钟) [范围: 0 ~ 1440]

    I:VoteInterval=15

}

watchdog {

    # 如果设置为true,mod会在强制关闭服务器之前尝试保存世界信息和数据。注意:设置为false可能会关闭服务器快一点,但是造成世界损坏几率会高

    B:AttemptSoftKill=true


    # 如果设置为true,mod会在服务器未响应或者假死情况下尝试关闭服务器

    B:Enabled=true


    # 检测服务器未响应(即假死)的间隔时间(秒) [范围: 1 ~ 3600]

    I:Interval=10


    # TPS在这个值以下会被认为"非常低" [范围: 0 ~ 19]

    I:LowTPSThreshold=10


    # 在TPS"非常低"的情况下持续多少秒会自动重启 [范围: 1 ~ 3600]

    I:LowTPSTimeout=30


    # 服务器未响应多少秒后会被关闭(如果装了Sampler请设置为35秒以上) [范围: 1 ~ 3600]

    I:Timeout=40

}


本mod完全开源,如果想参考代码或者提交建议/bug请到:https://github.com/Gamealition/ForgeAutoShutdown