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

    NEO

    Looks good. I have a small suggestion.

    Make a message appear before saving letting the players know the world is being saved and make that message configurable.
     
  3. Offline

    cereal

    Currently there is a message broadcasted, and I love the idea of making it customizable so that's on the todo list!
     
  4. Offline

    QQCucumber

    This is a really useful plugin, thank you!
     
  5. Offline

    Daveyo

    now if we just had a load rofl
     
  6. Offline

    cereal

    First bug fix...apparently I didn't notice my default was actually originally 60 seconds, now its been fixed and its set appropriately to 300 seconds (or 5 minutes).
     
  7. Offline

    Kane

    @cereal

    I guess there is no way to create a more advanced saving system. From what I thought and could be wrong you can get a list of active chunks now. Would it be possible to just go through them all and save them 1 by 1 rather then all say 5000 chunks loaded?

    Not sure if this would have other bad side effects though.

    Just trying saving a world with 50+ online it's pretty bad hehe.

    No matter what I will use this for sure but do it once every 2 hours or something for now.
     
  8. Offline

    cereal

    @Kane

    I'll explore possibilities of saving per chunk which is originally what I had hoped to be able to do, but I can't be certain when or if that can happen.
     
  9. Offline

    QQCucumber

    Is it at all possible to only save player inventories? That's what I'm really using this for.
     
  10. Offline

    h0us3cat

    About time there is a save-all plugin.
    thank you so much!
    [cake] [cake][cake]
     
  11. Offline

    M1sT3rM4n

    A great feature to see would be an announcement text to everyone to warn of lag.
     
  12. Offline

    h0us3cat

    Can you read?

     
  13. Offline

    M1sT3rM4n

    Nope.
     
  14. Offline

    Austine

    Hello i just installed your plugin (love it) but for some reason it will create the auto-save folder but not the config.properties file.
    oh and i am running bukkit 326
     
  15. Offline

    cereal

    The current version writes the config file on a graceful shutdown only (try typing stop on the console). I'll add to the to-do list to create it on load if it doesn't exist!
    --- merged: Feb 15, 2011 4:46 PM ---
    Released version 0.0.3, see the change log above.
     
  16. Offline

    Austine

    Thanks so much dude i have been waiting for a plugin like this your awesome <3
     
  17. Offline

    cereal

    Version 0.0.4 is out, because I have no life and desire to procrastinate other work! See above for changes.
     
  18. Offline

    Kane

    @cereal Nice Job! Keep it up. Only if I knew how to make plugins. I already have the no life ;)
     
  19. Offline

    h0us3cat

    default properties looks like this
    Code:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
    <properties>
    <entry key="interval">300</entry>
    <entry key="announce.message">World Auto-Saving</entry>
    <entry key="broadcast.enable">true</entry>
    </properties>
     
  20. Offline

    cereal

    Major Release 1.0.1 is now out. See the above change log to prove even further procrastination of other work!
     
  21. Offline

    h0us3cat

    Now it looks like this.
    Code:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
    <properties>
    <entry key="command.broadcastchangesuccess">Auto Save broadcast is now {%BROADCAST%}</entry>
    <entry key="broadcast.message">World Auto-Saving</entry>
    <entry key="broadcast.enable">true</entry>
    <entry key="command.on">on</entry>
    <entry key="command.statusfail">Auto Save has stopped, check the server logs for more info</entry>
    <entry key="permissions">true</entry>
    <entry key="command.intervallookup">Auto Save interval is {%INTERVAL%}</entry>
    <entry key="command.broadcastnotvalid">You must enter a valid setting ({%ON%}, {%OFF%})</entry>
    <entry key="command.version">AutoSave v{%VERSION%}</entry>
    <entry key="command.off">off</entry>
    <entry key="command.save">World Saving</entry>
    <entry key="command.statusoff">Auto Save is not running (disabled)</entry>
    <entry key="command.statussuccess">Auto Save is running and last saved at {%DATE%}.</entry>
    <entry key="command.stopping">Stopping Auto Saves</entry>
    <entry key="command.intervalchangesuccess">Auto Save interval is now {%INTERVAL%}</entry>
    <entry key="command.starting">Starting Auto Saves</entry>
    <entry key="interval">300</entry>
    <entry key="command.intervalnotanumber">You must enter a valid number, ex: /save interval 300</entry>
    <entry key="command.insufficentpermissions">You do not have access to that command.</entry>
    <entry key="command.broadcastlookup">Auto Save broadcast is {%BROADCAST%}</entry>
    </properties>
    I am using CraftBukkit build 318 if it can help. :)
     
  22. Offline

    Kainzo

    So is this possible to set up an interval 30 secs BEFORE a save announce "The World will be saved in X seconds" ?
     
  23. Offline

    cereal

    Definitely possible, I assume it would be helpful especially on large servers. I'll consider it for the next release.
     
  24. Offline

    h0us3cat

    So the properties should look like i posted above? :p
     
  25. Offline

    cereal

    Yes, that is the current default properties/config (or at least it appeared to be).
     
  26. Is it possible for the properties file to be set up different in the future? More user friendly? As at the moment I have no idea how to edit it correctly and don't want to try messing with it.

    Could it not be like:

    broadcast.message =
    broadcast.enable =
    command.broadcastchangesuccess =
    command.broadcastlookup =
    command.broadcastnotvalid =
    command.intervalchangesuccess =
    command.intervallookup =
    command.off =
    command.on =
    command.save =
    command.starting =
    command.statusfail =
    command.statusoff =
    command.statussuccess =
    command.stopping =
    command.insufficentpermissions =
    command.intervalnotanumber =
    command.version =
    interval =
    permissions =

    ?
     
  27. Offline

    cereal

    Well, I would rather avoid using different types of config files as its a nightmare to manage for future releases. However say we wanted to change the message sent on save we would locate the entry "broadcast.message" and alter its contents.

    The original line from the configuration file:
    Code:
    <entry key="broadcast.message">World Auto-Saving</entry>
    An altered more amusing line to replace it:
    Code:
    <entry key="broadcast.message">I'm saving the world!</entry>
    Does that help explain what you can do to edit the file?
     
  28. Offline

    ddoolin

    This is awesome. Truly plug-and-play. Worked fine, usefulness is great. THANK YOU.
     
  29. Offline

    h0us3cat

    i see, i was thinking it was a bug :)
     
  30. Offline

    Kainzo

    Thanks :) now I wont have to get this made in house :D
     
Thread Status:
Not open for further replies.

Share This Page