KillServer

强制关闭 Minecraft 服务端

管理

一键安装指令

!!MCDR plugin install kill_server

作者

数据同步于

...

上次更新

...

最新版本

总下载量

12

返回插件仓库

KillServer

在关服卡死时强制关闭服务器

Warning

此插件使用 dowhen 模块实现, 可能不够稳定

介绍

对于下面的两种情况(实际可能还有更多适用的情况):

  1. Fabric 服务器卡死不关闭
  2. pause 命令诱发用户Ctrl+C操作,导致 MCDR 关闭与存档恢复冲突,最终致使存档损坏

本插件提供监听服务器关闭并且在这些情况下强制关闭服务器的功能, 给小白腐竹们提供一个简单且无脑的解决方案

配置

配置项类型默认值含义注释
enableboolTrue是否启用插件不影响事件分发
waiting_timefloat60等待服务器关闭的时间, 超时强制关闭单位为秒

使用方法

直接安装到 MCDR 的插件文件夹下即可, 可以从 GitHubPluginCatalogue 手动下载插件文件

你也可以用下面的 MCDR 命令安装 KillServer

!!MCDR plg install kill_server

安装后只需要注意服务器关闭不要用 Minecraft 原生的 /stop 命令, 换用 MCDR 命令来关闭, 比如 !!MCDR server stop !!MCDR server restart

你都用 MCDR 了竟然还不知道原生 /stop 会让 MCDR 关闭吗?
你都用 MCDR 了竟然还用不支持运行时回档的备份模组而不是 PrimeBackup、QuickBackupM 吗?

新的事件

KillServer 创建了三个字面量事件 ServerStoppingEvent, PluginStoppingServerEventWorldSavedEvent

from kill_server import ServerStoppingEvent, PluginStoppingServerEvent, WorldSavedEvent

ServerStoppingEvent

KillServer 创建了一个字面量事件 ServerStoppingEvent = LiteralEvent("kill_server.server_stopping") 用以监听服务器关闭, 这个事件会在服务器关闭时 (例如 /stop 被调用时) 分发

  • 事件 ID: kill_server.server_stopping
  • 回调参数: PluginServerInterface

PluginStoppingServerEvent

KillServer 创建了一个字面量事件 PluginStoppingServerEvent = LiteralEvent("kill_server.plugin_stopping_server") 用以监听 由插件或调用 MCDR 命令 导致的服务器关闭, 这个事件会在服务器关闭时 (例如 !!MCDR server stop 被调用时) 分发

  • 事件 ID: kill_server.plugin_stopping_server
  • 回调参数: PluginServerInterface

WorldSavedEvent

KillServer 创建了一个字面量事件 WorldSavedEvent = LiteralEvent("kill_server.world_saved") 用以监听服务器是否将世界保存好, 这个事件会在服务器保存世界完成时 (例如 /save 被调用之后) 分发

  • 事件 ID: kill_server.world_saved
  • 回调参数: PluginServerInterface

Tip

如果你只是需要各个事件而不需要强制关闭功能的话可以把配置中的 enable 项设定为 false, 该配置只会影响强制关闭功能而不会停止事件分发

自述文件来源:src/KillServer/README.md