MineBackup
MineBackup - Automatically save and backup your server!
Features
- Numerous backup actions: Save (default); Copy and/or Compress. The copy action creates a copy of files in backup folder while the compress action creates a zip of files in backup folder. You do not need to enable both for compress to work.
- Numerous upload actions: Dropbox; FTP. These actions will upload the latest compressed version, so you will need to be using compression.
- Maintenance action: Cleanup. With this action enabled, old backups will only be deleted as scheduled (otherwise they will be deleted after a copy/compress action).
- Each action has a configurable interval. You can even set a specific time that an action should trigger (only once per day). Every action supports either method.
- You can either enable actions globally (default for all worlds) or enable/disable actions for specific worlds. Specific worlds can even have different time intervals for each action!
- Global or per world configurable amount of backups to be kept on disc. So a world that is rarely used can be compressed every few hours and set to have less copies retained.
- Global or per world configurable broadcast of backup status.
- Setting to enable an immediate backup on server restart/reload with configurable delay. With this disabled (default), scheduled actions will occur at their proper time, but if the server was stopped during that time, then it will run as soon as possible.
- Backup actions are staggered to try to prevent low-powered servers from getting overloaded. Instead of checking every world at one time and in order, a queue is checked once a minute to see if it needs to do a backup action.
- If no one has used the world since the last backup ("not dirty") then its actions are skipped.
- Able to backup plugins/other directories with a list of excluded paths (like dynmap's /tiles) and file types.
- Customizable messages. Everything sent to players is able to be translated or changed. Including broadcast groups.
- Configuration migration with a backup copy of the original configuration.
Caution
Does your server have a single-core processor or a low amount of memory (512mb and several plugins)?
Do NOT enable compression! Only enable copy.
Does your server operate over a typical home internet connection?
Do NOT enable dropbox or ftp!
Failure to understand this will almost certainly result in all of your players being disconnected.
Notes
[v0.5+] Due to changes to the old backup deletion code, the plugin will not automatically delete any v0.4 backups. You will need to manually delete them at an appropriate time.
[v5.9.2+] If you still have the old map format (world height 128) files in your world folders, it's going to yell at you on server startup. Once you have a backup of the world, delete level.dat_mcr and the *.mcr files in the region folder. They aren't needed after the conversion and double the size/time of the backup.
[v5.9.3+] Enable 'debug' in config.yml for a detailed list of the settings that are being used as each world/plugins is loaded. (Exact times are seconds from midnight, but stored as a negative number.)
Setup & Usage
Only save is enabled by default. You need to enable either 'copy' or 'compress'.
Download
MineBackup.jar (for auto-updaters)
Source
Default Config (created first start)
Default Strings (created first start)
Dropbox Linker (Google App Engine)
Credits
ThisIsAreku for the original MineBackup. This plugin has now been completely re-imagined and rewritten. The only thing untouched and unchanged is the name itself.
@SavageCore
Sorry, one of the limitations with the ftp atm is that you have to create the world folders as well.
@Garretty12
After? There's reports of chunk bugs out there, so there's no telling. By the time it finishes the save process, nothing should be going on with chunks, but maybe it's still unloading them?
My server seems to be getting major lag spikes after every time MineBackup saves a world, any reason why? The only other major plugins I'm using are Orebfuscator and AntiCheat.
[MineBackup] % java.io.IOException: sun.net.ftp.FtpProtocolException: CWD world_the_end:550 world_the_end: No such file or directory
Have tried full path under FTP (/home/savagecore/backups/) and /backups
Cannot get it to work. Need to FTP now that world is too big for Dropbox API.
What command must I use to create the FTP backups...
@BeastsMC
This has been determined to be a bug in bukkit itself, though certain plugins seem to cause the problem to happen more often.
https://bukkit.atlassian.net/browse/BUKKIT-2229
I just sent in a ticket describing and explaining a severe duplication exploit involving this plugin. Please read it, and patch it if you can.
This plugin saves my server daily. Plugins are what make a server, or in your case, save it. I promise the players that all donations go directly to the server, but I just wanted to let you know that I really appreciate your time.
@ltguide
Thanks :) I appreciate your help and patience.
@ltguide
Haha, thanks for getting it back up. ^^
I was looking at the scenarios, every time you put "compress:", you put an asterisk before it. Is that necessary? :p
@Mad__Hat
I apparently was not going far enough away from the spawn point. My bad. I've put in a ticket with dynmap's devs because it is unloading chunks immediately without saving. It looks like it might only happen the first time it renders the chunk, but either way it's bad.
@deleted_7116233
Fixed. Vandalized :0
@ltguide
I'd recommend doing a server restart after adding dynmap, and make sure that you build whatever test structure away from the spawn. Run a fresh test server and tp to say 1000,80,1000, build the pillar, tp to 2000,80,2000 and wait about 10 seconds, and then tp back. The spawn point will keep chunks loaded even without a player nearby.
Does the wiki exist? I can't seem to find it.
@Chrispm84
I get all the jars and every folder (except backups, since that would cause a loop) with these settings.
@Mad__Hat
On #2317, I just dropped dynmap v0.70.1 in plugins, reloaded, built a dirt tower, tp 1000 away, came back and the tower was still there. Console did not show that the world had saved while I was flying. Another time, I forced it to save while I was away.
Chunks stay loaded until the world saves, that fix just keeps some loaded even during a save if it sees NPCs from citizens, etc. Try it with the latest build since they fixed some chunk issues.
I have the same issue as Mad__Hat.
Hey, I love this plugin, I've been using it for about half a year now. I've recently run in to a problem though, and I think it might be related to the "fix world save unloading chunks close to plugin-generated players " in 5.9.4.
Chunks are not unloading properly. If a player modifies a chunk, goes far enough away that to chunk unloads, and then comes back their changes can get reverted. Some times changes aren't reverted, but I think that is when the server does a save before the chunk is unloaded.
This can be easily reproduce with teleporting. Teleport to an unloaded area, makes some changes, teleport away, and finally teleport back to see your changes reverted. The quirk is that this bug only happens when the plugin dynmap is also loaded on the server, hence my reasoning that it is related to the bug fix I mentioned. I tested and reproduce the bug on a bukkit b2317 server with only MineBackup and DynMap plugins installed using their default configs. There were no errors or warnings in the log.
@lbb601:
I agree! It'd be nice for this to integrate with RemoteToolKit. I was literally just thinking that when I refreshed the page and saw your comment. :D
@ltguide:
Apart from the RemoteToolKit hook, I'd like to ask a question. I've been testing the plugin on my test server and it seems to work very well... Unfortunately, I can't seem to get "root" compressing to compress my plugin .jar files. Even removing "- jar" from the exception type and removing "exception-type" completely still doesn't allow it to save my .jar files. Is this the way it's supposed to work? I'd like to just compress EVERYTHING into one archive if possible. Either way, great work on the plugin so far. :)
How about an integration with remote tool kit so it doesnt start a backup when the server is going to restart/saving?
@ltguide
Thanks!
tyy so much for that update ;D That spam was very nasty
I still need to update the wiki with the new settings.v5.9.4