FastWorldReset

FastWorldReset - 快速世界重置插件

快速重置世界,无延迟,无需重启服务器!适用于小游戏等场景。
Bukkit / Spigot 作者 Govindas 支持版本 1.8 - 1.16
服务器使用量
未统计
服务玩家数
未统计
下载量
8,375
插件详细介绍

借助此脚本,您可以轻松重置世界,无需重启服务器且无延迟!本插件适用于生存和迷你游戏两种环境,能够同时重置数十个迷你游戏世界,且不会对玩家造成卡顿。

如果您觉得速度太慢,请联系我,我会尽力优化,但我高度怀疑这种情况会发生。

工作原理

本插件提供两种重置模式:一种更稳定但较慢,另一种更快,但若失败会自动回退到稳定模式。

基于区块的重置系统(仅适用于 Minecraft 1.8-1.12.2 版本)

  • 这是最快的重置系统。它通过禁用世界保存并重新加载区块来重置,不进行任何方块更改,因此是目前最快的重置方式。如果服务器未能阻止世界保存,它将回退到基于世界的重置。此系统使用 Paper API 来确保世界不被保存,但也适用于 Spigot,只是阻止保存的效果可能稍差。推荐使用 Paper。
  • 注意:此模式仅适用于短期存在的世界(如迷你游戏),因为它会禁用区块卸载(仅在重置时卸载它们)。
  • 在 1.8-1.12.2 版本中,基于区块的重置默认启用,您可以使用 /fwr disable-chunk-reset <world> 禁用它。

基于世界的重置系统(适用于所有 Minecraft 版本)

  • 此模式会创建世界的副本。重置时,它会卸载世界,复制其“region”文件夹数据,然后重新加载世界。如果您需要重置一个希望在服务器重启间保持状态、仅在命令下重置的生存世界,建议禁用基于区块的重置,仅使用此模式。
  • 它经过良好优化,通过禁用其他世界管理插件中各种无用的世界加载任务,重置速度应比其他基于世界的系统更快。
  • 在 1.13+ 版本中,基于世界的重置默认启用。

依赖项

  • 必需
  • Skript (2.6+)
  • skript-reflect (2.2.3+)
  • 可选
  • GovindaSK(用于在性能密集型场景中减少 skript-reflect 的使用,以加快世界重置速度!如果未找到 GovindaSK,会自动回退到使用 skript-reflect 卸载区块,并抛出 2 个可安全忽略的错误。速度差异仅在重置大型世界时可见。)
  • (仅对 1.8 - 1.12.2 版本有用)

安装

  • fastworldreset.sk 文件放入 plugins/Skript/scripts 文件夹。
  • 打开该文件,根据需要查看并修改配置(某些设置可能需要编辑配置才能使脚本正常工作)。
  • 推荐:在 config.sk 中配置数据库,使其不保存以“-”字符开头的变量!这能带来巨大的性能提升!如果不配置,某些功能可能无法正常工作。
  • 警告:为确保最快速度,请确保没有其他世界管理插件管理 FastWorldReset 的世界。同时,建议使用 Linux 系统,因为在 Windows/Mac OS 上重置时延迟会大得多。

使用说明

所有命令需要 OP 权限或 fastworldreset.use 权限。

命令别名/fastworldreset/fwr

  • /fwr create <world> [generator] - 将世界添加到 FastWorldReset 系统,或在系统中创建一个全新的世界(或更新现有世界的模板)。
  • /fwr delete <world> - 从 FastWorldReset 系统中移除世界,不会卸载或删除世界本身。
  • /fwr clone <world> <new-world> - 克隆一个 FWR 世界。
  • /fwr reset <world> - 重置一个世界(必须在 FastWorldReset 系统中)。
  • /fwr exit - 设置当玩家所在世界重置时,他们被传送到的退出点。
  • /fwr load <world> [generator] - 加载一个世界。可选择指定生成器。
  • /fwr unload <world> [<true/false>] - 卸载一个世界。true/false 表示是否保存世界,默认为 true。
  • /fwr unload-chunks <world> <true/false> - 卸载指定世界的区块,可选择是否保存。
  • /fwr tp <world> [player] - 传送到一个世界,或将另一名玩家传送到该世界。
  • /fwr disable-chunk-reset <world> - 禁用指定世界的基于区块的重置,使区块正常卸载。在世界占用大量 RAM 且您宁愿选择较慢的重置也不愿高内存占用时可能有用。
  • /fwr enable-chunk-reset <world> - 启用基于区块的重置(默认启用以获得最快速度)。请参阅上文了解禁用方法。(此模式仅适用于迷你游戏地图等场景,不适用于需要在服务器重启间保持更改的情况!)
  • /fwr worlds - 显示所有世界及其数据的列表。
  • /fwr generator <world> <generator> - 为世界设置生成器。
  • /fwr generators - 列出服务器上检测到的所有世界生成器。
  • /fwr info <world> - 查看指定世界的信息。
  • /fwr resetstats - 用于调试重置错误。
  • /fwr optimize-template <world> - 用于从世界重置模板中移除不需要的文件。

API 与事件

此脚本附带一个简单的 API,可在您的脚本中使用。

您可以通过以下事件监听世界开始重置

on start of world reset:
    broadcast "%event-world% is starting to reset!"

通过以下事件监听重置完成

on complete of world reset:
    broadcast "%event-world% has completed resetting!"

on complete of world reset 事件在世界完全重置完毕、可供任意使用时触发。

支持

您可以通过在 Git 仓库 创建 issue 来获取支持。或者,您也可以加入我的 Matrix 聊天室 获得实时聊天支持。

测试支持版本
1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16
版本分布
基本信息
插件名称 FastWorldReset
作者 Govindas
平台 Bukkit / Spigot
支持版本 1.8 - 1.16
点赞数 6
最近版本
暂无数据 -