1.4.3
Compatibility
Changes
📦 Ancient-Backup — v1.4.3
🚀 Overview
Ancient-Backup v1.4.3 is a fully asynchronous, performance-aware backup solution for Minecraft 1.20+ servers, designed to create complete server backups while remaining lag-free, memory-safe, and highly configurable.
This release focuses heavily on memory control, stability, and production-readiness, while offering advanced upload destinations and detailed monitoring.
🧠 Performance & Memory Management
- Added a soft memory budget system to prevent excessive RAM usage.
- ZIP and upload buffers dynamically scale based on available memory.
- Automatic best-effort garbage collection after ZIP creation when memory pressure is detected.
- Memory is also cleaned up after uploads finish.
- Prevents memory from continuously growing during large backups.
- Designed to respect server load and avoid TPS drops.
New performance config options:
max-memory-mbmax-buffer-kbmin-buffer-kbmax-chunk-mbcleanup-after-backupgc-after-zip
⚠️ Note: Java plugins cannot hard-limit JVM memory per plugin. Ancient-Backup enforces soft limits by reducing buffers, chunk sizes, and parallelism.
☁️ Backup Destinations
Supports secure, encrypted uploads to:
- SFTP
- FTPS (Explicit & Implicit TLS)
- Microsoft Graph
- OneDrive
- SharePoint
- Google Drive
Upload Features
- Parallel uploads (configurable).
- Automatic remote folder creation.
- Upload speed tracking (MB/s).
- Destination-side retention policy (old backups are removed remotely).
- Ability to retry uploading the last local backup if a previous upload failed.
- Local backup is automatically deleted after a successful upload.
📊 Monitoring & Feedback
/abackup statusshows:- ZIP progress (%)
- Upload progress (%)
- Current upload speed (MB/s)
- Live upload speed updates in the server console (updated continuously).
- No in-game spam.
- Permission-based notifications for staff/admins.
⏱ Scheduling & Automation
- Fully automatic scheduled backups.
- Manual backup start and cancel commands.
- Graceful cancellation during ZIP or upload phases.
- Automatically adapts resource usage based on server load.
🔔 Notifications
- Discord Webhook support
- Backup start
- ZIP completed
- Upload start
- Upload completed
- Failure
- Cancellation
- Fully configurable per event.
- Custom username and avatar support.
🛠 Fixes & Stability Improvements
- Fixed multiple compilation issues from earlier builds.
- Fixed duplicated memory tracking methods.
- Fixed GraphUploader initialization bugs.
- Improved internal memory accounting accuracy.
- Improved config reload reliability.
- Ensured all upload options are disabled by default.
🧩 Compatibility
- Minecraft 1.20+
- Java 21
- Paper / Spigot compatible
- Gradle-based build
🔒 Design Philosophy
Ancient-Backup is built to:
- Never block the main server thread.
- Avoid lag at all costs.
- Prefer slightly slower backups over server instability.
- Clean up all resources after each run.
- Be safe for large, long-running production servers.
📌 Recommended Configuration (Example)
performance:
max-memory-mb: 512
max-buffer-kb: 8192
min-buffer-kb: 256
max-chunk-mb: 16
cleanup-after-backup: true
gc-after-zip: true
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:IvgTLMRU:wCNyNWVL"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:IvgTLMRU:wCNyNWVL"
}

