Everything required to install, configure, operate, recover, and migrate ResourceWorldResetter 5 across its two supported platform families.
01 · Foundations
Getting started
ResourceWorldResetter schedules and coordinates resource-world regeneration. It evacuates players, invokes the installed world provider, verifies the result, and records a terminal history entry.
Requirements
Java 21+ for Spigot, or Java 25+ for Paper/Purpur/Folia with Worlds 4.4.0+
Confirm intended resource dimensions are registered in Worlds.
Place RWR-Paper-Folia-5.1.0.jar in plugins/.
Remove the Spigot RWR artifact and restart fully.
Use the Worlds key detected by the admin GUI, such as worlds:resource.
Do not install Multiverse-Core for RWR on this platform. The Paper/Folia artifact uses Worlds and Folia-safe schedulers. Player evacuation is asynchronous and does not block the global-region thread.
04 · Configuration
Configuration model
v5 requires config-version: 5. A reload is transactional: invalid input is rejected while the previous active settings and schedules remain in service.
Setting
Purpose
timezone
IANA timezone used for schedules and history output.
default-hub-world
Default safe evacuation destination.
reset-policy
Safe retry count, delay, and completion broadcast behavior.
worlds.<id>
Stable RWR identifier used by commands and configuration.
multiverse-world
Provider identity. The compatibility-oriented field name is also used for Worlds keys on Paper/Folia.
display-name
Single presentation name for chat, logs, status, history, and GUIs.
warning-minutes
Whole-minute countdown points; use [] to disable warnings.
regeneration.seed-policy
SAME, RANDOM, or a fixed seed configuration.
evacuation.destination
Loaded provider world used as the safe destination.
teleport
Discovery, visibility, locked entries, and destination permission overrides.
Show managed-world state, active reset phase, and calculated next schedule.
/rwr history [count]
rwr.history
Read persisted terminal and interrupted operations.
/rwr reset <id>
rwr.reset
Start a guarded immediate reset through the coordinator.
/rwr reload
rwr.reload
Transactionally validate and activate YAML changes.
/rwr gui
rwr.admin
Open the administration dashboard.
/rwr tp
rwr.tp
Open the player destination GUI.
06 · Access
Permissions
These nodes are registered in both platform artifacts. Destination-specific access is configured per teleport entry rather than as a second static plugin node.
Node
Default
Allows
rwr.admin
Operator
Administration GUI and admin actions.
rwr.reload
Operator
Transactional reload.
rwr.reset
Operator
Immediate reset requests.
rwr.status
Operator
Status inspection.
rwr.history
Operator
Reset history inspection.
rwr.tp
Everyone
Open and use the teleport GUI.
rwr.teleport.world.*
Operator
Bypass destination-specific teleport permissions.
Leave a destination permission blank to make it public to anyone with rwr.tp. Set it to any Bukkit node (for example a LuckPerms group) to restrict that destination. Operators with rwr.teleport.world.* still see and use locked destinations.
07 · Lifecycle
Reset phases and safety
PRECHECK
Validate provider registration, loaded state, configuration, and recovery journal.
EVACUATE
Move players and confirm the source world is empty. Incoming RWR teleports are blocked.
REGENERATE
Invoke the authoritative provider while retaining world and global reset locks.
VERIFY
Confirm provider registry, loaded state, identity, and safe spawn.
COMPLETE / FAILED
Persist terminal outcome and release locks.
INTERRUPTED
Record an operation found active after restart without replaying it.
08 · Automation
Schedules and warnings
Supported types are daily, weekly, monthly, and interval. Calendar schedules use the configured timezone. Warning values are whole minutes and are deduplicated before scheduling.
After editing schedules manually, run /rwr reload.
Confirm the calculated next schedule with /rwr status.
Use an empty warning list when countdown broadcasts are unwanted.
Shutdown cancels one-shot reset and warning tasks; schedules are reconstructed on normal startup.
09 · Player safety
Evacuation and teleport protection
The destination must resolve to a loaded, safe location. A disabled or unavailable destination stops the reset safely while players remain.
Spigot performs synchronous Bukkit teleports on its server thread.
Paper uses its safe primary-thread path without waiting on teleportAsync.
Folia begins entity-region asynchronous teleports and resumes the reset from the global scheduler only after completion.
Regeneration is never invoked while the remaining-player count is non-zero.
10 · Interfaces
Admin and player GUIs
The administration dashboard supports managed-world setup, global settings, teleport configuration, history, and guarded confirmations. The player GUI discovers eligible provider worlds without loading them, paginates destinations, shows player counts, respects custom permissions, and blocks unsafe access during resets.
If anvil text input is unavailable, RWR falls back to chat input. GUI changes pass through the same configuration validation and persistence path as manual edits.
11 · Recovery
Interrupted and failed operations
Read /rwr status and /rwr history 10.
Inspect the server log and reset-history.json.
Verify the provider reports the expected world identity and loaded state.
Confirm no players remain in the managed world.
Retry only when the result says safe to retry. Review ambiguous outcomes manually.
RWR intentionally does not auto-repeat an interrupted regeneration. Repeating an operation whose provider outcome is unknown can destroy valid world state.
12 · Legacy
Migration from v4.2.1 or earlier
v4.2.1 is the final legacy maintenance release. v5 does not automatically load v4 configuration.
Back up worlds and the complete legacy plugin folder.
Choose the v5 artifact and provider matching the server platform.
Remove the v4 JAR; never run both generations together.
Start v5 once to generate config-version: 5.
Manually recreate stable world IDs, provider identities, display names, schedules, warning minutes, evacuation destinations, and teleport permissions.
Run a supervised reset before enabling unattended schedules.