Restore/reset worlds at specific times without kicking players (optional) from the server! No need to go through the hassle of resetting your worlds manually anymore. Plenty of features and many more to be added soon.
This plugin does not depend on any other plugin. PlaceholderAPI and Mutliverse are soft depenencies (meaning they are not required). But we highly suggest using at least Mutliverse. For available placeholders, check out the PlaceholderAPI spoiler below.
Based on all the testing we've done, the plugin shows to be stable- however, it is still recommended to use it in a testing environment.
We try our best to fix bugs as soon as they become apparent - We ask that you report any bug(s) you encounter (Discord server).
You can find the guide on our Discord Server until the WIKI is released.
Version 0.2.4 - BlackNovember
Detailed wiki coming soon!
➼ 1.8.8 - 1.18.x Spigot/Paper Supported.
➼ Simple to Use/Setup - Quickly set up and edit world configurations with commands or in the worlds.yml file. Tab complete will help you quickly set-up/edit a world configuration.
➼ Backups - Back your world up to restore it later for a fresh start!
➼ Scheduled Resets - Schedule specific time(s) you want your world(s) to reset. No need to manually do so! Intervals are supported too!
➼ Fast - Plugin attempts to use minimal ram/memory. Data is saved to cache and quickly accessed when needed.
➼ Optimizable - Tailor how chunks are loaded to your CPU power or player amount. Minimal TPS drop with 'recursive' chunk loading.
➼ Uninterrupted Experience - Continue playing on the server while the world is resetting with little to no TPS drop/lag - just send all your players to a safe world while the world resets.
➼ Configurable - Add warning messages, (world-specific) commands, specific/random/default seed, schedulers, restore saved worlds, and much more to come soon.
➼ Confirmation - Prevent accidental world resets by confirming your command.
➼ Fully Custom Lang.yml - Customize all messages to any language!
➼ Auto-Update Configs - Configurations automatically adjust themselves with each update! No need to redo your configuration files for every update.
➼ Java 8+ Support - Supports Java 8 and newer versions (including Java 11 and 16).
➼ Support - Quick to fix any issues present or help with your query. Join our Discord server and get support ASAP!
You can use the placeholder %cwr_reset_status_<world>% to display the status of a specific world reset. Here is a live demonstration of the placeholder (I like it a lot):
You can edit the placeholder to display whatever you want in lang.yml.
More placeholders coming soon...
When creating this plugin, I found the standard world loading mechanism to cause major TPS drops and instantaneous stress on the CPU. Because of this, I created my own loading mechanism that this plugin utilizes with the ULTRA-SAFE, SAFE, NORMAL, and FAST options. These modes also recognize when the server TPS drops below 20 and will slow down the chunk loading time based on the current TPS.
Essentially, the plugin stretches out the loading time to cause minimal stress/TPS drop. Each server can select its desired loading speed/type and radius.
Loading Types
➼ STANDARD uses Minecraft's chunk loading mechanism, which can cause major lag.
➼ ULTRA-SAFE loads a chunk every 2.5 seconds. Loads 4 chunks per second (as of v0.3.2).
➼ SAFE loads a chunk every 1.5 seconds. Loads 7 chunks per second (as of v0.3.2).
➼ NORMAL loads a chunk every 0.6 seconds. Loads 12 chunks per second (as of v0.3.2).
➼ FAST loads a chunk every 0.25 seconds. Loads 20 chunks per second (as of v0.3.0).
➼ ULTRA-FAST will not load any chunks, the chunks will be force loaded when the players are (sent) back.
Chunks are loaded starting from the spawn chunk and spiraling out until the final chunk is loaded. Here is a visual representation of what order the plugin will load chunks for a 3 radius setup:
➼ /cwr about - About the plugin.
➼ /cwr help - See the help menu.
➼ /cwr reload - Reload the plugin.
➼ /cwr confirm - Confirm an action.
➼ /cwr list - See a list of existing world setups.
➼ /cwr create [<world>] - Create a world setup.
➼ /cwr save [<world>] - Backup a world.
➼ /cwr reset [<world>] - Regenerate a world.
➼ /cwr info [<world>] - Info about a world setup.
➼ /cwr edit <world> <setting> <value> - Adjust a setting.
➼ setEnabled <true|false> - Enable/disable a world config.
➼ enabledLastSaved <true|false> - Enable/disable restoring of last saved world.
➼ addTimer <timer|<yyyy-MM-dd HH:mm>> - Add a scheduler.
➼ delTimer <index> - Delete a set scheduler.
➼ setSeed <<seed>|random|default> - Set a seed to reset to.
➼ addMessage <message> - Add a reset message.
➼ delMessage <index> - Delete a reset message.
➼ enabledWarning <true|false> - Enable/disable warnings.
➼ addWarningMSG <message> - Add a warning message.
➼ delWarningMSG <index> - Delete a warning message.
➼ addWarningTime <seconds> - Add a time for when to send warning message.
➼ delWarningTime <index> - Delete a warning time.
➼ enableSafeWorld <true|false> - Enable/disable safe world.
➼ setSafeWorld <world> - Set a world to teleport players to.
➼ setSafeWorldDelay <seconds> - Set a delay before teleporting players back.
➼ setSafeWorldSpawn <default|<x>, <y>, <z>>> - Set a safeworld teleport location.
NOTE: you can also use /worldregen, /worldreset, /cyberworldreset.
➼ CyberWorldReset.player.* - All player permissions.
➼ CyberWorldReset.player.about - About command.
➼ CyberWorldReset.admin.* - All admin permissions.
➼ CyberWorldReset.admin.reload - Reload the plugin.
➼ CyberWorldReset.admin.list - List of world setups.
➼ CyberWorldReset.admin.create - Create a world setup.
➼ CyberWorldReset.admin.reset - Force reset a world.
➼ CyberWorldReset.admin.save - Save the current world.
➼ CyberWorldReset.admin.info - Get info about world setup.
➼ CyberWorldReset.admin.edit.* - All editing permissions.
➼ CyberWorldReset.admin.edit.enable - Enable a world setup.
➼ CyberWorldReset.admin.edit.lastsaved - Enable to restore last saved.
➼ CyberWorldReset.admin.edit.timer - Add and delete timers.
➼ CyberWorldReset.admin.edit.seed - Set the reset world seed.
➼ CyberWorldReset.admin.edit.message - Add and delete reset messages.
➼ CyberWorldReset.admin.edit.commands - Add and delete reset commands.
➼ CyberWorldReset.admin.edit.warnings - Adjust warning times/messages.
➼ CyberWorldReset.admin.edit.safeworld - Adjust safe world settings.
Found a Bug or Have a Question? Open a ticket on our Discord Server or contact Kihsomray#0001. Please do not use the review section for support. Thanks =D