Skip to content

Release notes

This file highlights user-facing updates for recent ResourceWorldResetter releases. Full technical history lives in CHANGELOG.md.

Headline: Typed world/network evacuation, configuration isolation, localization, and safer asynchronous resets.

Version 5.2.0 moves GUI-managed resource-world definitions into managed-worlds.yml, adds full localization across four bundled languages with multi-layer fallback, unifies administrative reload and update checks across platforms, and hardens asynchronous Folia player evacuation and Paper GameRule restoration.

  • Discover proxy destinations using GetServers; retain saved manual targets, show current/available/unavailable status, reject duplicate providers, and refresh only the matching open selector on the platform scheduler. Discovery remains runtime-only; schema 5 and version 5.2.0 are unchanged.

  • Evacuate to the default overworld, another loaded local world, a named Velocity/BungeeCord server, or a destination registered by an add-on through API 5.2.0.

  • Select destinations in /rwr gui, including paginated world/provider/proxy lists, manual values, and configurable transfer timeouts (30 seconds by default).

  • Old destination: world settings still load. GUI saves write destination.type and destination.target. Global defaults use the same structure.

  • RWR waits for actual departure before regeneration. Failed, missing, removed, or stalled providers and players who remain in the source world cause a safe abort.

  • Velocity requires bungee-plugin-message-channel = true; use configured backend server names. See Evacuation setup.

  • GUI-managed resource-world definitions and per-world teleport overrides move from config.yml to managed-worlds.yml. Existing combined v5 configurations are imported automatically on startup.

  • Server owners can select a server-wide message language with locale in config.yml. Bundled choices are en_US, zh_CN, ja_JP, and ko_KR; custom translations can be added under locales/.

  • Commands, notifications, administration and teleport GUIs, status values, history labels, and teleport outcomes are localized. Missing keys fall back to bundled English from the JAR.

  • /rwr reload and the administration GUI reload apply configuration, locale, and update-checker settings together without requiring a restart. If a locale cannot be loaded, RWR keeps the previous valid in-game messages active.

  • Fresh installs extract only locales/en_US.yml by default. Set locale to another bundled language and reload or restart to extract that file under locales/.

  • Fresh Paper/Folia installs set default-hub-world to the server default world.

  • Manual resets no longer send duplicate completion or failure messages to the operator who started them.

  • Incoming teleports are blocked earlier in the reset lifecycle and cannot race into an evacuating or regenerating world.

  • Spigot Admin GUI and Reload Parity: The administrative GUI reload on Spigot now refreshes UpdateService settings and MessageService catalogs with localized feedback (gui.reload-success and gui.reload-failed).
  • Platform-correct Adventure delivery: Spigot/CraftBukkit bundles a relocated adventure-platform-bukkit audience bridge and preserves MiniMessage components during delivery. Paper/Purpur/Folia uses its native Adventure implementation without bundling the bridge.
  • Four-Layer Message Loading Fallback: Spigot’s MessageService now mirrors Paper/Folia’s robust fallback hierarchy (bundled en_US → disk en_US → bundled selected locale → disk selected locale).
  • Modern Typed GameRule API on Paper/Folia: Preserved world gamerules now use Bukkit’s typed GameRule<?> and World.setGameRule() API on Paper and Folia.
  • Local destinations: Loaded Bukkit worlds can be used directly; registered worlds use their provider destination. Unloaded and self destinations are rejected.
  • Fall Distance Clearance: Reset evacuation clears a teleported player’s accumulated fall distance to prevent delayed fall damage at the destination.
  • Fixed Worlds post-regeneration gamerule and world-border restoration to run on Folia’s global region.
  • Fixed failed Worlds regeneration callbacks attempting to schedule completion against a source world that may already be deleted.
  • Fixed Spigot teleport admission to hold the reset permit until the synchronous teleport finishes.
  • Fixed Paper reset failure output to render detailed outcome messages.
  • Fixed race conditions during concurrent locale reload and rendering.

The YAML layout has changed in this release. Replacing the JAR alone does not update YAML files that already exist in the plugin data folder, so an existing installation may not receive the new locale setting, locales/ files, or managed-worlds.yml layout automatically.

Before upgrading, stop the server and make a restorable backup of the entire RWR plugin data folder. Then choose whichever migration approach you are comfortable with:

  • Keep the existing folder, compare it with the new templates, and manually transfer your worlds, schedules, teleport settings, and customized messages into the new YAML layout. On first successful 5.2.0 startup, worlds and teleport overrides already stored in a combined v5 config.yml are imported into managed-worlds.yml automatically.
  • Or, after confirming the backup is usable, remove the RWR plugin data folder and start the server once so the new JAR can generate fresh files. Manually copy only the settings and message text you still need from the backup.

Do not delete the data folder without a verified backup. If upgrading from messages.yml, copy customized text into the selected locales/<locale>.yml; the old message file is no longer loaded. After selecting a non-English locale, run /rwr reload once so that language file is written under locales/ if it is not already present.

Headline: Add-ons can now read reset state and react to the complete reset lifecycle without compromising reset reliability.

Version 5.1.0 introduced the stable integration service used by compatible add-ons. It also made resets, warnings, recovery, and shutdown more resilient when provider callbacks or third-party listeners fail.

  • Add-ons can read immutable managed-world and reset-status snapshots through Bukkit’s service registry.
  • Integrations can react to scheduled warnings, cancel a pre-reset event, and observe the final reset outcome.
  • Both platform JARs include the public API, so server owners do not install a separate API plugin.
  • Player warnings and reset cleanup continue when a third-party event listener throws an exception.
  • Configuration loading, interrupted-operation recovery, Folia callbacks, and shutdown handling reject unsafe or incomplete work more consistently.
  • Exceptional reset completion now releases the world lock, records the terminal result, notifies remaining listeners, and settles the schedule.

Stop the server, back up the RWR data folder and managed worlds, replace the existing platform JAR, and perform a full restart. Version 5.1.0 keeps the version 5 configuration format; no configuration migration is required.

Install exactly one matching artifact:

  • Spigot/CraftBukkit requires Java 21+ and Multiverse-Core 5.8.0+.
  • Paper/Purpur/Folia requires Java 25+ and Worlds by TheNextLvl 4.4.0+.

Headline: ResourceWorldResetter now provides dedicated, safe reset engines for Spigot and modern Paper/Folia servers.

Version 5 replaced the legacy shared JAR with two platform-specific builds. Both builds schedule resets, evacuate players, delegate regeneration to the installed world manager, verify the result, and retain history for operator review.

  • Choose a dedicated Spigot/CraftBukkit build powered by Multiverse-Core or a Paper/Purpur/Folia build powered by Worlds.
  • Schedule daily, weekly, monthly, or interval resets in an IANA time zone.
  • Warn and evacuate players before regeneration, then verify and record the outcome.
  • Configure managed worlds through an administration GUI and offer players a permission-aware teleport menu.
  • Review active phases, future schedules, completed resets, failures, and interrupted operations.
  • Preserve seeds, gamerules, level settings, and world borders according to each managed world’s configuration.
  • Folia evacuation and player-facing callbacks run asynchronously on the appropriate entity schedulers.
  • Safe failures follow the configured retry delay and limit, while ambiguous or interrupted resets pause for operator review.
  • World display names are consistent across messages, logs, notifications, status, history, and GUIs.
  • Paper resets no longer deadlock while waiting for asynchronous player teleports.
  • Folia resets no longer block the global region while waiting for entity-region teleport futures.
  • Teleport overrides containing dots are preserved as complete YAML keys.
  • Paper/Folia startup rejects missing, unparseable, or older-than-4.4.0 Worlds installations.
  • Spigot command output, countdown broadcasts, and log messages remain visible through native Bukkit delivery.
  • The legacy shared JAR was replaced by RWR-Spigot-5.0.0.jar and RWR-Paper-Folia-5.0.0.jar. Install exactly one; do not install rwr-core separately.
  • Version 4 configuration is not loaded automatically. Recreate the configuration from the fresh config-version: 5 template.
  • Paper, Purpur, and Folia use Worlds by TheNextLvl instead of Multiverse-Core.
  • Warning intervals use whole-minute warning-minutes; sub-minute legacy warnings are unsupported.

Back up the plugin data folder and every managed world. Remove the version 4 JAR, install the correct world provider and version 5 platform JAR, start once to generate a fresh configuration, and migrate world identities, display names, warning minutes, teleport settings, and schedules. Supervise the first reset and confirm it with /rwr status <id>.

Follow the full Operations and Migration guide before upgrading from version 4.