A plugin for multi slot back up / restore your world
The master
branch is the Chinese version and the english
branch is the English version
Needs v2.0.1
+ MCDReforged
The backup worlds will be store in folder qb_multi like below:
mcd_root/
server.py
server/
world/
qb_multi/
slot1/
info.json
world/
slot2/
...
...
overwrite/
info.txt
world/
!!qb
help message
!!qb make [<comment>]
Make a backup to slot 1, and shift the slots behind. <comment>
is an optional comment message
!!qb back [<slot>]
Restore the world to slot 1. When <slot>
parameter is set it will restore to slot <slot>
!!qb del [<slot>]
Delete the world in slot <slot>
!!qb confirm
Use after execute back
to confirm restore execution
!!qb abort
Abort backup restoring
!!qb list
Display slot information
!!qb reload
Reload the config file
When <slot>
is not set the default value is 1
The config file is config/QuickBackupM.json
. It will automatically generate at the first run
Default:
"slots": [
{
"delete_protection": 0
},
{
"delete_protection": 0
},
{
"delete_protection": 0
},
{
"delete_protection": 10800
},
{
"delete_protection": 259200
}
]
The amount of seconds for each slots to be protected from overwriting. Set it to 0
to disable protection
The size of this list also determines the amount of backup slot
With the default value, there are 5 slots in total, among which the first 3 slots have no protection, the 4th slot will be protected for 3 hours (3 * 60 * 60 seconds), and the 5th slot will be protected for 3 days
Please ensure that the protection time does not decrease with the slot number, that is, the protection time of the nth slot cannot be greater than the protection time of the n + 1th slot, otherwise there may be undefined behavior
Backups created by older QuickBackupM plugin don't support this feature
Default: true
Whether the occupied space is displayed when viewing the backup list
Default: true
If turn off auto save when making backup or not
If ignore file session.lock
during backup, which can
Default:
"ignored_files": [
"session.lock"
]
A list of file names to be ignored during backup. It contains session.lock
by default to solve the back up failure problem caused by session.lock
being occupied by the server
If the name string starts with *
, then it will ignore files with name ending with specific string, e.g. *.test
makes all files ends with .test
be ignored, like a.test
If the name string ends with *
, then it will ignore files with name starting with specific string, e.g. temp*
makes all files starts with temp
be ignored, like tempfile
Default:
"saved_world_keywords": [
"Saved the game",
"Saved the world"
]
Keywords for the plugin to consider if the server has saved the world
It is considered that the world has been saved if any keyword string equals to the server output, then the plugin will start copying the world files
Default: ./qb_multi
The backup root path
Default: ./server
The folder path of the server. ./server
is the default server path for MCDR
Default: overwrite
The backup position of the overwritten world. With default config file the path will be ./qb_multi/overwrite
Default:
"world_names": [
"world"
]
A list of world folder that you want to backup. For vanilla there should be only 1 folder. For not vanilla server like bukkit or paper, there are 3 folders. You can write like:
"world_names": [
"world",
"world_nether",
"world_the_end"
]
If the world name specified points to a symlink file, all dereferenced symbolic links and the final actual world folder will be backed up:
mcd_root/
server.py
server/
world -> target_world # world is a symlink currently pointing to target_world
target_world/
other_world/
qb_multi/
slot1/
info.json
world -> target_world # Symlink copied to backup slot
target_world/ # The current linked world is copied along with symlink
...
Doing !!qb back
will restore everything from world name symlink to the final actual world folder in the slot to the server's corresponding place. This implies that if the symlink has changed its target world, the server will be restored to the world when making backup, and the world before restoring will not be overwritten
Default:
"minimum_permission_level": {
"make": 1,
"back": 2,
"del": 2,
"confirm": 1,
"abort": 1,
"reload": 2,
"list": 0,
}
A dict for minimum permission level requirement. For the meaning of these value check this
Set everything to 0
so everyone can use every command