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

    Kane

    @AutoSave Thanks for the wonderful update!
     
  3. Offline

    RazMaTaz

    CB.493

    Getting this now on the server.. just idle.. and happens from time to time.. not always

    Code:
    18:44:03 [INFO] Saving players
    18:44:04 [SEVERE] java.io.IOException: The handle is invalid
    18:44:04 [SEVERE]       at java.io.RandomAccessFile.seek(Native Method)
    18:44:04 [SEVERE]       at net.minecraft.server.RegionFile.a(SourceFile:342)
    18:44:04 [SEVERE]       at net.minecraft.server.RegionFile.a(SourceFile:279)
    18:44:04 [SEVERE]       at net.minecraft.server.ChunkBuffer.close(SourceFile:259
    )
    18:44:04 [SEVERE]       at java.util.zip.DeflaterOutputStream.close(Unknown Sour
    ce)
    18:44:04 [SEVERE]       at java.io.FilterOutputStream.close(Unknown Source)
    18:44:04 [SEVERE]       at net.minecraft.server.ChunkRegionLoader.a(SourceFile:5
    9)
    18:44:04 [SEVERE]       at net.minecraft.server.ChunkProviderServer.b(ChunkProvi
    derServer.java:156)
    18:44:04 [SEVERE]       at net.minecraft.server.ChunkProviderServer.a(ChunkProvi
    derServer.java:186)
    18:44:04 [SEVERE]       at net.minecraft.server.World.a(World.java:135)
    18:44:04 [SEVERE]       at net.minecraft.server.World.g(World.java:1429)
    18:44:04 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServe
    r.java:348)
    18:44:04 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:272)
    18:44:04 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:366)
     
  4. Offline

    Puremin0rez

    Same as the person above me, I wish I didn't update from .03! It worked perfect but I felt the need to update T_T
     
  5. Offline

    Sapd

    Is it normal that there is no more "[CONSOLE] Forceing save"? Or doesnt it work if it doesnt show this message?
     
  6. Offline

    zergilng

    link 1.0.3 version of autosave plugin plz~~
     
  7. Offline

    NeoSniperkiller

    version 1.1.1 gives this error when i do "/save"

    current configuration:
    - worlds to save: earth (standard world), arcadia & calypso & hell (MultiVerse worlds)
    - interval: 3600

    error message:
    Code:
    2011-03-05 14:14:20 [INFO] Saving players
    2011-03-05 14:14:20 [WARNING] Unexpected exception while parsing console command
    
    org.bukkit.command.CommandException: Unhandled exception executing command 'save
    ' in plugin AutoSave v1.1.1
            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:1
    76)
            at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:362)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:347)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:253)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NoSuchMethodError: org.bukkit.Server.savePlayers()V
            at sh.cereal.bukkit.plugin.AutoSave.AutoSave.savePlayers(Unknown Source)
    
            at sh.cereal.bukkit.plugin.AutoSave.AutoSave.onCommand(Unknown Source)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:19)
            ... 6 more
     
  8. Offline

    DJ_Idol

    Yeah, this is broken for me too now. /save gives an internal error notice, and it says autosave is toggled off even when it's not. 1.3 worked perfectly for me :-/
     
  9. Offline

    Wulfspider

    I am running the same build and getting the same error. I've narrowed it down to AutoSave.
     
  10. Offline

    Vaupell

    same here as above,,

    i cannot use /save and my console bug is similar to those above.
     
  11. First autosave today gave these:
    After that next 4 saves didn't give errors.

    Could there be an option to instead of using manual scripts and world configs, just call "save-all"?
     
  12. Offline

    Ice Wolf

    I'm getting this error too. bukkit build 495
    --- merged: Mar 7, 2011 10:00 PM ---
    Also when it auto-saves I only see the "saving players" show up in the console. I just wanted to confirm that my world is actually getting saved. perhaps a suggestion to add the confirmation you get from doing a manual /save.
    >save
    13:20:37 [INFO] Saving players
    13:20:37 [INFO] Players Saved
    13:20:38 [INFO] 1 Worlds Saved

    where as my autosave only shows this.

    13:59:51 [INFO] Saving players

    As I said before im running build 495
     
  13. Offline

    Eaglesight

    Hope this 'The handle is invalid' bug is fixed soon! Thanks for this great plugin.

    I also have an additional issue to report:
    [SEVERE] java.util.ConcurrentModificationException
    http://localhostr.com/files/fkRN5cE/CraftBukkit Starter.bat - Shortcut.png

    This happened after having the server up for atleast 12 hours, probably not related, but as far as I can tell from the console log - it's the first error of the sort. No one was online at the time.
     
  14. Offline

    captainbinary

    CB: 440
    AutoSave: 1.1.1

    This comes up in the console.
    Code:
    2011-03-08 09:24:17 [INFO] Saving players
    2011-03-08 09:24:17 [SEVERE] Exception in thread "Thread-8"
    2011-03-08 09:24:17 [SEVERE] java.lang.NoSuchMethodError: org.bukkit.Server.savePlayers()V
    2011-03-08 09:24:17 [SEVERE]    at sh.cereal.bukkit.plugin.AutoSave.AutoSave.savePlayers(Unknown Source)
    2011-03-08 09:24:17 [SEVERE]    at sh.cereal.bukkit.plugin.AutoSave.AutoSaveThread.run(Unknown Source)
     
  15. Offline

    monir

    auto save works but when i type in commands i get an internal error occured while attempting to peform this command why?
     
  16. Offline

    Eaglesight

    I confirm - this came up for me too, crashed the server completely.
     
  17. Offline

    xXZoozieXx

    Ok, i have a private server that runs on my computer. It occasionally crashes (bad computer/possible plugin error?) Im not here all day to restart it (freshman in high school) but i have written a custom .Bat that restarts it every 29:55 min and then waits 5 sec (which i can share with anyone who wants it), then starts it again. unfortunately i used "tskill java" to shutdown the server so it doesnt save well, most blocks are kept but players are frequently moved, inventory contents lost. the main problem i have with this plugin is that it doesnt seem to restart the time upon restart of server so what is supposed to be a 1 minute warning is a 2 3 4 5 6, and so on. any configuration that can help with this?
     
  18. Offline

    Xgkkp

    Does this mean that the player.dat files are updated outside of player disconnections?
     
  19. Offline

    Kiim

    I have now set it up to my SMP server and it work damn good!

    Thx very much for this plugin, it just AWESOME!
     
  20. Offline

    4am

    This may not be necessary soon. As I understand, they're attempting to move saving and loading to it's own thread.
     
  21. Offline

    Kane

    god I hope it all gets moved away from the main thread. Could run larger servers.
     
  22. Offline

    Reterg

    I randomly get this error when it is doing an auto save.
    Running Recomended build 527 of craftbukkit. It also did it with build 493.

    Code:
     >
    19:10:05 [INFO] Saving players
    >
    19:10:06 [SEVERE] java.io.IOException: The handle is invalid
    >
    19:10:06 [SEVERE]    at java.io.RandomAccessFile.seek(Native Method)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.RegionFile.a(SourceFile:342)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.RegionFile.a(SourceFile:279)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.ChunkBuffer.close(SourceFile:259)
    >
    19:10:06 [SEVERE]    at java.util.zip.DeflaterOutputStream.close(Unknown Source)
    >
    19:10:06 [SEVERE]    at java.io.FilterOutputStream.close(Unknown Source)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.ChunkRegionLoader.a(SourceFile:59)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.ChunkProviderServer.b(ChunkProviderServer.java:156)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.ChunkProviderServer.a(ChunkProviderServer.java:186)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.World.a(World.java:135)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.World.g(World.java:1429)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:348)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    >
    19:10:06 [SEVERE]    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Some auto saves complete without this error.
     
  23. Offline

    Lunar Delta

    I don't think it is saving the chunks properly. Before, I would always see the console output for saving in-game and in the console itself. Now, the in-game output simply reads "World Auto-Saving" and the console only says "Saving Players" instead of "Saving Chunks".
     
  24. Offline

    4am

    I'm pretty sure this is planned to happen, and then some. Threading will likely come later as part of optimization; they're gotta build the pieces before they know how to best get them working together.
     
  25. Offline

    th3geek

    14th of Feb release date... Hmm Some one didn't have a valentine :) IN all honesty though, this looks like a great plugin. downloading it now!
     
  26. Offline

    Dawodo

    Testing this on 531 and it works fine atm.
     
  27. Offline

    Xon

    I've forked this on github and altered it so the saving occurs in the mainthread since it touches non-threadsafe code (and I'm not convinced the worldsaving is thread safe to begin with)

    Here is the jar, sourcecode here. With this change I haven't had a single "The handle is invalid" exception or concurrent modification exception.
     
  28. Offline

    TheShadow777

    hey i have a problem, after restart my server doesnt work autosave... its loaded but at the first autosave comes this error:

    > 05:44:09 [SEVERE] at sh.cereal.bukkit.plugin.AutoSave.AutoSaveThread.run(Unknown Source)
    > 05:44:09 [SEVERE] at sh.cereal.bukkit.plugin.AutoSave.AutoSave.savePlayers(Unknown Source)
    > 05:44:09 [SEVERE] java.lang.NoSuchMethodError: org.bukkit.Server.savePlayers()V
    > 05:44:09 [SEVERE] Exception in thread "Thread-13"
    > 05:44:09 [INFO] Saving players

    i hope anybody can help me
     
  29. Offline

    4am

    Maybe I don't know what I'm doing, but it looks like even though you've moved the save code out into the main plugin object, you're still calling it from the secondary thread.

    Wouldn't it be best to have your timer thread post a custom event and register the main thread to trap it and save from the main thread? Are events threadsafe yet?
     
  30. Offline

    hello2u

    Feature request: save to a different directory (make a backup)
     
  31. Offline

    desmin88

    I made a new plugin to fix the problems his has been having. It does the samething, but its a bit more simplistic.
    You can view my plugin >HERE<
     
Thread Status:
Not open for further replies.

Share This Page