InstantReset
A Bukkit plugin to reset whole worlds, instantly.
- Reset an entire world instantly, no matter the size.
- Server restart does not reset worlds, they are only reset when you want.
- Player inventories are not reset.
- Monsters and other entities are also reset.
- Works with Multiverse-Core.
- Works with Multiworld.
- Open Source License.
- Mature backend code, works with all CraftBukkit versions as far back as 1.4.7
Commands
/ir list
Permission: instantreset
List worlds which can be reset.
/ir reset [world]
Permission: instantreset
Reset the current world, or the specified world.
Configuration
Example
# Where to look for world templates. templatedir: templates # Where to store temporary files for instantreset worlds. worlddir: worlds # Reset worlds on restart resetOnRestart: false # List of resetable worlds # # Note: they will not load if they are invalid, and messages as # to why the did not load will be printed to the console. # # The environment must match the world save or you will end up # with an empty world. # # You cannot (yet) use this plugin to reset the default worlds in # CraftBukkit, as the unload API prevents them from being unloaded. worlds: # Name of world. ir: # Name of directory containing the world save. template: "ir" # Environment, one of NORMAL, NETHER, THE_END environment: NORMAL # Difficulty, one of EASY, NORMAL, HARD, PEACEFUL difficulty: NORMAL # Name of world. ir_nether: # Name of directory containing the world save. template: "ir_nether" # Environment, one of NORMAL, NETHER, THE_END environment: NETHER # Difficulty, one of EASY, NORMAL, HARD, PEACEFUL difficulty: NORMAL # Name of world. ir_the_end: # Name of directory containing the world save. template: "ir_the_end" # Environment, one of NORMAL, NETHER, THE_END environment: THE_END # Difficulty, one of EASY, NORMAL, HARD, PEACEFUL difficulty: NORMAL
Quick Start
- Install the plugin.
- Copy a world save to plugins/InstantReset/templates/<world name>
- Add the world to config.yml with the correct environment type and difficulty level of your choice. The name of the world, must match the name of the folder your placed your world save in under templates/.
Notes
You cannot reset worlds which are loaded by bukkit at startup, by default this is world, world_nether and world_the_end. If you wish to use it to reset either world_nether or world_the_end you should disable either nether or the_end in server.properties or bukkit.yml respectively. The default world cannot be reset with this plugin.
If you specify the wrong environment type you will likely end up with an empty world.
It is possible for other plugins to depend on this plugin and use it to reset worlds.
Changes to config.yml will be overwritten when the server is shut down, ensure you change it whilst your server is not running.
Examples
Resetting the end
You will also need Multiverse and Multiverse-NetherPortals.
- Start your minecraft server, teleport to the end using
/mvtp world_the_end
, and walk around to ensure it's all generated. - Stop your server.
- Edit bukkit.yml, and change
allow-end: true
toallow-end: false
- Copy world_the_end to plugins/InstantReset/templates/world_the_end
- Add the following to the worlds section of the configuration
world_the_end: template: "world_the_end" environment: THE_END difficulty: NORMAL
- Start your server.
- Link the worlds using Multiverse-NetherPortals
/mvnp link end world world_the_end
- Reset the end when needed using
/ir reset world_the_end
Greetings, only one of the worlds in my list is registering.
Is there something I need to change about the world save files themselves, is it a name issue? I tried editing the level.dat files to reflect the same names like so:
But that didn't help.
Only Candyland registers, what do I do to get the rest to register? They just disappear from the config when restarting the server, this is my plugins\InstantReset\templates folder.
Any chance of a 1.9 update?
Hey, I'm really confused as to how to get started and the only installation videos I can find are not in English @_@'
Does anyone know of a good getting started guide?
@Beaupedia
Should work fine from console, just have to leave off the leading / from the command. At least it always worked fine for me.
Failing that there's command scheduling plugins you can run in bukkit floating around.
Can the console not run the /ir reset command? I try to have mine reset once a day on a schedule but it doesn't work. Only works in game it seems. Any ideas?
@JamsyBoy14
Don't edit the config whilst the server is running, it's overwritten on server shutdown to save the state of currently loaded instantreset worlds.
Every time I try to add the world that I want to add in the config it just erases it and everything i've added in the config, after restart!
Update to 1.8.7 pls
Are you trying to reset the main world? That should pose a lot of problems...
Hi this is the plugin I need! I tried it but Im getting this error message:
Bukkit cowardly refused to unload the world: world
Console error:
01.04 16:35:35 [Server] INFO Skipping active world save dir: /plugins/InstantReset/worlds/world.2482467518033154950.world
01.04 16:35:35 [Server] WARN Failed to fully delete unused world save: /plugins/InstantReset/worlds/world
I really need help asap! Thanks
@OriginalMadman
Deny reset when players are inside the_end_world would be very thankful, or automatic reset of the end when players leave and dragon is killed. Maybe too much to ask for, I just like the idea of server being independent for that reason :) thanks for a ver very nice plugin !
Thank you for this plugin, it's awesome! Using dev version from 12 dec works just fine (so far) in spigot 1.8 latest + Multiverse latest available dev. I really like that you can reset while players are inside the world. It would be even greater if you could deny reset if any player is inside the world, but have an override command (for admins, e.g. /ir reset [world] force with a separate permission). Thanks!
@matt729
The flat flag is stored in level.dat and works fine. The only valid environments are NETHER, THE_END or NORMAL, and *must* match the type of your world save.
The plugin never writes to files under templates, so it shouldn't destroy anything, however if you get the environment type wrong you'll end up with a void, or if you go beyond the boundaries of your world save you'll end up with empty chunks. (It uses a custom generator which just generates empty chunks, which is only used for chunks not in your world save).
@cyberiantiger
Thank you! And is there compatibility with flat worlds? I tried setting my flatworld to an environment of normal, but it destroyed the world, I had a backup though.
@matt729
Don't change the config whilst the server's running, when the server shuts down it gets updated with the location of the current save for InstantReset worlds.
Maybe I should save it in a different file?
This plugin is awesome! (Or would be if I could get it to work) Whenever I change the config from ir to the world I want to change and I reload/stop the config changes back to ir. The template for the world works though.
The latest dev build adds support for 1.7.10.
@Melonking
Melonking, create a ticket, if you can give me enough information to reproduce your issue I'll fix it.
After a reset the map no longer loads properly for players on respawn. They end up stuck floating in the air and must relog to fix.
@ursak
Stick the save you want to restore in the template folder.
The worlddir is just used to store temporary files for the world.