All versions
2.0.0
Release
Ancient-Backup 2.0.010 months ago 171
Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.2.x
Platforms
Bukkit
Folia
Paper
Purpur
Spigot
Changes
📜 Changelog
All notable changes to Ancient-Backup will be documented in this file.
[2.0.0] - 2026-01-04
🎉 Added
- Real-time Progress Output: Console and Discord updates every 5 seconds during compression and upload
- Streaming Mode Support: Compress and upload simultaneously without creating local files
- Visual Progress Bars: Beautiful progress bars in Discord embeds using Unicode block characters
- Improved Memory Cleanup: Enhanced garbage collection with detailed logging
- Step-by-Step Progress Tracking: Clear 1/5, 2/5 style progress indicators
- Upload Status Messages: See "In Progress" with elapsed time for streaming uploads
🔧 Changed
- Progress Display: Traditional mode shows percentage + speed, streaming mode shows elapsed time
- Discord Embeds: Restructured with multiple fields for better readability
- Memory Reporting: Shows before/after memory usage and freed MB
- Ticker Initialization: Progress trackers now log when they start
🐛 Fixed
- Progress Ticker: Fixed issue where upload progress wasn't displayed in streaming mode
- Speed Calculation: Removed broken speed display from streaming mode
- Memory Cleanup: Added proper GC timing with
runFinalization()call - Emoji Corruption: Removed problematic Unicode emoji characters from code
🗑️ Removed
- Duplicate Discord Notifications: Cleaned up redundant webhook calls
[1.4.0] - 2025-12-15
🎉 Added
- ZSTD Compression: 3-5x faster than DEFLATE with better compression ratios
- File/Folder Exclusions: Skip specific files or folders using glob patterns
- Upload Resume Support: Automatically resume interrupted uploads (SFTP/FTPS)
- Compression Streaming: Upload while compressing for faster backups
- Strict Host Key Checking: SFTP fingerprint verification for security
- World Save Safety: Auto-save disabled during backups to prevent corruption
- Adaptive Throttling: Automatically slow down if server TPS drops
- Memory Budget System: Smart memory management to prevent out-of-memory errors
🔧 Changed
- Archive Format: ZSTD uses TAR format (.tar.zst) instead of ZIP
- Configuration: New options for all features added
- Performance: Optimized buffer sizes and memory usage
🐛 Fixed
- World Corruption: Fixed rare issue where backups could corrupt world files
- Memory Leaks: Improved cleanup of compression buffers
- SFTP Timeouts: Better connection timeout handling
[1.3.0] - 2025-10-20
🎉 Added
- Google Drive Support: Direct upload to Google Drive using service accounts
- OneDrive/SharePoint Support: Upload to Microsoft cloud via Graph API
- Parallel Uploads: Upload to multiple destinations simultaneously
- Progress Notifications: In-game notifications for staff members
- Retention Policies: Automatically delete old backups on remote servers
🔧 Changed
- Discord Webhooks: Enhanced embed design with color coding
- Configuration: Reorganized for better clarity
- Performance: Improved upload speed calculation
🐛 Fixed
- FTPS Compatibility: Fixed issues with some FTPS servers
- Thread Safety: Resolved race conditions in parallel uploads
[1.2.0] - 2025-08-10
🎉 Added
- Discord Integration: Real-time backup notifications via webhooks
- Schedule System: Run backups at specific times or intervals
- Upload Last Command: Retry failed uploads without re-creating the backup
- Configurable Timeouts: Customize connection and upload timeouts
🔧 Changed
- Command Structure: Simplified command syntax
- Error Messages: More descriptive error reporting
- Logging: Enhanced debug information
🐛 Fixed
- Scheduler Issues: Fixed bugs with daily at-time scheduling
- SFTP Paths: Better handling of remote folder creation
[1.1.0] - 2025-06-05
🎉 Added
- FTPS Support: Upload backups via FTP over TLS/SSL
- Compression Levels: Choose ZIP compression level (0-9)
- Status Command: Check backup progress with
/abackup status - Cancel Command: Stop running backups with
/abackup cancel
🔧 Changed
- SFTP Implementation: Switched to JSch library for better compatibility
- File Naming: Added timestamp format configuration
🐛 Fixed
- Permission Issues: Fixed remote folder creation permissions
- Upload Progress: Corrected progress percentage calculation
[1.0.0] - 2025-04-01
🎉 Initial Release
- Basic Backup Functionality: Create ZIP archives of server files
- SFTP Upload: Upload backups to remote SFTP servers
- Automatic Scheduling: Run backups on a timer
- Configuration System: YAML-based configuration
- Command Interface: Basic admin commands
- Permission System:
ancientbackup.adminpermission
Legend
- 🎉 Added for new features
- 🔧 Changed for changes in existing functionality
- 🐛 Fixed for bug fixes
- 🗑️ Removed for removed features
- 🔒 Security for security fixes
- ⚠️ Deprecated for soon-to-be removed features
Upgrade Notes
Upgrading to 2.0.x
- ZSTD Compression: Set
backup.use-zstd: trueto enable (recommended) - Streaming Mode: Enable with
upload.streaming-compression: true(optional) - Exclusions: Add folders to exclude in
backup.excludelist - Memory Settings: Review
performance.cleanup-after-backupsetting
Upgrading to 1.3.x
- Cloud Providers: New configuration sections for Google Drive and OneDrive
- Parallel Uploads: Enabled by default, disable with
upload.parallel: false - Retention: Configure in
retentionsection if desired
Upgrading to 1.2.x
- Discord: Add
discordsection to config for webhook notifications - Scheduler: Old scheduler format still compatible but deprecated
For detailed documentation, visit our Wiki
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:TK9di7xw"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:IvgTLMRU:TK9di7xw"
}

