SafeStop: automatic SAVE-ALL before STOP Version: 1.0 Download latest version: jar, source Description: This tiny plugin automatically saves all worlds when stopping the server, even if saving has been disabled with save-off. This is useful for me because sometimes I'm an idiot and forget to save-all before a stop. If for whatever reason saving has been disabled (e.g. by a backup script taking too long) this plugin ensures progress is still saved. In other words, this plugin automatically precedes the stop command with save-on and save-all commands. Nothing more, nothing less. It also disallows running "/stop" from the Minecraft client. This lets me give my friends Op on my server and know it won't accidentally be shutdown from across the country. Usage: Use the stop command as you normally would, and be aware that a save-all will happen before the server shuts down.
well actually... this is already implemented in bukkit typing /stop will save chunks and stop the server :/
I thought so too, but if you do "save-off", make some changes, then "stop", the changes are gone when you restart the server. The server console will say "saving chunks" but they won't actually be saved. For example, I just tried running save-off, placing three sand blocks (the only things in my inventory), and running /stop. After restarting the server and reconnecting, I found my inventory was empty but the sand was not in the world either. So my inventory had saved and the world had not. Having said that, this is a niche plugin. In my case I use Essentials' backup feature, which periodically runs "save-all", "save-off", my backup script using rdiff-backup, then "save-on". For some reason the backup script occasionally hangs so Essentials never runs save-on or makes another backup. Then when I "stop" the server and forget to manually "save-all", all our progress since the "save-off" is lost. This plugin isn't a replacement for regular backups and saves, just an extra bit of idiot-proofing and peace-of-mind.
i consider you could instead of using a plugin use the intern alias system like this(?): Code: aliases: stopsave: [save-all, stop] the question is, does the server wait that all previous (here the saving) actions are finished before stoping?
How do I use that system outside of a plugin.yml? Otherwise I'm still making a plugin, but with even less Java. EDIT: I was confused, now I've figured out what you were referring to. That alias doesn't work. For example, if I make an alias for doit: [save-all, version, stop] only the version command runs. Could it be because that is the only bukkit command? The others are from vanilla Minecraft.
wait are you saying that /stop does not do /save-all ? Have you reported the bug? This hsould be fixed a few dozens builds now
/stop saves unless /save-off is in effect. Because of a bug report, /save-all has been specially modified to save regardless of /save-off status. If this is really a bug I'll submit a bug report. I might even be able to make the patch to fix it.
thinking about its.../save-off shouldnt disable the saving when stoping the server! pls submit one @cspotcode
Alright, I'll do that when I have a free moment. I've looked in the CraftBukkit source and the patch should be about 5-10 lines of copy-paste.
When the bug gets resolved please report the original post and it can be moved to inactive after a while.
Hey, just wanted to mention that I'm pretty busy right now and won't be able to submit a bug report or patch anytime soon. If someone else wants to do so, please go ahead. I've described the bug well enough you should be able to duplicate it easily. EDIT: relevant: http://leaky.bukkit.org/issues/987
UPDATE: Bukkit's default behavior is not a bug. It is intentional. Therefore I feel this plugin still has merit, however small. Bug report: http://leaky.bukkit.org/issues/1100 EvilSeph explained that Bukkit's behavior matches the behavior of vanilla Minecraft, which is important for compatibility with tools such as server wrappers.
interesting... I'll definitely be keeping this plugin around until they (if ever) decide to change that. thanks!
I think this plugin is a great idea...i just got a complaint that a roller coaster was missing.. It was not griefers. It was me ( admin ) doing a stop before a save-all when the server was restarted, missing roller coaster...i am glad i could blame it on griefers...lol thanks
hmm... it is NOT idiot proof from TNT.... D: my users / idiot OPs often crash the server! i rly need permissions, so they wont place tnt!
Long time no see cspotcode. You will notice that this thread has now been placed into the Inactive Plugin subforum. If you wish to revive this plugin, please ensure that you update and test compatibility with the latest recommended Bukkit build before reporting your original post, asking for it to be moved back to the release forum. Thanks for your time. md_5