Inactive [ADMN] AutoSave v2.0.1 - Automatic World Saves [935]

Discussion in 'Inactive/Unsupported Plugins' started by cereal, Feb 13, 2011.

Thread Status:
Not open for further replies.
  1. Offline


    AutoSave is now on Bukkit Dev! Plenty of information and it is overall much better documented there than it has been here. Wiki pages really help organize all the information that is needed.

    Discuss AutoSave on Bukkit Dev and get information, files, and more from there!

    AutoSave - Automatic World Saves:
    Version: 2.0.1

    AutoSave is meant to provide a simple method to automatically save your world at a defined interval! This plugin ONLY saves to the proper world directories within the Minecraft server. It is not a backup plugin, it is meant to increase persistence and reduce the affects of a server crash.

    • Performs a world saves (same as save-all on console)
    • Repeats the above at user defined interval!
    • Warning messages
    • Multi-World Support
    • Configurable messages
    • Option to disable broadcast message
    Download The Plugin
    Source Code

    Version 2.0.1
    • Small library changes
    Version 2.0.0
    • Color Messages support!
    • Support for Multiple Permissions Plugins (natively)
    • No more version nagging
    • ASync Tasks instead of Sync Tasks (possible performance increase)
    Version 1.3.0
    • Perform save after last player leaves (quits/kicked).
    Full Changelog

    Future Release To-do List:
    • Calculate and create variable for time elapsed during save
    • Make bacon
    • Get more feature suggestions

    You can configure the plugin via an XML file located at "plugins/AutoSave/".
    • message.broadcastpre: Message broadcast to all players prior to save
    • message.broadcastprost: Message broadcast to all players after save completed
    • message.insufficentpermissions: Customizable generic insufficient permissions message
    • message.saveplayers: Customizable players save message
    • message.saveworlds: Customizable worlds save message
    • message.warning: Customizable warning message
    • Customizable value of "off"
    • value.on: Customizable value of "on"
    • var.broadcast: True or False value specifying if broadcasts should be used
    • var.debug: True or False value specifying for additional console output
    • var.interval: Number of seconds between saves
    • var.permissions: Bypass permissions entirely
    • Toggles reporting thread
    • var.uuid: Anonymous identification
    • var.warntime: n time before the save happens when a warning is broadcast to players, multiple values can be passed by separating by commas
    • var.worlds: Comma seperated list of loaded worlds to be saved. * indicates ALL worlds will be saved.
    If you want to user colors, its simple. Just use one of the following in the appropriate location (config file):
    • Aqua: %AQUA%
    • Black: %BLACK%
    • Dark Aqua: %DARK_AQUA%
    • Dark Blue: %DARK_BLUE%
    • Dark Gray: %DARK_GRAY%
    • Dark Green: %DARK_GREEN%
    • Dark Purple: %DARK_PURPLE%
    • Dark Red: %DARK_RED%
    • Gold: %GOLD%
    • Gray: %GRAY%
    • Green: %GREEN%
    • Light Purple: %LIGHT_PURPLE%
    • Red: %RED%
    • White: %WHITE%
    • Yellow: %YELLOW%
    Copyright 2011 MilkBowl (

    This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this license, visit or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.


    Note: ALL of the below commands can start with autosave instead of save if another plugin is using the save command such as WorldEdit. This will always allow access to the in game configuration of the plugin.

    Saves the world outside of the interval.​
    Requires Permission:​
    /save help
    Displays help dialogue​
    /save toggle
    Toggles the automatic saves (turns off or on depending on current setting)​
    Requires Permission: autosave.toggle​
    /save status
    Prints status message about the current state of automatic saves​
    Requires Permission: autosave.status​
    /save interval {seconds}
    Sets or gets the interval setting in seconds​
    Requires Permission: autosave.interval​
    /save addworld [value]
    Adds world to the World Save List​
    Requires Permission:​
    /save remworld [value]
    Removes world from the World Save List​
    Requires Permission:​
    /save world
    Displays the World Save List​
    Requires Permission:​
    /save broadcast {on|off}
    Sets or gets the broadcast setting​
    Requires Permission: autosave.broadcast​
    /save debug {on|off}
    Sets or gets the debug setting​
    Requires Permission: autosave.debug​
    /save warn {seconds[,seconds]...}
    Sets or gets the warning time setting in seconds (warns users of an upcoming save n seconds before it happens)​
    Requires Permission: autosave.warn​
    /save version
    Prints AutoSave version​
    Requires Permission: autosave.version​


    AutoSave reports minimal anonymous data to provide general usage tracking. No personal or server information is ever transmitted. The following data is provided:
    • Plugin Name (this will always be AutoSave)
    • Plugin Version
    • Bukkit Version (the full Bukkit version string)
    • Operating System
      • Name
      • Version
      • Architecture
    • Java Version
    This data helps me understand the environments in which AutoSave is used within, however you are more than welcome to disable it, either via "" in the configuration file, or "save report [off|on]" from console.

    Known Issues:
    • During upgrade messages no longer are colored
      • Solution: Delete config file or add colors manually

    Permissions can be disabled by manually editing the config file and setting "permissions" to false. That will completely disable Permissions. Running AutoSave without Permissions with the value to true (default) will cause the plugin to unload itself.

    Here are the permission settings, either do 'autosave.*' or use the granular permissions below: Allows the ability to save at any time​
    autosave.toggle: Allows the ability to stop and start AutoSave​
    autosave.status: Allows the ability to see status of AutoSave​
    autosave.interval: Allows the ability to see and change interval setting​
    autosave.broadcast: Allows the ability to see and change broadcast setting​
    autosave.version: Allows the ability to see the version of AutoSave​
    autosave.debug: Allows the ability to change the debug setting​
    autosave.warn: Allows the ability to see and change the warning time setting​ Allows the ability to view the world save list​ Allows the ability to add to the world save list​ Allows the ability to remove from the world save list​
    bobacadodl, iKeirNez, Joe12o and 12 others like this.
  2. Offline


    My config settings aren't being saved with 1.3.0 & cb740, specifically custom messages/save intervals... I'm able to change the warn time from both the config file and in game, but pretty much nothing else... thoughts?
  3. Offline


    hey many thanks for this really good plugin, but i miss one thing, the possibility to change the color from the world save broadcast, can you please add this in the config ? :)
  4. Offline


    I have the same issue as Wanderer89 My config file saves the info i changed but you cant see the changes ingame it save automatically every 5min but i done 1hour.
  5. Offline


    Looks like your missing Permissions, it is required to have Permissions for now.

    Are you doing anything else like reloading plugins constantly? When this happens next (aka right before you issue stop to your server) enable debugging on my plugin by using "save debug on" and pastebin the your log file. That should help.

    I have never used the PerformanceTweaks plugin. Have you reported this issue with him as it looks like he has re-written a portion of the Minecraft server itself? I'm not certain what he has done to the class (seems to be using org.jbls.LexManos.ChunkPersistance in that stack trace which is not a Bukkit or Minecraft class).

    Are you trying to edit the config file while it is running? If so you'll probably have some pretty rough experiences while doing it. I haven't had an issue changing the interval via either method. Could you enable debugging (save debug on) and changing some variables, restarting, and pastebin the resulting logs?

    Yea, I've been meaning to do this for a while. I'm finishing up the semester soon and I'll jump on that!

    Could you try doing what I asked him just a few posts ago? That would really help!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 8, 2016
  6. Offline


    I want my users to see "Warning, AutoSave will commence in <#seconds>"

    What variable must I use to display the amount of seconds?
  7. Offline



    i get it now.
    so..if essentialgroupmanager is install...the group need to have permission to use /save
  8. Offline


    I haven't gotten time to polish up the permissions so at this point it REQUIRES permissions (or you get those awesome stack traces) and then you will also need the actual permission nodes as well.
  9. Offline


    cereal, can you explain me what doing this plugin?
    can't understand from description
  10. Offline


    It is very very very simple. It forces the server to perform a save as if you did "save-all" (but does a few more things like notifying players, saving player files, etc). This helps for automated backups outside of Minecraft or using mapping software, or limiting exposure to lost map changes / inventory by forcing saves on an interval.
  11. Offline


    My minecraft is crashing on these saves and on /save-all.

    This is with about 25 people on (and another 10ish trying to log in constantly)

    The world then gets bumped back in time. Is my world too huge? I don't know what the problem could be!
  12. Offline


    Sounds troubling, but I can't help without logs since it tells me what is happening (prior to and during the errors). Please enable debugging by issuing "save debug on" or editing the configuration file, then providing the error and as much of the rest of the log file as you can (initial startup of the server is EXTREMELY helpful). If you can do that, its possible I'll know what is happening.

    Also, /save-all is not an AutoSave command, /save is however.
  13. Offline


  14. Offline


    If they support all the Bukkit calls then in theory it should work (Bukkit has supported the save world and players call ever since my pull request - yay!). However, I'm not 100% familiar with what they are doing. I believe I saw someone earlier post a stacktrace from the use of that plugin but I haven't tested it and I don't have the time to look into their source code and debug what's going on.

    Short answer? Not sure.
  15. Offline


    not working in 766 ... going to update soon? please do ... we need this plugin ... its TOO GOOD :p
  16. Offline


    "not working" isn't helpful. Post your logs please.
  17. Offline


    2011-05-13 05:05:29 [INFO] [AutoSave] Server Version is Recommended Build 740
    2011-05-13 05:05:29 [INFO] [AutoSave] Loading config file
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageBroadcastPre=World Auto-Saving
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageBroadcastPost=World Auto-Save Complete!
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageStatusFail=Auto Save has stopped, check the server logs for more info
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageStatusNotRun=Auto Save is running but has not yet saved.
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageStatusSuccess=Auto Save is running and last saved at {%DATE%}.
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageStatusOff=Auto Save is not running (disabled)
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageInsufficientPermissions=You do not have access to that command.
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageStopping=Stopping Auto Saves
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageStarting=Starting Auto Saves
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageSaveWorlds={%NUMSAVED%} Worlds Saved
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageSavePlayers=Players Saved
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageIntervalNotANnumber=You must enter a valid number, ex: /save interval 300
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageIntervalChangeSuccess=Auto Save interval is now {%INTERVAL%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageIntervalLookup=Auto Save interval is {%INTERVAL%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageWarnNotANnumber=You must enter a valid number, ex: /save warn 300
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageWarnChangeSuccess=Auto Save warning time is now {%WARN%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageWarnLookup=Auto Save warning time is {%WARN%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageBroadcastChangeSuccess=Auto Save broadcast is now {%BROADCAST%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageBroadcastLookup=Auto Save broadcast is {%BROADCAST%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageBroadcastNotValid=You must enter a valid setting ({%ON%}, {%OFF%})
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageDebugChangeSuccess=Auto Save debug is now {%DEBUG%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageDebugLookup=Auto Save debug is {%DEBUG%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageDebugNotValid=You must enter a valid setting ({%ON%}, {%OFF%})
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageWorldChangeSuccess=World Save List is now {%WORLDS%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageWorldLookup=World Save List is {%WORLDS%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageVersion=AutoSave v{%VERSION%}, Instance {%UUID%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageWarning=*** Warning, AutoSave will commence soon. ***
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageReportLookup=Auto Save report is {%REPORT%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageReportNotValid=You must enter a valid setting ({%ON%}, {%OFF%})
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] messageReportChangeSuccess=Auto Save report is now {%REPORT%}
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] valueOn=on
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] valueOff=off
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] varUuid=4de88cd7-2568-4940-8413-5aee383b4126
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] varReport=true
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] varInterval=3600
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] varWarnTimes=[5]
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] varBroadcast=true
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] varPermissions=true
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] varDebug=true
    2011-05-13 05:05:29 [INFO] [sh.cereal.bukkit.plugin.AutoSave.AutoSaveConfig] varWorlds=[*]
    2011-05-13 05:05:29 [INFO] [AutoSave] Version 1.3.0 is enabled: 4de88cd7-2568-4940-8413-5aee383b4126
    2011-05-13 05:05:29 [INFO] [AfkBooter] Permissions detected, attaching.
    2011-05-13 05:05:29 [INFO] [AutoSave] AutoSaveThread Started: Interval is 3600 seconds, Warn Times are 5
    2011-05-13 05:05:29 [INFO] [AutoSave] Start of ReportThread
    When error happened:
    2011-05-13 06:05:30 [INFO] wy789 lost connection: disconnect.quitting
    2011-05-13 06:05:30 [INFO] Connection reset
    2011-05-13 06:05:33 [INFO] [AutoSave] Warning Time Reached: 5 seconds to go.
    2011-05-13 06:05:33 [INFO] [AutoSave] *** Warning, AutoSave will commence soon. ***
    2011-05-13 06:05:35 [INFO] §9[PLAYER_COMMAND] jimson1: /home
    2011-05-13 06:05:40 [INFO] [P](Originals)<CheshireTheCat> KABOOM
    2011-05-13 06:05:40 [INFO] ManVsWaffle§f: Shit lol
    2011-05-13 06:05:40 [INFO] [AutoSave] World Auto-Saving
    2011-05-13 06:05:40 [INFO] [AutoSave] Saving players
    2011-05-13 06:05:41 [INFO] [AutoSave] Saved Players
    2011-05-13 06:05:41 [INFO] [AutoSave] Saving the world: world
    2011-05-13 06:06:02 [INFO] Connection reset
    2011-05-13 06:06:10 [INFO] Read timed out
    2011-05-13 06:06:21 [INFO] Read timed out
    2011-05-13 06:06:21 [INFO] Connection reset
    2011-05-13 06:06:41 [INFO] Read timed out
    2011-05-13 06:06:43 [INFO] Read timed out
    2011-05-13 06:06:43 [INFO] Read timed out
    2011-05-13 06:06:44 [INFO] Read timed out
    2011-05-13 06:06:44 [INFO] Read timed out
    2011-05-13 06:06:45 [INFO] Read timed out
    2011-05-13 06:06:47 [INFO] Read timed out
    2011-05-13 06:06:48 [INFO] Read timed out
    2011-05-13 06:06:51 [INFO] Read timed out
    2011-05-13 06:06:53 [INFO] Connection reset
    2011-05-13 06:06:55 [INFO] Read timed out
    2011-05-13 06:07:07 [INFO] Read timed out
    2011-05-13 06:07:14 [INFO] Connection reset
    2011-05-13 06:07:16 [INFO] Read timed out
    2011-05-13 06:07:19 [INFO] Read timed out
    2011-05-13 06:07:20 [INFO] Connection reset
    2011-05-13 06:07:23 [INFO] Read timed out
    2011-05-13 06:07:24 [INFO] Read timed out
    2011-05-13 06:07:24 [INFO] Read timed out
    2011-05-13 06:07:25 [INFO] Read timed out
    2011-05-13 06:07:29 [INFO] Read timed out
    2011-05-13 06:07:37 [INFO] Read timed out
    2011-05-13 06:07:40 [INFO] Read timed out
    2011-05-13 06:07:41 [INFO] Read timed out
    2011-05-13 06:07:45 [INFO] Read timed out
    2011-05-13 06:07:53 [INFO] [AutoSave] Saved 1 Worlds
    2011-05-13 06:07:53 [INFO] [AutoSave] World Auto-Save Complete!
    2011-05-13 06:07:56 [INFO] BehindInsanity [/XXXXX] lost connection
    2011-05-13 06:08:16 [INFO] star637 lost connection: disconnect.endOfStream
    2011-05-13 06:08:16 [INFO] [AutoSave] Graceful quit of AutoSaveThread
    2011-05-13 06:08:16 [INFO] [AutoSave] World Auto-Saving
    2011-05-13 06:08:16 [INFO] [AutoSave] Saving players
    2011-05-13 06:08:16 [INFO] [AutoSave] Saved Players
    2011-05-13 06:08:16 [INFO] [AutoSave] Saving the world: world
    2011-05-13 06:08:24 [INFO] [AutoSave] Saved 1 Worlds
    2011-05-13 06:08:24 [INFO] [AutoSave] World Auto-Save Complete!
    2011-05-13 06:08:25 [INFO] ManVsWaffle lost connection: disconnect.endOfStream
    Running 35 slots on 2.1GB (max my 32bit will allow) with incremental increasing ram.. Everything is crystal clear until auto save comes along it seems. Also getting "Hole In Floor" for some people teleporting to their homes and things - I don't know if its because the autosaves are being corrupted or something?

    Am I trying to do too much?
  18. Offline



    Hard to say, if you have a heavily loaded server its possible you could see these issues since saves happen during server ticks (hence the lag). I wonder.......brb.
  19. Offline


    Just for anecdotal evidence, been running autosave since the release of 766 on a small server (5 persons online max on an i7 with 8gb running debian and a few other game servers) with no problems whatsoever, and PerformanceTweaks autosavestopper is enabled too...
  20. Offline


    So my map was recently griefed bad and I need a plugin that I can reload a map that was saved before the grief, is this the plugin I'm looking for?
  21. Offline


    No. This plugin just performs saves (but doesn't make backups).
  22. Offline


    Seems like just the plugin I have been looking for! I will try it out soon. Thanks.
  23. Offline


    It happens during /save-all's also so I think its because our CPU can't keep up.

    We're upgrading to a dedicated server that costs 5x as much as our current so I'll let you know whether it was a server or plugin problem.
  24. Offline


    You can also experiment with using a ram disk for your world, but that is definitely outside the scope of this thread.
  25. Offline


    Cereal, nice plugin, I've been using /save-all from a cron entry and bash scripts, but lately our world files have grown, to the point that during a loaded server (30 people or so), the saves time people out, taking more than 30 seconds to save (this on a raid 10 setup), but I know its the size of my world files, around 1.8gb.

    Anyway, with testing 1.3 Autosave on RB766, I notice that autosave is ignoring my world list. If I /save, it says it saved 16 worlds, and I only have 6 in the list with /save world. One point though, it doesn't take nearly as long to do this /save (ssaving all 16 worlds) as it does /save-all. Is your routine just more efficient than the default minecraft save, or is it not saving things it doesn't need to?

    Also, a request, can we get a world group list? Say, /save addgroup group1 world1,world2,world3 and /save addgroup group2 world4,world5,world6.

    Then I can just /save group1 and it would save those worlds. Hopefully you see where I'm going with this.

    Thanks for the great plugin
  26. Offline


    Absolutely...I think that would be very helpful. Maybe what also I should do is add inter-world save times or create different threads / timers for each world?
  27. Offline


    That would be very helpful. About the saving all worlds and ignoring the lists?

    Btw, I'm not using your timers though, I just incorporated the /save into my scripts, so that I control it. This is primarily so that I issue saves before I do a backup, cartographer, restarts, etc.
  28. Offline


    I got not indeed how's that worked... They are where the savings? If by a bad manipulation I loses the world of my server, how I may load the savings of front the accident?
  29. Offline


    So, does server not saving data every time, only when Autosave call it? I mean is this like all time save-off and save-all every 300s?
  30. Offline


    This automates typing "save-all" into the console every n seconds where n is the interval you choose. There are a few other improvements like saving player data files as well.
  31. Offline


Thread Status:
Not open for further replies.

Share This Page