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

    decarthado

    First thing - thank you for making such an elegant little plugin. My players have been complaining about losing hours of work once in a while because an admin forgot to save the world.

    The only thing I can think of to make this plugin truly epic is if you could figure a way to make it do incremental saves instead of saving the whole world.
     
  3. Offline

    Kane

    I think he wants to do that but has not found a way yet. I hope he can :)
     
    cereal likes this.
  4. Offline

    cereal

    Currently I am waiting for a patch to be pulled into CraftBukkit. Once that's in place I'll have greater control over saving and we should be able to do more advanced "stuff". Possibly saving chunks based upon specific player (and their locations) or slowly trickling through chunks to instead of an all at once approach to reduce spikes in resource usage?
     
  5. Offline

    Jdbye

    None of the commands seem to work for me, and I gave admins the * permission.
     
  6. Offline

    cereal

    Could you provide a log including startup and times when you use the commands?
     
  7. Offline

    Dr_Cox1911

    How does this plugin save? Is it "just" copy the folder or generates it a rar or something? I hope there is a rar function.
     
  8. Offline

    cereal

    This plugin forces a save to disk. At this time AutoSave making backups is currently NOT a feature. Backups may likely become a function in the future once I can control per chunk saving then we could do incremental patching or something like that (haven't really thought about how that would work yet).
     
  9. Offline

    Lookatmego

    this is not working for me y?
     
  10. Offline

    cereal

    Do you have any additional details? You didn't give anywhere for us to begin to help you. Possibly a detailed explanation of what you did, the console output that you saw possibly? Also what do you get when you use /version in the game?
     
  11. Offline

    Lookatmego

    yea sorry about that,umm i get no reply from server console or game..the plugin is in plugings folder and im using craftbukkit 278 i believe
     
  12. Offline

    cereal

    Well that makes sense then. Look at the changelog for 1.0.2 and it says you need CraftBukitt 361 or higher to work. Also every plugin should have the bukkit version listed in their title at the end as well.

    Long story short: upgrade bukkit.
     
  13. Offline

    RustyDagger

    I have 2 requests they are kind of simple infact

    1. support for more than 1 world. Dont mind having to list the world names in the file.
    2. save players inventories i noticed that if i shut down the server and players are in it at the time their inventories roll back like 15 min. and they dupe items etc i now kick them all out before a shut down to avoid it but its annoying you know. and crashes still cause it. So some thing to fix that would be sweet.
     
  14. Offline

    dubca7

    Updated to Bukkit 440 and got this
    Code:
    [WARNING] Using the stupidly long constructor sh.cereal.bukkit.plugin.AutoSave.AutoSave(PluginLoader, Server, PluginDescriptionFile, File, File, ClassLoader) is no longer recommended. Go nag the plugin author of AutoSave to remove it! (Nothing is broken, we just like to keep code clean.)
     
  15. Offline

    MaverickHunter

    Does this plugin cause a lot of lag on save? Is it less so for a small world to a large world? Would setting the interval to save at 5 minutes cause a lot of lag for a large world (60mb+)? Or would it be better to set a higher interval for larger worlds to have less time for it lagging a lot?
     
  16. Offline

    cereal

    Sounds like your using an older version of my plugin. Update to the latest version (see the link above) and that warning should go away. Additionally if you still have errors attach or link to a file of the servers log during startup and that will give me much more information!
    --- merged: Feb 22, 2011 4:21 AM ---
    Well performing additional functions will always slow a machine down. So long answer short, yes it can cause lag. However that is what the additional options are for to decrease the possible times one see's lag. This plugin helps avoid data loss during crashes by forcing saves to disks (or even to allow for updates to use the most recent data) and as such causes additional load on your server!

    I have a world of about 600+ MB and it doesn't cause lag and we save every 5 minutes, but everyone's server is different and the best suggestion I have is to be conservative at first then slowly increase the frequency. Additionally you could set the interval to be an insane number (example: 999999) and give certain players access to the /save command via Permissions and control it that way.

    Tons of options, but really it all depends on your server and the kind of usage you see.
     
  17. Offline

    MaverickHunter

    Thanks for the quick response and thanks for your work with this plugin! I'll give it a shot and report any issues.
     
  18. Offline

    rct2guy

    What does all the "command.*" mean in the XML file? It's really confusing. Also, does the backup get replaced each time? Can you tell it where to backup the map to?
     
  19. Offline

    cereal

    The command.* options are to change what the plugin spews back in very specific situations. Its meant for those who are extremely overly desirous to customize ever aspect of their server. The default settings work fine for most situations.

    Read the Configuration section above to see exactly what each configuration entry does.
     
  20. Offline

    rct2guy

    Oh, I see. Sweet.

    Does this back up Nether? Is each backup replaced each time the server backs the map up? Can I choose where to save the backups?
     
  21. Offline

    cereal

    This plugin does NOT provide backups at this time. It is planned, but only after I have greater control over the save process in which I can actually not write and read files at the same time that minecraft does so as well.
    --- merged: Feb 23, 2011 3:18 AM ---
    WARNING:

    AutoSave has NOT been tested on the builds of CraftBukkit for Minecraft 1.3 and as such will receive NO support until I have had chance to give it a trial run. Expect to see some news from me tonight!
     
  22. Offline

    gauss5546

    Just gave Autosave a check to see if it works and got a "Severe" error. I like your plugin so hopefully there will be a fix soon.

    This is the error log I got, for your refference of course. I was only using autosave and "noon" plugin at the time.

    [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-443-g8f199f7-b423jnk

    Code:
    [INFO] [AutoSave] Permission system not enabled. Disabling plugin.
    2011-02-22 23:30:37 [INFO] [AutoSave] Saving config file
    2011-02-22 23:30:37 [INFO] [AutoSave] Version 1.0.2 is disabled!
    2011-02-22 23:30:37 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'save' in plugin AutoSave v1.0.2
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:21)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:77)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:173)
        at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:621)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:585)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:578)
        at net.minecraft.server.Packet3Chat.a(SourceFile:24)
        at net.minecraft.server.NetworkManager.a(SourceFile:230)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:70)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:338)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:252)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NoClassDefFoundError: com/nijiko/permissions/PermissionHandler
        at sh.cereal.bukkit.plugin.AutoSave.AutoSave.onCommand(Unknown Source)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:19)
        ... 12 more
    Caused by: java.lang.ClassNotFoundException: com.nijiko.permissions.PermissionHandler
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:30)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 14 more
    
     
  23. Offline

    Direct1221

    This is becuase of the "Permissions 2.0" plugin (Or lack there-of). Not the AutoSave plugin.
     
  24. Offline

    cereal

    Just uploaded the latest AutoSave plugin (1.0.3). Please update for 423 and above!

    There is a slight change, the console messages seem to kick off as if you run save-all from the command-line. For now until I can decipher Notch code and prepare a new pull request to Bukkit we are stuck with it.
    --- merged: Feb 23, 2011 5:53 AM ---
    If you don't have or want to use Permissions you can easily configure it to NOT use Permissions entirely. There is a warning however, all players will be able to issue any command including /save, to do this modify the following in your plugins/AutoSave/config.properties:
    Replace:
    Code:
    <entry key="permissions">true</entry>
    With:
    Code:
    <entry key="permissions">false</entry>
     
  25. Offline

    gauss5546

    I had set it to not use permissions, perhaps the file didn't save properly. Either way its working now and I made sure my config.properties had permissions set to false.
     
  26. Offline

    Daveyo

    I'm having trouble understanding the value of this plugin. Doesnt the server automatically save the world? (or is this bugged?)

    Suggestion: Make the save function effect a ring distance, such as save everything 800 blocks from the middle, and then you can essentially purge everything outside. Would be a great addon for replenishing material to the server
     
  27. Offline

    Lomz

    It only saves when you type the command or stop the server with the stop command. Servers crash all the time, and in case you haven't noticed, when they crash, the majority of the time EVERYTHING from the time you put in the last save-all command in the console is lost. I don't know about you but I don't like to explain to my users that their hard work over the past three hours was lost because I was at work and couldn't type save-all into the console.

    As for your suggestion, that's completely unrelated to this plugin. They have absolutely nothing in common.
     
  28. Offline

    Daveyo

    Doesn't seem completely unrelated. This addon save's, utilizing another addon to select an area to save seems possible.
     
  29. Offline

    Kainzo

    I adjusted the save timer - and it doesnt seem to actually change how long it saves
     
  30. Offline

    cereal

    When the server starts I have a statement to says something similar to:
    Code:
    2011-02-24 22:40:26 [INFO] [AutoSave] AutoSaveThread Started: Interval is 10 seconds
    Now, that is from my development system and you probably shouldn't use 10 seconds (in fact I recommend you don't). What does your config look like and what did that system message say during startup? Did it report the correct value?
    --- merged: Feb 25, 2011 3:43 AM ---
    Sounds like a possible request, however at this time we don't have that granularity at the moment but I'm working on it and getting closer and closer! It's my goal to make this plugin dramatically help those who manage large systems, so things like this if possible, I will implement but no promises until I'm able to have control over saving each specific region.
    --- merged: Feb 25, 2011 5:59 AM ---
    I'm currently testing Multi-World saves (currently only the default world is saved). Additionally it removes the annoying messages from the console that we now get with version 1.3.

    If your interested in testing it out / obtaining a pre-release version send me a message here or on IRC (I'm known as cereal or cerealk). For those interested in what CraftBukkit changes were made, see my GitHub fork of CraftBukkit.
     
  31. Offline

    Joshf

    Whenever I try to do a command I get a error saying, an internal error occurred while attempting to perform this command
     
Thread Status:
Not open for further replies.

Share This Page