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
@GulleMinator It is a warning about mcMMO accessing network in main server thread which is bad.
Why is my AutoSaveWorld not establishing connection with MCMMO plugin? It says:
[WARN] [AutoSaveWorld] Plugin mcMMO attempted to establish connection socket://api.mojang.com:443 in main server thread
I'm running Spigot server BTW.
Hi! in our server we've a problem, it ussually went down and in the console said something like this: [SERVER]Error autosaving User items Sorry for my english, Im argentinian Can you help us? We're very sadness because of this
error,
@Donny3105 Those are not autosaveworld messages, they should be prefixed with [AutoSaveWorld] but they are not. Which means that there is something else doing this.
Hi there, Are you aware of any issues of using this plugin with multicraft or KCauldron? I am using the backup feature and it seems as though everytime i run the server through a restart cycle (every 3 hours) it deletes the backups file, as seen here:
9:03,683 INFO server 6: [Server] INFO OS: LINUX, 64bit: true
2015-11-19 07:49:04,105 INFO server 6: [Server] INFO Deleting 1 old backups
2015-11-19 07:49:04,105 INFO server 6: [Server] INFO Deleted old backup: ./backups/worlds
2015-11-19 07:49:05,430 INFO server 6: [Server] INFO Backups folder created @ /home/minecraft/multicraft/servers/Infinity_2.x.x/./backups 2015-11-19 07:49:05,435 INFO server 6: [Server] INFO Let's Move!
my config: http://pastebin.com/1b72kg7j
I am using multicraft scheduled tasks to take a manual backup every 12 hours. It does the backup fine, and even stores the correct amount and then starts deleting them (running 7 manual backups in a row confirmed this), but im confused as to why it deletes its own backup file on restart, is there a way to disable this? I thought it was the purge maybe, but as seen in the config that is turned off. Any help on the issue would be appreciated. Also anyway to turn off the messages about mysql connections? kinda annoying :) KCauldron 1.7.10-1492-150, using latest version of ASW and multicraft. Full startup log can be obtained if required.
@sdwinder2 Update to latest dev build.
@Layania Inside the server itself.
@Silyputy This plugin doesn't have autoupdate.
Please add a way to shut off the auto update. my server has the ports blocked and most my consol gets spammed with messages saying it cant connect and will try again later.
can you also restore a world just from the auto saves since i have a area that forces restarting a server
@Layania @Shevchikden
I don't understand "npe is thrown inside server internals"
Could you explain please ?
Currently having an issue with the latest version
If forceregioncachedump is set to true, the following error occurs during auto save
"Could not dump RegionFileCache" "java.lang.RuntimeException: Can't find method saveLevel with params length 0"
sounds like the auto region file cache dump is trying to call the savelevel method with no args.
The server does not crash, and after its done it prints out "AutoSave Complete" but from the error message it seems the region files are not being dumped so any regions that are in memory would not be getting saved.
Is there anyway around this?
@Shevchikden
Both if possible
@RainbowandProud
Support for what part? AutoPurge, WorldRegen?
Hello, any chance you could be able to edit this plugin so it supports landlord? We've been looking for a plugin like this for a while, this one is perfect but it does not support our land claiming plugin, it would be great if you could help! Here is the link to the plugin https://www.spigotmc.org/threads/landlord.41459/ Thanks
@NoChanceSD Structure saving is always invoked on world save.
It is not needed as long you don't plan to change your world generation.
Hello, i have been using this plugin for quite some time and it works great!
However, recently i decided to enable structure saving (to get some mobs to spawn in nether) but noticed there are lag spikes from time to time, i can't say for sure it is the auto save feature but it is the only thing that changed.
Can your autosave feature somehow conflict with spigot.yml save structure info option?
Also does structure saving even matter anymore or was it only when switching to 1.7?
@cwmcd
AutoSave just ensures that info is dumped from memory to disk. AutoBackup does a copy of your files on disk.
what is the difference between autosave and autobackup?
autosave appears to save worlds and player inventory, but i'm not sure what those files look like and where it saves them.
autobackup appears to ALSO save your worlds but also saves plugins.
i have a folder that i have set up in the config that shows the worlds and plugins backup, but i don't see where autosave saves it's info. if it saves to the same folder, where is the player inventory?
thanks for your help.
There is a wrong on server save.
Please fix it quickly
My plugin version:1.7.10b4
Server version:KCauldron-1.7.10-1492.15
I need it...So...Please quickly.
Thanks :)
[21:55:46 INFO]: Saving...
[21:55:46 WARN]: [AutoSaveWorld] Could not dump RegionFileCache
[21:55:46 WARN]: java.lang.RuntimeException: Can't find method saveLevel with pa
rams length 0
[21:55:46 WARN]: at autosaveworld.utils.ReflectionUtils.getMethod(Reflect
ionUtils.java:49)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.dumpRegionC
ache(AutoSaveThread.java:165)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.performSave
(AutoSaveThread.java:152)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.run(AutoSav
eThread.java:87)
[21:55:46 WARN]: [AutoSaveWorld] Could not dump RegionFileCache
[21:55:46 WARN]: java.lang.RuntimeException: Can't find method saveLevel with pa
rams length 0
[21:55:46 WARN]: at autosaveworld.utils.ReflectionUtils.getMethod(Reflect
ionUtils.java:49)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.dumpRegionC
ache(AutoSaveThread.java:165)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.performSave
(AutoSaveThread.java:152)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.run(AutoSav
eThread.java:87)
[21:55:46 WARN]: [AutoSaveWorld] Could not dump RegionFileCache
[21:55:46 WARN]: java.lang.RuntimeException: Can't find method saveLevel with pa
rams length 0
[21:55:46 WARN]: at autosaveworld.utils.ReflectionUtils.getMethod(Reflect
ionUtils.java:49)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.dumpRegionC
ache(AutoSaveThread.java:165)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.performSave
(AutoSaveThread.java:152)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.run(AutoSav
eThread.java:87)
[21:55:46 WARN]: [AutoSaveWorld] Could not dump RegionFileCache
[21:55:46 WARN]: java.lang.RuntimeException: Can't find method saveLevel with pa
rams length 0
[21:55:46 WARN]: at autosaveworld.utils.ReflectionUtils.getMethod(Reflect
ionUtils.java:49)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.dumpRegionC
ache(AutoSaveThread.java:165)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.performSave
(AutoSaveThread.java:152)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.run(AutoSav
eThread.java:87)
[21:55:46 WARN]: [AutoSaveWorld] Could not dump RegionFileCache
[21:55:46 WARN]: java.lang.RuntimeException: Can't find method saveLevel with pa
rams length 0
[21:55:46 WARN]: at autosaveworld.utils.ReflectionUtils.getMethod(Reflect
ionUtils.java:49)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.dumpRegionC
ache(AutoSaveThread.java:165)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.performSave
(AutoSaveThread.java:152)
[21:55:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.run(AutoSav
eThread.java:87)
[21:55:46 INFO]: 保存完成
[22:05:46 INFO]: 保存中
[22:05:46 WARN]: [AutoSaveWorld] Could not dump RegionFileCache
[22:05:46 WARN]: java.lang.RuntimeException: Can't find method saveLevel with pa
rams length 0
[22:05:46 WARN]: at autosaveworld.utils.ReflectionUtils.getMethod(Reflect
ionUtils.java:49)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.dumpRegionC
ache(AutoSaveThread.java:165)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.performSave
(AutoSaveThread.java:152)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.run(AutoSav
eThread.java:87)
[22:05:46 WARN]: [AutoSaveWorld] Could not dump RegionFileCache
[22:05:46 WARN]: java.lang.RuntimeException: Can't find method saveLevel with pa
rams length 0
[22:05:46 WARN]: at autosaveworld.utils.ReflectionUtils.getMethod(Reflect
ionUtils.java:49)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.dumpRegionC
ache(AutoSaveThread.java:165)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.performSave
(AutoSaveThread.java:152)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.run(AutoSav
eThread.java:87)
[22:05:46 WARN]: [AutoSaveWorld] Could not dump RegionFileCache
[22:05:46 WARN]: java.lang.RuntimeException: Can't find method saveLevel with pa
rams length 0
[22:05:46 WARN]: at autosaveworld.utils.ReflectionUtils.getMethod(Reflect
ionUtils.java:49)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.dumpRegionC
ache(AutoSaveThread.java:165)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.performSave
(AutoSaveThread.java:152)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.run(AutoSav
eThread.java:87)
[22:05:46 WARN]: [AutoSaveWorld] Could not dump RegionFileCache
[22:05:46 WARN]: java.lang.RuntimeException: Can't find method saveLevel with pa
rams length 0
[22:05:46 WARN]: at autosaveworld.utils.ReflectionUtils.getMethod(Reflect
ionUtils.java:49)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.dumpRegionC
ache(AutoSaveThread.java:165)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.performSave
(AutoSaveThread.java:152)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.run(AutoSav
eThread.java:87)
[22:05:46 WARN]: [AutoSaveWorld] Could not dump RegionFileCache
[22:05:46 WARN]: java.lang.RuntimeException: Can't find method saveLevel with pa
rams length 0
[22:05:46 WARN]: at autosaveworld.utils.ReflectionUtils.getMethod(Reflect
ionUtils.java:49)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.dumpRegionC
ache(AutoSaveThread.java:165)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.performSave
(AutoSaveThread.java:152)
[22:05:46 WARN]: at autosaveworld.threads.save.AutoSaveThread.run(AutoSav
eThread.java:87)
[22:05:46 INFO]: Save
@Razorskills Yea, because hashmap doesn't have an order, will make it use linkedhashmap later.