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

    cereal

    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.

    Features:
    • 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

    Changelog:
    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
    Configuration:

    You can configure the plugin via an XML file located at "plugins/AutoSave/config.properties".
    • 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
    • value.off: 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
    • var.report: 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.
    Colors:
    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%
    License:
    Copyright 2011 MilkBowl (https://github.com/MilkBowl)

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


    Commands:

    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.

    /save
    Saves the world outside of the interval.​
    Requires Permission: autosave.save​
    /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: autosave.world.add​
    /save remworld [value]
    Removes world from the World Save List​
    Requires Permission: autosave.world.rem​
    /save world
    Displays the World Save List​
    Requires Permission: autosave.world​
    /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​

    Reporting:

    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 "var.report" 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:

    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:
    autosave.save: 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​
    autosave.world: Allows the ability to view the world save list​
    autosave.world.add: Allows the ability to add to the world save list​
    autosave.world.rem: Allows the ability to remove from the world save list​
     
    bobacadodl, iKeirNez, Joe12o and 12 others like this.
  2. Offline

    cereal

    Version 2.0.0 has been released! See the changelog for additional information, the important changes were:
    • Color Support
    • Permissions Improvment (natively support PEX, or Permissions)
    • No more nagging
    • Bigger Version Number!
     
  3. Offline

    Kane

    Error with the permissions so muahaha more nagging :)

    Code:
    2011-06-25 06:52:29 [SEVERE] Error occurred while enabling AutoSave v2.0.0 (Is it up to date?): net/milkbowl/vault/v0/modules/permission/PermissionManager
    java.lang.NoClassDefFoundError: net/milkbowl/vault/v0/modules/permission/PermissionManager
        at net.milkbowl.autosave.AutoSave.onEnable(AutoSave.java:177)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:857)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:253)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:157)
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:136)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.ClassNotFoundException: net.milkbowl.vault.v0.modules.permission.PermissionManager
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 11 more
    
    Using http://forums.bukkit.org/threads/admn-dev-permissions-3-1-5b-the-plugin-of-tomorrow-818.18430/
     
  4. Offline

    desmin88

    @cereal
    Why do you perform world saves not in the main thread?
     
  5. Offline

    Kane

    where oh where has @cereal gone!
     
  6. Offline

    cereal

    I do ;) The AutoSaveThread merely keeps track of when the next save should occur and then schedules a task to be run on the main thread (at the next tick). The reason I don't do reoccurring Tasks is because they can vary where as Time should not vary.

    Hmm, well I'm still where ever I am!!! Looks like I'll need to setup a test environment. Sometime today or tomorrow I should have something to solve the issue. Sorry it failboated on you!

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

    Kane

    Thanks I think turning off permissions might work have not tried yet my servers having some issues now :S
     
  8. Offline

    Kainzo

    I'm not having any issues at the moment... going to work on color coding woo!
     
  9. Offline

    cereal

    Version 2.0.1 has been released! See the changelog for additional information, the important changes were:

    • Fixed small issue found by @Kane (failboat)
     
  10. Offline

    Kainzo

    Saw this on 2.00
    2011-06-27 13:45:35 [INFO] [AutoSave] ==WorldSave will commence in (30s)==
    2011-06-27 13:35:59 [SEVERE] java.net.SocketException: Broken pipe
    2011-06-27 13:33:58 [INFO] Connection reset
    2011-06-27 13:47:42 [SEVERE] at java.net.SocketOutputStream.socketWrite0(Native Method)
    2011-06-27 13:47:42 [SEVERE] at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
    2011-06-27 13:47:42 [SEVERE] at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] at java.io.DataOutputStream.flush(DataOutputStream.java:123)
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] at net.minecraft.server.NetworkWriterThread.run(SourceFile:116)
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] java.net.SocketException: Broken pipe
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] at java.net.SocketOutputStream.socketWrite0(Native Method)
    2011-06-27 13:47:42 [SEVERE] at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] at java.io.DataOutputStream.flush(DataOutputStream.java:123)
    2011-06-27 13:47:42 [INFO] Read timed out
    2011-06-27 13:47:42 [SEVERE] at net.minecraft.server.NetworkWriterThread.run(SourceFile:116)
    2011-06-27 13:47:42 [INFO] Read timed out

    May not be you...
     
  11. Offline

    cereal

    Looks like an issue outside of the plugin. Could be the direct call in Bukkit for a world save, but from what I've been able to gather from that, it just looks like connections are timing out. Is your world excessively large?
     
  12. Offline

    Kainzo

    5000x5000 - not really excessively. I was on a work conference call when I posted this so I did it in a rush. I think it may have been a coincidence that it happened like that but wanted to alert you just incase.

    I have updated to 2.01.
     
  13. Offline

    cereal

    Yea, its hard to know without being able to replicate or know the environment its running in so I usually throw a few thoughts ;) Definitely let me know if you keep seeing things like that!
     
  14. Offline

    Kainzo

    @cereal - I'm noticing that the auto save message triggers warning of a save in 30s ... then 30s rolls around ... we dont get any more lag - we can still chat after it says "world auto saving" .... then it finished with world auto saved..

    Leads me to believe the save did absolutely nothing ... trying "/save status" stated it saved correctly.

    How do we know that it actually worked? When I did /save-all (or force save) - it stopped for a few seconds and then it resumed)
     
  15. Offline

    cereal

    Test it? I changed it to an Asynchronous Task to help with that during save lag so that could be what your seeing. If your worried I would suggest fully testing it ;)
     
  16. Offline

    Kainzo

    I'm not sure how to test it other than shutting down improperly to see if it saved hah...
     
  17. Offline

    cereal

    That's what I did way back in the day to test haha. That was before Ctrl-C was actually caught though and was essentially crashing the server. Another way to test is to look at the last modified times on the files themselves, just find where the file is that you modify and see what the last updated time is ;)
     
  18. Offline

    Puremin0rez

    I'm not sure what you did in the latest version but I can't thank you enough!

    Worldsaves used to always "pause" everything on the server until it finished - but now it simply just saves without pausing. Hopefully it's actually saving but yeah, THANKS ALOT!
     
    cereal likes this.
  19. Offline

    Kainzo

    That's what we're discussing @cereal :p it seems the auto saves arent pausing ;) im scared to test ;p
     
  20. Offline

    cereal

    Yes indeed I am aware, it was the entire purpose of the change ;) It isn't that hard to create a test server after all. Copy the server to your desktop and give it a try ;) The saves are happening however.
     
  21. Offline

    nitroxygen

    I dont know how to fix this but the config keeps deleting its self.
     
  22. Offline

    cereal

    I can't imagine any reason why it would be deleted, however if you modify the config file while the server is running it will revert when you stop the server. I'd suggest using the in-game commands to alter your settings or change them when the server is stopped.
     
  23. Offline

    nitroxygen

    that's when i did happen i altered the config with game commands only and that's what changed it.
     
  24. Offline

    cereal

    I'm not certain what's happening as I can't replicate this issue. Could you try providing as many details as possible? Doing this might seem silly but it helps in finding issues like these.
     
  25. Offline

    nitroxygen

    Well my host just moved me to a different server and when i was moved the file was there, then i did the first boot up of the server and i seen it save every 300 seconds so i changed it to /save interval 1800 then the save never happened and the file was deleted after that.
     
  26. Offline

    cereal

    Please provide you server log file (with debugging mode on). The config should never delete, and I'm a bit skeptical. If you are worried about privacy, feel free to send me a private message with the contents.
     
  27. Offline

    nitroxygen

    I did look through the log and i did not see a problem and it has only done it once since i started using the plugin like 4 or 5 months ago, i don't think its that big of a concern, i just posted it because of i don't know what happened
     
  28. Offline

    cereal

    Without the log I won't be able to help further :(
     
  29. Offline

    lolzrofl

    Does this work on #953?
     
  30. Offline

    Kainzo

    I've been seeing a growing number of chunk corruptions - I'm unsure if its in relation to this or not. It's getting a bit out of hand =/
     
  31. Offline

    fatmarley

    I'm not sure if anyone is using the same mods as I am, but I have noticed conflict between this mod and this backup plugin. I use yours cause it has permissions and i use the other cause, well it is a backup plugin.

    The two do not like each other and they cycle through saves and backups constantly.

    Was there a to-do list or request list? Would love to have this do backups as well, included with the same permission node.
     
Thread Status:
Not open for further replies.

Share This Page