Skip to content

当服务器在线人数归零时自动关闭服务器。(别问我有啥用,问就是 K8s 看门狗会自动重启)

License

Notifications You must be signed in to change notification settings

ParaParty/AutoShutdown

Repository files navigation

自 动 关 服

可能有读者会问了,为什么会有自动关服这个需求呢?是不是我写错了怎么的。

其实不是,这是真的是自动关服。

安装

  1. 下载插件 jar 包
  2. 放入插件目录
  3. 重启服务器

使用

  1. 在服务器开启时,本插件会复写服务器 MOTD,并在 MOTD 的末尾添加上本次的开服时间。
  2. 当玩家人数从 1 变为 0 并保护 10 分钟 0 人在线的时候,本插件会自动关闭服务器。
  3. 当玩家人数为 1 时,若这位玩家使用指令 /autoshutdown,则本插件会在这名玩家离开服务器后立刻关闭服务器。
  4. 当玩家人数为 1 时,若这位玩家使用指令 /autoshutdown 但在这名玩家离开服务器签服务器在线玩家人数超过 1,则 /autoshutdown 效果取消。

看不懂,对吧?我也看不懂,我们来画一个 DFA。


  +----------------+
  | 服务器开始启动 |
  +-------+--------+
          | 
          | 有玩家在线
          V
  +-------+--------+
  | 服务器正常工作 | <------------------------+----------------------------\
  +-------+--------+                          |                            |
          |                                   |                            |
          | 玩家人数为 1                      |                            |
          V                                   |                            |
  +-------+------------------------+          |                            |
  | 允许用户使用指令 /autoshutdown +--------->/  有新的玩家进入服务器      |
  +-------+-------------------+--+-+                                       |
          |                   T  |                                         |
          | 未使用指令        |  \----------------------------\            |
          | 该玩家退出游戏    |        该玩家使用指令         |            |
          |                   |                         +-----+------+     |
          V                   |                         | 使用了指令 +---->/ 有新的玩家进入服务器
  +-------+------+            |                         +-----+------+
  | 服务器无玩家 +----------->/ 玩家人数为 1                  |
  +-------+------+                                            |
          |                                                   |
          | 等待十分钟                                        |
          |                                                   |
          V                                                   |
  +-------+----+                                              V
  | 服务器关闭 +----------------------------------------------/
  +-------+----+

最后再随便说些啥

大概就是这样,主要是我用来给一个机会让群友们自己关闭服务器。 在服务器关闭后,又会被 Docker / Kubernetes 的看门狗自动重启, 这样就十分顺利地就能完成一次服务器重启了。

About

当服务器在线人数归零时自动关闭服务器。(别问我有啥用,问就是 K8s 看门狗会自动重启)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages