AutoSave
AutoSave - Automatic World Saves
AutoSave IS NO LONGER UPDATED AND DOES NOT WORK
Yup...time to move on people. Seriously...don't ask. Want to continue AutoSave? Feel free! The source code in all its awesome glory is available on Github so go grab it and no complaining! Or you could just learn how to program and also...no complaining.
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.
How does AutoSave work?
AutoSave works in the background on a server. The plugin ONLY performs a save on all the Worlds and Players on your server. It does not perform backups. Why would you want this? It makes it easier to ensure your world is saved frequently enough that a crash will have only small effects upon your players!
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
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.
Problems?
Bug?
If you've found a bug, please report it via a Ticket and provide full details. Any bug reports that are not complete or are not reproducible will be closed. Please provide as much detail as possible!
Suggestions?
Need, want, or desire a feature not currently in AutoSave? If so, please fill out a Ticket and provide full details. Please remember that not all suggestions will be implemented and how they are implemented is up to the developer. Alternatively you can create a fork of AutoSave on Github and submit a Pull Request with your changes!
Need Help?
If your having issues with AutoSave that are not bugs, make a thread in our forum.
Important Links
- Commands
- Performance
- Configuration File
- Frequently Asked Questions
- Changelog
- Github
- Development Builds
@dogbig
Yeh i got that error.. brought my server down yesterday coupled with nolagg.. was fine for 24hrs :)
3.0.0dev-b24 still backup was only 30mins old.. so wasn't a biggie.. took it off now until i can be sure it won't be a problem again. Useful plugin when I can trust it.
@andune
Sorry about that not bringing the documentation about the stats reporting. It is easily disabled via the config file. I did have it in the forums documentation but apparently that got missed when I made this project.
As far as the issues, thanks for the help and I'll soon have a new build out fixing all of these issues.
Plugin is now broken.. Why?? .. it is crashing the whole server when enabled
2012-01-18 22:12:34 [SEVERE] at java.net.ServerSocket.accept(ServerSocket.java:430) 2012-01-18 22:12:34 [SEVERE] at net.minecraft.server.NetworkAcceptThread.run(SourceFile:35) 2012-01-18 22:12:34 [SEVERE] java.net.SocketException: Too many open files 2012-01-18 22:12:34 [SEVERE] at java.net.PlainSocketImpl.socketAccept(Native Method) 2012-01-18 22:12:34 [SEVERE] at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408) 2012-01-18 22:12:34 [SEVERE] at java.net.ServerSocket.implAccept(ServerSocket.java:462) 2012-01-18 22:12:34 [SEVERE] at java.net.ServerSocket.accept(ServerSocket.java:430) 2012-01-18 22:12:34 [SEVERE] at net.minecraft.server.NetworkAcceptThread.run(SourceFile:35) 2012-01-18 22:12:34 [SEVERE] java.net.SocketException: Too many open files
The current Autosave broke my map!! Update it ASAP! >:(
I've locally fixed this by A) fixing a Bukkit variable that was renamed from "canSave" to "savingDisabled" and B) turning off a thread inside autosave that was "phoning home" to let the plugin author gather usage statistics. The stat reporting website "http://stats.cereal.sh/" has gone dark and this results in the "phone home" thread trying to repeatedly open the website in an infinite loop as fast as it can. Besides sucking CPU power, Java is not able to close connections fast enough and this results in "too may open files" errors that shutdown your Bukkit process.
I'm none too pleased that the plugin had an unmentioned phone home capability (it was reporting os system name, architecture, java version, plugin version and bukkit version) and of course even less pleased that the "phone home" site going offline is what broke this plugin for everyone.
@xclucky
Yep this plugin was totally destroying my server, wouldnt even start up
@cerea1
Update please really needs to be fixed!
If you are currently using this plugin and your server has stopped working, delete it. Me and Lucasdidur discovered that this plugin is leading to server crashes.
Update man plz !
@Toxicminers
You should just use AutoSave 3. I haven't gotten around to updating the documentation and releasing it but it is available off our build server here: http://ci.milkbowl.net/job/AutoSave/lastSuccessfulBuild/
We have been in desperate need of a new autosave plugin. This needs to be updated or someone with the know-how should take it over there is no simple saving plugin out there for us non-java writing server owners to use :(. Please update this if you could if not close it down so we can maybe find something else. Love this plugin though and would like to continue using it.
How do I turn the warning messages of?
17:26:38 [INFO] World Auto-Saving
17:26:38 [INFO] [AutoSave] ?9World Auto-Saving
17:26:38 [SEVERE] java.util.ConcurrentModificationException
17:26:38 [SEVERE] at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
17:26:38 [SEVERE] at java.util.HashMap$KeyIterator.next(HashMap.java:828)
17:26:38 [SEVERE] at net.minecraft.server.World.a(World.java:2340)
17:26:38 [SEVERE] at net.minecraft.server.ChunkLoader.a(SourceFile:140)
17:26:38 [SEVERE] at net.minecraft.server.ChunkRegionLoader.a(SourceFile:84)
17:26:38 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunk(ChunkProviderServer.java:152)
17:26:38 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunks(ChunkProviderServer.java:201)
17:26:38 [SEVERE] at net.minecraft.server.World.save(World.java:269)
17:26:38 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.save(CraftWorld.java:542)
17:26:38 [SEVERE] at net.milkbowl.autosave.AutoSave.saveWorlds(AutoSave.java:688)
17:26:38 [SEVERE] at net.milkbowl.autosave.AutoSave.performSave(AutoSave.java:710)
17:26:38 [SEVERE] at net.milkbowl.autosave.AutoSaveThread$1.run(AutoSaveThread.java:86)
17:26:38 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
17:26:38 [SEVERE] at java.lang.Thread.run(Thread.java:680)
17:26:38 [INFO] World Auto-Save Complete
17:26:38 [INFO] [AutoSave] ?9World Auto-Save Complete
This works fine still. Build server is here: http://ci.milkbowl.net/job/AutoSave/changes
Guys, Dont you see it looks like he doesn't even update anymore? Bukkit 1060
How does the Sync vs Async saving work?
If the server's tickrate is low, will Sync take longer to fire and will Async still fire when it should? (i.e. every 15 minutes if set to that).
15:40:17 [INFO] World Auto-Saving 15:40:17 [INFO] [AutoSave] 9World Auto-Saving 15:40:17 [SEVERE] java.util.ConcurrentModificationException 15:40:17 [SEVERE] at java.util.HashMap$HashIterator.nextEntry(Unknown Sour ce) 15:40:17 [SEVERE] at java.util.HashMap$KeyIterator.next(Unknown Source) 15:40:17 [SEVERE] at net.minecraft.server.World.a(World.java:2334) 15:40:17 [SEVERE] at net.minecraft.server.ChunkLoader.a(SourceFile:140) 15:40:17 [SEVERE] at net.minecraft.server.ChunkRegionLoader.a(SourceFile:8 4) 15:40:17 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunk(Ch unkProviderServer.java:152) 15:40:17 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunks(C hunkProviderServer.java:201) 15:40:17 [SEVERE] at net.minecraft.server.World.save(World.java:267) 15:40:17 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.save(CraftWorld.jav a:546) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSave.saveWorlds(AutoSave.ja va:688) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSave.performSave(AutoSave.j ava:710) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSaveThread$1.run(AutoSaveTh read.java:86) 15:40:17 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(Craf tWorker.java:34) 15:40:17 [SEVERE] at java.lang.Thread.run(Unknown Source) 15:40:17 [SEVERE] java.util.ConcurrentModificationException 15:40:17 [SEVERE] at java.util.HashMap$HashIterator.nextEntry(Unknown Sour ce) 15:40:17 [SEVERE] at java.util.HashMap$KeyIterator.next(Unknown Source) 15:40:17 [SEVERE] at net.minecraft.server.World.a(World.java:2334) 15:40:17 [SEVERE] at net.minecraft.server.ChunkLoader.a(SourceFile:140) 15:40:17 [SEVERE] at net.minecraft.server.ChunkRegionLoader.a(SourceFile:8 4) 15:40:17 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunk(Ch unkProviderServer.java:152) 15:40:17 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunks(C hunkProviderServer.java:201) 15:40:17 [SEVERE] at net.minecraft.server.World.save(World.java:267) 15:40:17 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.save(CraftWorld.jav a:546) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSave.saveWorlds(AutoSave.ja va:688) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSave.performSave(AutoSave.j ava:710) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSaveThread$1.run(AutoSaveTh read.java:86) 15:40:17 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(Craf tWorker.java:34) 15:40:17 [SEVERE] at java.lang.Thread.run(Unknown Source) 15:40:17 [SEVERE] java.util.ConcurrentModificationException 15:40:17 [SEVERE] at java.util.HashMap$HashIterator.nextEntry(Unknown Sour ce) 15:40:17 [SEVERE] at java.util.HashMap$KeyIterator.next(Unknown Source) 15:40:17 [SEVERE] at net.minecraft.server.World.a(World.java:2334) 15:40:17 [SEVERE] at net.minecraft.server.ChunkLoader.a(SourceFile:140) 15:40:17 [SEVERE] at net.minecraft.server.ChunkRegionLoader.a(SourceFile:8 4) 15:40:17 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunk(Ch unkProviderServer.java:152) 15:40:17 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunks(C hunkProviderServer.java:201) 15:40:17 [SEVERE] at net.minecraft.server.World.save(World.java:267) 15:40:17 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.save(CraftWorld.jav a:546) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSave.saveWorlds(AutoSave.ja va:688) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSave.performSave(AutoSave.j ava:710) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSaveThread$1.run(AutoSaveTh read.java:86) 15:40:17 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(Craf tWorker.java:34) 15:40:17 [SEVERE] at java.lang.Thread.run(Unknown Source) 15:40:17 [SEVERE] java.util.ConcurrentModificationException 15:40:17 [SEVERE] at java.util.HashMap$HashIterator.nextEntry(Unknown Sour ce) 15:40:17 [SEVERE] at java.util.HashMap$KeyIterator.next(Unknown Source) 15:40:17 [SEVERE] at net.minecraft.server.World.a(World.java:2334) 15:40:17 [SEVERE] at net.minecraft.server.ChunkLoader.a(SourceFile:140) 15:40:17 [SEVERE] at net.minecraft.server.ChunkRegionLoader.a(SourceFile:8 4) 15:40:17 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunk(Ch unkProviderServer.java:152) 15:40:17 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunks(C hunkProviderServer.java:201) 15:40:17 [SEVERE] at net.minecraft.server.World.save(World.java:267) 15:40:17 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.save(CraftWorld.jav a:546) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSave.saveWorlds(AutoSave.ja va:688) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSave.performSave(AutoSave.j ava:710) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSaveThread$1.run(AutoSaveTh read.java:86) 15:40:17 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(Craf tWorker.java:34) 15:40:17 [SEVERE] at java.lang.Thread.run(Unknown Source) 15:40:17 [SEVERE] java.util.ConcurrentModificationException 15:40:17 [SEVERE] at java.util.HashMap$HashIterator.nextEntry(Unknown Sour ce) 15:40:17 [SEVERE] at java.util.HashMap$KeyIterator.next(Unknown Source) 15:40:17 [SEVERE] at net.minecraft.server.World.a(World.java:2334) 15:40:17 [SEVERE] at net.minecraft.server.ChunkLoader.a(SourceFile:140) 15:40:17 [SEVERE] at net.minecraft.server.ChunkRegionLoader.a(SourceFile:8 4) 15:40:17 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunk(Ch unkProviderServer.java:152) 15:40:17 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunks(C hunkProviderServer.java:201) 15:40:17 [SEVERE] at net.minecraft.server.World.save(World.java:267) 15:40:17 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.save(CraftWorld.jav a:546) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSave.saveWorlds(AutoSave.ja va:688) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSave.performSave(AutoSave.j ava:710) 15:40:17 [SEVERE] at net.milkbowl.autosave.AutoSaveThread$1.run(AutoSaveTh read.java:86) 15:40:17 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(Craf tWorker.java:34) 15:40:17 [SEVERE] at java.lang.Thread.run(Unknown Source) 15:40:17 [INFO] World Auto-Save Complete 15:40:17 [INFO] [AutoSave] 9World Auto-Save Complete
What is wrong?
AutoSave doesn't seem to save the config at save-all, but when you stop or reload the server. This plugin works fine for me on Craftbukkit 1493 (1.0).
Same :(
My config is not saving changes using #1317 and v2.0.1... Help!?