[ADMN] SafeStop v1.0 - Ensures worlds are saved when server is "stop"ped. [1000]

Discussion in 'Inactive/Unsupported Plugins' started by cspotcode, Jul 2, 2011.

  1. Offline

    cspotcode

    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.
     
    Pim1234 likes this.
  2. Offline

    TheTrixsta

    well actually... this is already implemented in bukkit typing /stop will save chunks and stop the server :/
     
  3. Offline

    cspotcode

    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.
     
  4. Offline

    Taranis01

    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?
     
  5. Offline

    cspotcode

    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.
     
  6. Offline

    Taranis01

    i guess the alias system is still a little buggy -.-
     
  7. Offline

    Plague

    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
     
  8. Offline

    cspotcode

    /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.
     
  9. Offline

    Taranis01

    thinking about its.../save-off shouldnt disable the saving when stoping the server!
    pls submit one @cspotcode :)
     
  10. Offline

    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.
     
  11. Offline

    Plague

    When the bug gets resolved please report the original post and it can be moved to inactive after a while.
     
  12. Offline

    MalcolmLC

    I didnt know it was supposed to save on stop 0_o
     
  13. Offline

    cspotcode

    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
     
  14. Offline

    cspotcode

    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.
     
  15. Offline

    ACStache

    interesting... I'll definitely be keeping this plugin around until they (if ever) decide to change that. thanks!
     
  16. Offline

    GhostTrail

    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
     
  17. Offline

    Nerdoguy12

    It Safely saved my server then Fucked my computer
     
  18. Offline

    joehot2000

    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!
     
  19. Offline

    md_5

    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
     

Share This Page