AutoSaveWorld

AutoSaveWorld - multifunctional plugin that can save, backup, purge, restart the minecraft server, reload plugins and much more.
AutoSaveWorld will work on any bukkit/spigot/mcpc+/cauldron build starting from version 1.2.5-R5.0
Version: 4.14.2
Features:
Note: all feautures except autosave are disabled by default.
- Performs a world and players data saves (similar to save-all in console)
- Performs a world backups({server folder}/backups/)
- Performs some plugins data purge
- Performs autorestart at a defined time
- Performs restart at server crash
- Executes console commands defined in config automatically
- Warning messages
- Multi-World Support
- Configurable messages
- Option to disable broadcast message
Documentation:
Note: Configuration can only be reloaded by built-in commands
AutoSaveWorld have many features:
1)AutoSave - saves your worlds and player inventory.
AutoSave documentation page
2)AutoBackup - backups your worlds
AutoBackup documentation page
3)AutoPurge - purges some plugins data
AutoPurge documentation page
4)AutoRestart - restarts server at a defined time
AutoRestart documentation page
5)CrashRestart - restarts server if it crashes
CrashRestart documentation page
6)AutoConsoleCommand - automatically executes console commands
AutoConsoleCommand documentation page
7)WorldRegen - starts server with a fresh map but preserves some plugins territory claims
WorldRegen documentation page
8)PluginManager - load, unload, reload plugins using commands
PluginManager documentation page
Messages config explanation:
Messages configuration
Additional commands:
/asw help #displays help for all comands Permission:autosaveworld.help
/asw reload #reloads config.yml and configmsg.ymlPermission:autosaveworld.reload
/asw reloadconfig #reloads config.yml Permission:autosaveworld.reloadconfig
/asw reloadmsg #reloads configmsg.yml Permission:autosaveworld.reloadmsg
/asw version #displays AutoSaveWorld version Permission:autosaveworld.version
/asw info #displays AutoSaveWorld info Permission:autosaveworld.info
Note:All commands work if you are OP, console or have permission.
Note:Config can only be reloaded using config reload commands.
Dev builds and Source code
Develompent builds: jenkins
Source code: GitHub
-
View User Profile
-
Send Message
Posted Jun 13, 2013@shevchickenden it crashes the server idk why downtime has increased with about 50% or more
-
View User Profile
-
Send Message
Posted Jun 12, 2013@vertigolf
It fails to read some files.
The backup should still run normally.
This often happens when it tries to copy .lck files but ofc ti can't, i forgot to move that to debug.
Just ignore it.
-
View User Profile
-
Send Message
Posted Jun 12, 2013what is this?
2013-06-12 14:28:59 [INFO] [AutoSaveWorld] AutoBackuping 2013-06-12 14:34:30 [INFO] Read timed out 2013-06-12 14:35:33 [INFO] Read timed out 2013-06-12 14:39:51 [SEVERE] java.io.IOException: Het proces heeft geen toegang tot het bestand omdat een gedeelte van het bestand door een ander proces is vergrendeld 2013-06-12 14:39:51 [SEVERE] at java.io.FileInputStream.readBytes(Native Method) 2013-06-12 14:39:51 [SEVERE] at java.io.FileInputStream.read(Unknown Source) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.copyDirectory(AutoBackupThread.java:355) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.copyDirectory(AutoBackupThread.java:342) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.copyDirectory(AutoBackupThread.java:342) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.backupPlugins(AutoBackupThread.java:217) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.performBackup(AutoBackupThread.java:302) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.run(AutoBackupThread.java:119) 2013-06-12 14:39:51 [SEVERE] java.io.IOException: Het proces heeft geen toegang tot het bestand omdat een gedeelte van het bestand door een ander proces is vergrendeld 2013-06-12 14:39:51 [SEVERE] at java.io.FileInputStream.readBytes(Native Method) 2013-06-12 14:39:51 [SEVERE] at java.io.FileInputStream.read(Unknown Source) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.copyDirectory(AutoBackupThread.java:355) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.copyDirectory(AutoBackupThread.java:342) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.copyDirectory(AutoBackupThread.java:342) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.backupPlugins(AutoBackupThread.java:217) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.performBackup(AutoBackupThread.java:302) 2013-06-12 14:39:51 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.run(AutoBackupThread.java:119) 2013-06-12 14:40:15 [SEVERE] java.io.IOException: Het proces heeft geen toegang tot het bestand omdat een gedeelte van het bestand door een ander proces is vergrendeld 2013-06-12 14:40:15 [SEVERE] at java.io.FileInputStream.readBytes(Native Method) 2013-06-12 14:40:15 [SEVERE] at java.io.FileInputStream.read(Unknown Source) 2013-06-12 14:40:15 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.copyDirectory(AutoBackupThread.java:355) 2013-06-12 14:40:15 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.copyDirectory(AutoBackupThread.java:342) 2013-06-12 14:40:15 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.copyDirectory(AutoBackupThread.java:342) 2013-06-12 14:40:15 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.backupPlugins(AutoBackupThread.java:217) 2013-06-12 14:40:15 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.performBackup(AutoBackupThread.java:302) 2013-06-12 14:40:15 [SEVERE] at autosaveworld.threads.backup.AutoBackupThread.run(AutoBackupThread.java:119) 2013-06-12 14:40:17 [INFO] [0;34;1mAutoBackup Complete[m 2013-06-12 14:40:17 [INFO] [AutoSaveWorld] AutoBackup Complete 2013-06-12 14:42:58 [INFO] Read timed out
-
View User Profile
-
Send Message
Posted Jun 11, 2013@Shevchikden
Good idea. Sounds great. I can't wait to test it :)
I really love your phrase by the way: "Coding for food, coding with food, coding without food, coding food."
-
View User Profile
-
Send Message
Posted Jun 11, 2013@saxons12 I'v alread thought of that.
This can be done even easier, just save allWG region and factions homes to schematics, regen all map and then place buildings from schematics back.
That's a lot easier to do than partially regenerating chunks, and a lot faster. I will see if i have time for that.
(Copying regions can be done while server is running, deleting old map regions files is fast(but all players should be kicked before doing this), restoring regions back is very long operation but can also be done when server is running.))
P.S. thanks for the donation :)
-
View User Profile
-
Send Message
Posted Jun 11, 2013New idea - AutoRegen:
A common problem on crowded servers is dirty maps. If you have areas like "/warp jungle" "/warp wild" etc. these places get destroyed very fast. It's a big mess and looks awful. Players complain because they can't find proper land that they can claim as a Faction and build houses.
Because Shevchikden is so good at managging other plugins data I think he can find a slotion to this. The easisest way is to select all chunks on the map and regenerate them. WorldEdit has to commands for this: "chunk" selects the chunk and "regen" renegaretes the selected chunk. While this does work there is a big problem. If you regen all chunks than the Faction homes, WG regions are also lost. People are playing on this map and they don't want their effort to be lost. So a great workaround would be to check if the chunk is protected by Faction or WG before regenarating it.
The Faction chunk info is stored in /Factions/board.json and is really easy to access with a good layout. The WG region info is stored in /WorldGuard/worlds/World_Name/regions.yml. The WG layout is based on coordinates so this should be converted into chunks. If this is not possible people can still open a temporary Faction claim the land they wan't to save and then run the AutoRegen tool.
I think this is more than possible to code and it is very useful. I hope this would be implanted. (I have donated 10$ as a promised for the PlotMe addon btw.)
Thanks Shevchikden!
-
View User Profile
-
Send Message
Posted Jun 9, 2013Sorry for being a noob I figured it out. Thank you for doing such an amazing job on this plugin!
:)
-
View User Profile
-
Send Message
Posted Jun 9, 2013@superdusto
It saves from Ram to disk.
Will try to explain it.
While your server is running all the chunks that are loaded stored in RAM.
When chunk unloads it saves itself to disk.
But if your server will crash your chunks will not save ti disk properly so you will loose all your wolrd changes, because when the server starts it load chunks from disk (world folders).
AutoSave periodically forces the saving of chunks ti disk.
AutoBackup just copies yor world folder to another location, so in case the griefer will somehow destroy your map, you can load an old backuped version.
-
View User Profile
-
Send Message
Posted Jun 9, 2013So it only "Saves" to my Ram and if there is a crash it loads the last save on my Ram
-
View User Profile
-
Send Message
Posted Jun 9, 2013@superdusto
AutoSave just saves from memory to disk, so in case your server will crash your map will be reverted only to the time of last autosave
AutoBackup creates an exact copy of your world folders (by default serverfolder/backups)
-
View User Profile
-
Send Message
Posted Jun 9, 2013It works fine normally. I restart the server all the time for my plugins with no problems. The first time it happened was when it was the timed restart. Then the second was just now when I updated your plugin.
It only reverts to the world backup not the saves. I can't find the saves anywhere. Where does it save to?
-
View User Profile
-
Send Message
Posted Jun 9, 2013@superdusto
Ok that's just strange it saves and stops normally. But map keeps reverting, what the?
Ok try to do /asw save and than /asw restart and see if it reverted to the time of the /asw save
I will try to test the tekkit 1.5.1 maybe there is somethng wrong with it.
-
View User Profile
-
Send Message
Posted Jun 9, 2013Okay put the updated plugin and it reverted to my last world backup
http://pastebin.com/vDABNcLw
-
View User Profile
-
Send Message
Posted Jun 9, 2013@superdusto
Restart the server using /asw restart and give me the full log of this (before and after)
-
View User Profile
-
Send Message
Posted Jun 9, 2013Testing, Do you want my new log?
-
View User Profile
-
Send Message
Posted Jun 9, 2013@superdusto
Ok for some reason previous copy of the server doesn't stop, that is the problem
Try to update plugin and see if it helps.
-
View User Profile
-
Send Message
Posted Jun 9, 2013I think this is when the server did the timed restart
http://pastebin.com/T8rWF2Uv
-
View User Profile
-
Send Message
Posted Jun 9, 2013Okay here you go
server log http://pastebin.com/3M4uU6us
Config http://pastebin.com/P2ZXVkkp
Also you can see in my config that the time for 3:20 gets messed every time the server loads. It just gets reverted back to that.
Thanks for the speedy response! :)
-
View User Profile
-
Send Message
Posted Jun 9, 2013@superdusto Please provide a server log before and after restart.
And your config please.
-
View User Profile
-
Send Message
Posted Jun 9, 2013For some reason after a timed restart my world was rolled back.. I for the life of me can not find the save files that this plugin saves. I have the auto save and world back up enabled and I am pretty sure the roll back was to one of the world saves.
I am afraid to build anything because it might just get reverted by this plugin.
Any help on this would be great!