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

    sayton12

    AutoSave 2.0.1
    Bukkit 1060
    6Gb DDR2 ram
    Intel Core 2 Quad Q8200
    1 very small world
    windows 7 ultimate x64

    It happens with any number of players and has been on going for months. I just never tracked it down until now and its without any doubt AutoSave.

    It just keeps the CPU at ~30% for 5-6 seconds then drops to 1-2% and back up to 30%. I'm now using http://forums.bukkit.org/threads/admn-serversave-v1-3-dead-simple-map-saves-1060.24838/ and the issue has gone.
     
  3. Offline

    cereal

    Could you test AutoSave v3.0.0?
     
  4. Offline

    wh1t3c0d3r

    Hi,

    I am using AutoSave 2.0.1 and I get error with the plugin. I tested disabling the plugins and the error stopped.
    Here the log:
    Code:
    2011-08-31 09:01:05 [SEVERE] net.minecraft.server.MinecraftException: Failed to check session lock, aborting
    2011-08-31 09:01:06 [SEVERE]     at net.minecraft.server.PlayerNBTManager.b(PlayerNBTManager.java:71)
    2011-08-31 09:01:06 [SEVERE]     at net.minecraft.server.World.k(World.java:2243)
    2011-08-31 09:01:06 [SEVERE]     at net.minecraft.server.World.w(World.java:215)
    2011-08-31 09:01:06 [SEVERE]     at net.minecraft.server.World.save(World.java:205)
    2011-08-31 09:01:06 [SEVERE]     at net.minecraft.server.World.doTick(World.java:1718)
    2011-08-31 09:01:06 [SEVERE]     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:441)
    2011-08-31 09:01:06 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    2011-08-31 09:01:06 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-08-31 09:01:06 [SEVERE] Unexpected exception
    net.minecraft.server.MinecraftException: Failed to check session lock, aborting
        at net.minecraft.server.PlayerNBTManager.b(PlayerNBTManager.java:71)
        at net.minecraft.server.World.k(World.java:2243)
        at net.minecraft.server.World.w(World.java:215)
        at net.minecraft.server.World.save(World.java:205)
        at net.minecraft.server.World.doTick(World.java:1718)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:441)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    Can someone help me?.

    Thanks in advance.
     
  5. Offline

    cereal

     
  6. Offline

    sayton12

    AutoSave build 22 does not have this issue. I guess this is 3.0.0

    Nice work and thanks a fix. I hope this helps
     
  7. Offline

    cereal

    Yes, build 22 on our build server is the new 3.0.0 ;) Just waiting for a few other of my test servers to confirm no more issues then we are going to release. Thank you for testing and let me know if you find any issues. Also, there is a GREAT wealth of information on our Bukkit Dev page including tons of documentation (mostly suited for 3.0.0).
     
  8. Offline

    AgentKid

    The errors that @wh1t3c0d3r, @TewDIE and I have posted are NOT simple exceptions that don't have any side effects. AutoSave is opening up almost a thousand files, overloading the max for java and causing the server to be unable to access the session lock file, at which point it kills itself (for those who don't know, Notch added a failsafe so that minecraft can't open the same world twice by adding a file that the server continually watches. If it changes or can't be accessed, the server assumes that another server was opened and it kills itself to stop the world from being overwritten). I haven't had any luck with build 22, though. Any ideas?
     
  9. Offline

    cereal

    Considering I submitted the pull request that SimpleSave, ServerSave, AutoSave, and insert name of your next favorite saving plugin uses, I'm pretty sure that the world.save() will result in the same effort being achieved. The only difference is when these methods are called and that is where the difference between all of these plugins ends.

    Now you claim AutoSave is opening up almost a thousand files? Doubtful or this thread would be full responses of the thousands of server admins who currently run AutoSave. Without any help I can't even begin to address these issues which are likely side effects rather than the actual cause.

    Long story short, provide more details and I'd be glad to help you solve the problem. Though don't expect much when you don't provide any additional details other than a stacktrace. Sometimes its easy, sometimes its not and the environment can affect greatly what is happening.

    With all that said...

    Not really certain what your telling me. Are you telling me its broken? If so how is it broken?
     
  10. Offline

    AgentKid

    Same problem was happening. The weird thing is, though, is that I had never used AutoSave 3.0.0 before trying it out this morning and I removed it and let the server run without saving for awhile, then re-added AutoSave and it's working perfectly again. I guess it was just some weird conflict with plugins that I didn't notice earlier. I'll post on here if it happens again, but thanks for your help :)
     
  11. Offline

    wh1t3c0d3r

    I will try what @AgentKid said and will report back if it worked for me or not. I just have another question, maybe it is just in front of me but, where can I download AutoSave 3.0.0?

    Thanks
     
  12. Offline

    AgentKid

    You can find it here.
     
  13. Offline

    wh1t3c0d3r

    Thanks, I will try it as soon as I can.
     
  14. Offline

    cereal

    @AgentKid thanks for the update and glad its working.
     
  15. We had the problems too. Removing Autosave stopped all the other plugin complaining about "too many files open".
     
  16. Offline

    cereal

    How big are your worlds and how often are you saving and have you tried using AutoSave 3?
     
  17. Offline

    TewDIE

    @cereal

    Maybe you need to like rewrite the plugin? If you still have the same code as 6 months ago I mean. Something might be changed. A plugin that only saves the worlds can't take that much time to rewrite can it? Just trying to help! Since it's completely impossible for me to start my server with AutoSave something must be wrong somewhere :S I never could have thought AutoSave did more than just save the maps or how that could be this heavy.

    I hope it will be solved soon, afterall you still have it tagged for 935 so its kind of old for a 1060 server and the plugin might be dying if you don't update that.(No sane admin would consider an essential plugin that is meant for 935 if they just started up a server)

    - TewDIE
     
  18. Offline

    cereal

    What!? Because the save code in Minecraft (more like Bukkit) has changed? Code doesn't just over time deteriorate and throwing away code because its old is just a waste of time and effort (and in most cases money, but I do this for free anyways).

    You should work with me then! Posting responses like "there is a problem" without providing information about what you are doing with my plugin makes it near impossible to find the problem. More importantly, I've suggested for those with your problem to update to version 3.0.0 to see if it has already been fixed (whatever 'it' is) because if so, this is all really a waste of our time.

    In fact, one person has already posted stating that version 3 fixed this issue for them!

    My laziness in updating this thread title is irrelevant! Beyond that, looking at the top of the first post clearly states that the most up to date information is no longer on this thread, but on Bukkit Dev (which states support for 1060). AutoSave hasn't had an update for 1060 because there was and is no need for it. If for any reason the saving code changed (which I don't foresee in the future) then I would update AutoSave, but there's nothing wrong with the code (besides your perceptions).
     
  19. Offline

    PandaC0mmander

    Hey there, I love this plugin but one major problem.

    I have it on for a day or 2 then it fails. Currupting all my plugins and making my server not even start. But if you delete it everything is fine, then reinstall, everything is fine.

    This is one error I got when everything was running fine and it tried to save;

    11:53:14 [INFO] [AutoSave] §9World Auto-Saving
    11:53:14 [SEVERE] java.util.ConcurrentModificationException
    11:53:14 [SEVERE] at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
    11:53:14 [SEVERE] at java.util.AbstractList$Itr.next(Unknown Source)
    11:53:14 [SEVERE] at net.minecraft.server.ChunkLoader.a(SourceFile:121)
    11:53:14 [SEVERE] at net.minecraft.server.ChunkRegionLoader.a(SourceFile:62)
    11:53:14 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunk(ChunkProviderServer.java:164)
    11:53:14 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunks(ChunkProviderServer.java:213)
    11:53:14 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.save(CraftWorld.java:570)
    11:53:14 [SEVERE] at net.milkbowl.autosave.AutoSave.saveWorlds(AutoSave.java:688)
    11:53:14 [SEVERE] at net.milkbowl.autosave.AutoSave.performSave(AutoSave.java:710)
    11:53:14 [SEVERE] at net.milkbowl.autosave.AutoSaveThread$1.run(AutoSaveThread.java:86)
    11:53:14 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    11:53:14 [SEVERE] at java.lang.Thread.run(Unknown Source)
    11:53:15 [INFO] [AutoSave] §9World Auto-Save Complete


    Hope you can help
    -Dan
     
  20. Offline

    cereal

     
  21. Offline

    PandaC0mmander


    Alright thanks! Installed and so far running smoother than ever :)
     
  22. Offline

    dataviruset

  23. Offline

    cereal

    It certainly will but based upon the change it will only improve your experience. I'm on the road now and will be until late tonight and will look further then. Thanks for the heads up!

    Just FYI, AutoSave will be able to benefit from these changes without an update (and none directly is needed, though I will probably make some minor changes to Version 3) so enjoy your AutoSaving!

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

    forceserver

    doesn't this plugin support spout?
     
  25. Offline

    cereal

    What do you mean by support spout? Should it work on spout? I do not see any reason why it shouldn't, but I don't actively test AutoSave with Spout so give it a trial run on a test server even if that means loading up a copy of your server on your desktop. I don't think Spout changes anything with the world saving portion of Bukkit but I haven't looked at the source code.

    If you mean by drawing a fancy gui to players, then no it doesn't support Spout because there is no need to provide a GUI of any kind to the users, in fact I believe chat is the idea notification place as performing world saves specifically is not enough to justify additional UI elements and it certainly is a simple informational notice.

    So, could you clarify what you mean? Did I answer your question?
     
  26. Offline

    Anthony45654

    The config file is a little strange. I opened it with Notepad++ and the formatting is kind of weird and confusing. What program do you use/suggest to open this file?
     
  27. Offline

    cereal

    Any text editor will work fine, I personally prefer using vi, but everyone has their own preference.
     
  28. Offline

    Rpa;otj

    @cereal - Just tonight a player has complained to me that AutoSave sometimes "double saves" if someone logs in or out at the same time that the interval happens to be saving. Is this caused by the player data changing during the initial save and it restarts the process of the plugin or is this something else completely? I have not seen this firsthand but he said that players online notice about 10 seconds of hard lag when the double save has happened.

    Thanks for any reply!
     
  29. Offline

    cereal

    I've heard of that being a rare bug in v2.0.1, if you experience it often I would recommend using AutoSave 3.
     
  30. Offline

    Rpa;otj

    @cereal - I don't see an AutoSave 3 on this thread or the Bukkit Dev but I'm assuming you mean dev build #23. If so I will upgrade to it after I run my errands for the day :)

    Thanks for a quick reply!
     
  31. Offline

    cereal

    It was mentioned a few pages ago that it was my dev build #23 (and around there). I'm soon going to officially release it, just been distracted as of late. If possible, provide feedback, I'd love to know how your experience is.

    Also, impressive typo.
     
Thread Status:
Not open for further replies.

Share This Page