
Advanced Backups — Minecraft Java Edition 1.7.10 – 1.21.4
Dependencies: · Loader: Forge, NeoForge, Fabric, Quilt, Spigot, Paper · Minecraft version: 1.7.10 - 1.21.4 · Mod version: 3.7.1 The…
Dependencies: · Loader: Forge, NeoForge, Fabric, Quilt, Spigot, Paper · Minecraft version: 1.7.10 - 1.21.4 · Mod version: 3.7.1 The standard backup mechanism in Minecraft Java Edition has serious limitations. In the van
Dependencies:
· Loader: Forge, NeoForge, Fabric, Quilt, Spigot, Paper
· Minecraft version: 1.7.10 - 1.21.4
· Mod version: 3.7.1
The standard backup mechanism in Minecraft Java Edition has serious limitations. In the vanilla game, backups are created manually through the menu or require stopping the server to copy files. These operations run on the main game thread, which leads to gameplay freezes, lag, or temporary server unavailability while gigabytes of data are written to disk. In addition, the standard method only creates full copies of the world, quickly filling up the drive with duplicated data. The Advanced Backups modification solves these problems by offering asynchronous scheduled backups with support for differential and incremental compression models, flexible purging of outdated archives, and a built-in utility for restoring data.
Backup mechanisms: Zip, Differential and Incremental
The utility provides three world-file processing modes that determine the balance between execution speed, the amount of disk space used, and restoration reliability:
· Zip (full copies): The principle of operation is archiving the entire world folder into a single .zip file. This method is the most resource-intensive and requires the most free space on the drive, since each backup contains all files regardless of whether they were changed. Its advantage is the simplicity of restoration — you just need to unzip the required file.
· Differential: Based on creating a single base full archive ("full") and subsequent partial archives ("partial"). Partial archives record only those files that have changed since the base full archive was created. The size of intermediate backups is significantly reduced. To restore the world's state at a particular point in time, only two files are needed: the base full archive and the last partial archive before that date.
· Incremental: Also uses the concept of full and partial archives. However, each partial archive contains only the changes that occurred since the creation of the previous partial archive. This minimizes the load on the disk subsystem and saves the maximum amount of free space. The drawback is an increased risk of data loss: if even a single file in the chain of incremental copies is damaged, restoring subsequent copies until a new full backup is created will be impossible. The restoration process is also the slowest, since it requires the sequential merging of the entire chain of files.
The creation of new chains is governed by the parameters config.advancedbackups.chains.length and config.advancedbackups.chains.maxpercent. The first parameter determines the maximum number of partial copies in a chain before a new full archive is forcibly created. The second parameter performs a size check: if the volume of accumulated changes in a partial archive exceeds the set percentage of the full archive's size, the system automatically resets the chain and creates a new full backup.
Automatic purging system and working with chains
To prevent the disk from filling up, the modification implements three criteria for automatically deleting outdated data:
· By the number of days of retention (config.advancedbackups.purge.days).
· By the total size of the backups folder in gigabytes (config.advancedbackups.purge.size).
· By the total number of backup files (config.advancedbackups.purge.count).
When using differential or incremental copies, deleting individual files from a chain is impossible, as this would break data integrity. The mod operates on whole chains. A chain is considered outdated and deleted only when all of its components (including the base full backup and all associated partial archives) meet the purging criteria. Using the config.advancedbackups.purge.incrementalchains parameter, you can set the minimum number of full chains that the system is obliged to keep regardless of other purging limits. The user can also create "snapshots" — these are static copies of the world that are protected from automatic deletion.
Configuring the AdvancedBackups.properties configuration file
The backup system's operating parameters are stored in the AdvancedBackups.properties file, which is created in the config directory on first launch. The main configuration keys:
Parameter | Default value | Description |
| true | Allows you to fully enable (true) or disable (false) automatic backup creation. |
| true | Determines whether the world must be forcibly saved to disk before performing a backup. |
| true | Disables the standard autosave while a backup is being created and re-enables it after the process completes. |
| 1048576 | The I/O buffer size in bytes. A value above the RAM limit may cause an OutOfMemoryError crash. |
| false | Forced flushing of the disk write cache. Not used in Minecraft versions earlier than 1.16. |
| true | Player activity check. If there have been no players on the server since the last backup, copy creation is skipped. |
| differential | The backup type. Possible values: zip (full copies), differential, incremental. |
| session.lock,*_old | A comma-separated exclusion list for files in the world folder that are not added to the archive (masks such as * are allowed). |
| ./backups | The path to the directory where finished backups are saved (relative or absolute). |
| 0.25 | The minimum allowed interval between backups in hours. Prevents duplication. 0 — disabled. |
| 24.0 | The maximum interval in hours after which a backup is run forcibly, if there were no other successful copies. |
| true | The scheduler base: calculation of server uptime (true) or the real astronomical OS time (false). |
| 1:00 | A list of backup creation intervals (for example, 1:00 for an hourly backup, or the exact real time 04:00,16:00). |
| false | Forced creation of a world backup during server stop or shutdown. Respects the frequency.min limit. |
| false | Creation of a world backup during server startup. Respects the frequency.min limit. |
| 30 | The startup backup launch delay in seconds after the server is turned on. The minimum value is 5 seconds. |
| ops | The category of recipients of in-game toasts notifications about the archiving process (ops — operators, all — everyone, none — no one). |
| 500 | The frequency of sending progress packets to players in milliseconds. Lower values increase network load. |
| true | Permission to output detailed percentage archiving progress to the server's system console. |
| 5000 | The interval for logging backup progress to the console in milliseconds. |
| 50.0 | The limit on the total size of the backups folder in gigabytes. The oldest copies are deleted when it is exceeded. 0 — disabled. |
| 0 | The retention period for backups in days. Older ones are deleted. 0 — disabled. |
| 0 | The maximum allowed number of copies on disk. Older ones are deleted. 0 — disabled. |
| true | Permission to delete incremental chains in case of purging by size. If false, incremental copies are never purged. |
| 1 | The minimum number of incremental chains that purging is obliged to leave on disk under any circumstances. |
| 4 | The compression level of ZIP archives (from 1 to 9). Higher values save space but load the CPU. |
| 50 | The maximum number of partial backups (differential/incremental) before a new full archive is created. |
| true | Permission to compress base full copies and subsequent intermediate copies inside chains. |
| true | Smart chain reset. If all world files have been changed, the copy automatically becomes a full one. |
| 50.0 | The size limit of a partial backup as a percentage of the full one. If exceeded, a full backup is created. |
Backup management commands
The modification is managed using console commands that require operator access level (the command options were updated in version 3.7 for better compatibility with command blocks by lowering the required permission level to a value of 2):
· /backup start — launches the backup process in asynchronous mode. The command takes into account all settings for the schedule, minimum intervals, and player activity.
· /backup force — forcibly launches the copying process, ignoring player activity checks and the time limits frequency.min.
· /backup snapshot <name> — creates a full backup (snapshot) under the specified name in the snapshots subfolder. This archive is not taken into account during the automatic purging of outdated backups and is never deleted by the system automatically.
· /backup reload-config — reloads the parameters from the AdvancedBackups.properties file without the need to restart the server or game client. In mod versions before 2.2, the alternative command /advancedbackups reload is used for this.
· /backup check — analyzes the current state of the scheduler and outputs information about how much time remains until the next scheduled backup according to the schedule.
· /backup reset — resets the counter of the current chain of incremental or differential copies. The next scheduled or manually launched backup will be forcibly created as a full archive ("full").
Lowering the permission level for commands to a value of 2 makes it possible to automate copy creation using Command Blocks and third-party scheduler plugins that call console commands on behalf of the server.
Command Line Restoration utility
Since differential and incremental backups consist of a large number of interconnected change files, restoring them manually is a complex process. To solve this task, a special console utility is built into the modification's JAR file.
During the first creation of copies, the modification automatically generates helper scripts in the backups directory:
· restore-bootstrap.bat for the Windows operating system.
· restore-bootstrap.sh for the Linux and macOS operating systems.
These scripts launch the restoration wizard built into the JAR file. To launch the restoration interface manually through the terminal, the following command is used:
|
(the JAR file name must exactly match the version of the installed mod).
The console interface of the utility works in interactive mode:
1. Launching a scan of the backups folder to analyze the available chains and snapshots.
2. Displaying a list of available restore points indicating the date, time, and copy type (Full, Diff, Inc).
3. Checking the integrity of the chain of the selected archive. If it is an incremental copy, the utility automatically checks whether all intermediate parts from the base full backup to the selected point are present.
4. Requesting the target folder for extraction. The utility performs the sequential merging and replacement of files, reconstructing the exact state of the world at the moment the selected copy was created.
Before starting the restoration, you must completely stop the Minecraft server. An attempt to restore files on a running server will lead to corruption of the world database and region files (.mca).
Platform-specific behavior and optimization
The modification has architectural differences depending on the chosen installation platform:
· Client-side toasts notifications: Visual pop-up notifications about the start and completion of backup creation are implemented through the vanilla toasts system. To display them on the client side, a compatible mod (Forge, NeoForge, or Fabric) must be installed. When using the mod on Spigot or Paper servers, clients without the mod installed will not see visual notifications and will only receive regular text messages in chat, if this is allowed by the logging settings.
· Version 1.7.10: Due to the technical limitations of older versions of the game engine, the mod version for Minecraft 1.7.10 does not support the graphical toasts notification system. Instead, the copying progress is displayed directly over the game screen as a simple text overlay.
· RAM allocation control: The asynchronous compression operation requires the allocation of memory buffers in the JVM. If, on a server with a limited amount of RAM (for example, 2-4 GB), you set too large a value for the config.advancedbackups.buffer parameter (more than 10-20 MB) and a high compression level config.advancedbackups.zips.compression (level 8-9), this can trigger a JVM Heap overflow and an emergency server shutdown with an OutOfMemoryError error. For stable operation on servers with limited resources, it is recommended to keep the standard buffer size of 1 MB and a compression level no higher than 4.
Conclusion
Advanced Backups is a comprehensive tooling solution for ensuring the preservation of game worlds in Minecraft Java Edition. Unlike simple alternatives such as Simple Backups or vanilla tools, this mod allows you to deploy a full-fledged backup strategy with minimal disk space costs thanks to the use of incremental chains. The main limitation of the modification is the absence of built-in cloud providers for automatically uploading archives to external storage (for example, Google Drive or FTP servers directly from the mod), which requires setting up external scripts to synchronize the ./backups folder. The modification is recommended for installation on public and private medium-scale servers, where it is critically important to ensure protection against data loss without stopping the gameplay.
Installation
A typical installation takes about 5 minutes. The flow is the same; only the loader and the matching build differ.
How to Install a Plugin on a Minecraft ServerLearn how to install a plugin on a Minecraft server. Follow this guide to add new features, improve gameplay, and customize your server easily.Open the install guide










