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

    Rodle26

    It won't let me save my interval to a different time.
     
  3. Offline

    Kene

    If I removed the Lib folder, would I get any Severe errors?
     
  4. Offline

    cereal

    Could you perform a "save debug on", and restart the server and then post the resulting log file of your attempt to change the interval?

    Thanks!

    What lib folder?

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

    Rodle26

    AutoSave v1.2.5
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:254)
    at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:626)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:589)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:583)
    at net.minecraft.server.Packet3Chat.a(SourceFile:24)
    at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    Caused by: java.lang.NoClassDefFoundError: com/nijiko/permissions/PermissionHandler
    at sh.cereal.bukkit.plugin.AutoSave.AutoSave.checkPermissions(AutoSave.java:316)
    at sh.cereal.bukkit.plugin.AutoSave.AutoSave.onCommand(AutoSave.java:441)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    ... 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:36)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 15 more

    This seems to happen every time i try to perform a command from auto-save. Any idea why this is happening?
     
  6. Offline

    CjStaal

    Looks like autosave isn't working for me :confused:
     
  7. Offline

    cereal

    You don't have Permissions. Setting permissions to false in the configuration file should disable the checks. I'll look into making the checks a bit more useful.

    Could you elaborate? Hopefully you'd tell your mechanic more than "its broken", in fact you'd at least let him look under the hood! What happens or doesn't happen? Please post your log file so I can see whats going on.

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

    Rodle26

    I got it working, thank you. I have a question (i am kind of new to permissions), how do i give permissions to certain plugins that only i can use. I have a friend who is OP and i don't want home randomly deleting the whole world with one of the plugins i have. Can you please recommend a plugin or tell me how to put permissions?
     
  9. Offline

    cereal

    You should be able to create a group for admins or something like that then simply give that group whatever permissions you desire and you just add players to that group. I would suggest checking out IRC or the Permissions plugin thread and read up a bit on all of this.
     
  10. Offline

    Kainzo

    I believe theres something clashing - using this plugin I'm noticing that the "stopping" server process now takes 2-3minutes instead of 10s. The saves are fast though. Any thoughts on this or possible conflicts on "playerQuit" hooks?
     
  11. Offline

    cereal

    It is possible...could you get a debugging log for me?
     
  12. Offline

    Kainzo

    The server screen freezes for a good 5+ minutes. I'll attempt to get a debugging log. First and foremost I'm going to try and reproduce this on test. The problem is.... its hard to do a debugging on LIVE and I havent seen it on test due to TEST server being up for hours - where as LIVE is up for days without a restart.
     
  13. Offline

    cereal

    How long is your save interval? Could you post your config?
     
  14. Offline

    Kainzo

    Definitely can. I tried reproducing this on test - mirrored settings - it didn't happen after 10mins of server up (though hardly any users are online)

    Here's the config http://pastie.org/1807327
     
  15. Offline

    cereal

    Seems odd. From your description of it the onDisable thread is hanging when its telling the Save Thread to shut down - which should take at MOST a full second depending upon the timing. I'm going to really need to see a server log, and might even have to bake you a custom build to enable uberlogging.
     
  16. Offline

    Kainzo

    Well - I decided to take out AutoSave to (test) and it still hung after several seconds - so I dont think its AutoSave - but it definitely is something conflicting (I'm guessing LWC or BigBrother at this point)
     
  17. Offline

    cereal

    Thanks for letting me know. Always glad to know I didn't foobar something!
     
  18. Offline

    Kainzo

    Granted, it didnt take as long that time but it still took awhile, I let it sit at "stopping server" for about 30 seconds - before ending the task. Earlier today it took 2-3 mins to "END THE TASK" even after I tried to stop it
    I'll do more testing, I dont think its just "one plugin" at play here, It feels like several. I'm going to run without Autosave and try to shutdown tomorrow and see how long it takes. I'll let you know - if its way shorter, than it may very well be something in Autosave conflicting with something in another plugin.
     
  19. Offline

    Kene

    I have many tabs related to plugins open, sorry to post in the wrong tab.
     
  20. Offline

    Kainzo

    @cereal - k - this morning I was making an update to 684.

    It didn't take more than 10s to 'shut down' the server. I think there is a conflict with AutoSave. However, it does not just 'happen' but takes the server to be up for hours.
    It's a bad thing because I love the autosave plugin and its a necessary function.
     
  21. Offline

    cereal

    I would love to help figure this out! If you want you can pull my github source and make a build with debugging in onDisable or I could bake something up for you. Let me know which you prefer :)
     
  22. Offline

    Suprem20

    The configuration says the save interval is 300, but 300 what?
     
  23. Offline

    Kainzo

    Seconds
    Sure - if you want to pm me a DL link - ill throw it in and see if we cant see what's clashing. MC 1.5 is out :p
     
  24. Offline

    Suprem20

    Thanks a lot.
     
  25. Offline

    cereal

    Why don't we wait for Bukkit to catch up to 1.5, plus I've got Portal 2 and now MC 1.5 to enjoy!
     
  26. Offline

    Kainzo

    That sounds good too :) we can do the test whenever.
     
  27. Offline

    cereal

    Released AutoSave v1.2.6, please see the release notes above!

    Decided to spend a few seconds to update the plugin for the last 1.4 RB and add the debugging for you (really there wasn't much to it). Could you update and then before you stop perform a "save debug on" which should help us understand if I'm causing the delay or not. I added a few logging statements and a timer to determine how long it takes to disable itself.

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

    iTz CHEEZ3

    Auto saves are great and all, but there is one flaw that comes with them, griefing. If someone griefs without anyone knowing, like lets just say lights a forest on fire, and the world autosaves, you're basically fucked, So maybe you should make a BACKUP option that asks any Admin that is online if it wants to create a backup world, that doesn't get overwritten unless the admin says yes more than once. Its kinda hard to explain, but there would basically be two world save files. One would be "[world name]autosave" and the other "[world name]backup"
     
  29. Offline

    City Builder

    Has anybody tested this with bukkit 706 and if so, was the save ok?
     
  30. Offline

    cereal

    I've run it on my test system on 699 (MC 1.5) and it looked to be working as intended. Based upon the commits leading up to 706 I would expect that it would also be the same. It is unlikely that you will have any issues with 706.
     
  31. Offline

    Pebsie

    Complete noob question, but how do I load a save?
     
Thread Status:
Not open for further replies.

Share This Page