COWMODSКаталог модов

Ancient-Backup

A all-in-one backup system for your minecraft server!

Автор: mysticalcraft-ancientvipers2482обновлён 4 янв. 2026 г.
ХранениеТехнологииУтилиты

Описание

🛡️ Ancient-Backup

The most advanced backup solution for Minecraft servers

Modrinth Downloads Version License


✨ Features

🚀 High-Performance Compression

  • ZSTD Compression: 3-5x faster than traditional ZIP with better compression ratios
  • Adjustable Levels: Balance between speed and file size (0-9)
  • Streaming Mode: Compress and upload simultaneously with zero local disk usage

📤 Multiple Upload Destinations

  • SFTP - Secure FTP with SSH encryption (recommended)
  • FTPS - FTP over TLS/SSL
  • OneDrive/SharePoint - Microsoft Graph API integration
  • Google Drive - Direct cloud upload support

🔄 Smart Upload Management

  • Parallel Uploads: Upload to multiple destinations simultaneously
  • Resume Support: Automatically resume interrupted uploads (SFTP/FTPS)
  • Adaptive Throttling: Reduces backup speed if server TPS drops to prevent lag
  • Upload Retry: Manual /abackup uploadlast command to retry failed uploads

📊 Real-Time Progress Tracking

  • Live Console Output: See compression and upload progress every 5 seconds
  • Discord Webhooks: Beautiful embeds with progress bars and statistics
  • Speed Monitoring: Real-time MB/s tracking for uploads and compression

🎯 Advanced Features

  • File Exclusions: Skip large folders like dynmap tiles or BlueMap renders using glob patterns
  • Automatic Retention: Keep only the last N backups on remote servers
  • Flexible Scheduling: Run backups every X minutes or at specific times daily
  • World Save Safety: Automatically disables auto-save during backups to prevent corruption
  • Memory Management: Automatic RAM cleanup after backups complete
  • Staff Notifications: In-game notifications for players with permission

🔒 Security & Reliability

  • Strict Host Key Checking: Verify SFTP server fingerprints to prevent MITM attacks
  • SSH Key Authentication: Use private keys instead of passwords
  • TLS/SSL Support: Encrypted connections for FTPS
  • Cancellable Backups: Stop backups mid-process with /abackup cancel

📋 Requirements

  • Server Software: Paper/Spigot/Bukkit 1.20.6+
  • Java: 21 or higher
  • Permissions: ancientbackup.admin for commands, ancientbackup.notify for notifications

🚀 Quick Start

Installation

  1. Download the latest version from Modrinth
  2. Place the JAR file in your plugins/ folder
  3. Restart your server
  4. Configure plugins/Ancient-Backup/config.yml

Basic Configuration

backup:
  use-zstd: true          # Enable ZSTD compression (recommended)
  zip-level: 1            # 1 = fast, 9 = smallest file

schedule:
  enabled: true           # Enable automatic backups
  every-minutes: 360      # Backup every 6 hours

upload:
  sftp:
    enabled: true
    host: "your-server.com"
    port: 22
    username: "backup-user"
    password: "your-password"
    remote-folder: "/backups/minecraft"

First Backup

Run your first backup with:

/abackup start

Check status with:

/abackup status

📦 Commands

CommandPermissionDescription
/abackup startancientbackup.adminStart a new backup
/abackup cancelancientbackup.adminCancel the running backup
/abackup statusancientbackup.adminCheck backup progress
/abackup uploadlastancientbackup.adminRetry uploading the last backup
/abackup reloadancientbackup.adminReload configuration

🎨 Discord Integration

Get beautiful real-time updates in Discord:

discord:
  enabled: true
  webhook-url: "https://discord.com/api/webhooks/..."
  notifications:
    on-backup-start: true
    on-zip-complete: true
    on-upload-start: true
    on-upload-complete: true
    on-backup-complete: true

Features:

  • 📊 Color-coded embeds for different phases
  • 📈 Visual progress bars
  • ⚡ Real-time speed and ETA
  • 🎯 Step-by-step progress tracking (1/5, 2/5, etc.)

⚙️ Advanced Configuration

File Exclusions

Exclude large folders to reduce backup size:

backup:
  exclude:
    - "logs/*.gz"
    - "logs/*.log.*"
    - "plugins/dynmap/web/tiles/**"
    - "plugins/BlueMap/web/**"
    - "**/cache/**"

Streaming Mode

Compress and upload simultaneously (no local file):

upload:
  streaming-compression: true  # Requires SFTP or FTPS

Benefits:

  • ⚡ Faster overall backup time
  • 💾 No local disk space usage
  • 🔄 Real-time progress updates

Limitations:

  • ⚠️ Retention policies not supported in streaming mode
  • 📍 Requires SFTP or FTPS destination

Performance Tuning

Optimize for your server:

performance:
  max-memory-mb: 512          # Maximum RAM usage
  max-buffer-kb: 8192         # Buffer size for compression
  gc-after-zip: true          # Free memory after compression
  cleanup-after-backup: true  # Full memory cleanup
  tps-threshold: 18.0         # Slow down if TPS drops below this

Retention Policies

Automatically delete old backups:

retention:
  enabled: true
  keep-last: 7                # Keep only the last 7 backups
  filename-prefix: "backup-"  # Filter files by prefix
  filename-suffix: ".tar.zst" # Filter files by extension

🔐 SSH Key Authentication

For enhanced security, use SSH keys instead of passwords:

  1. Generate an SSH key:

    ssh-keygen -t ed25519 -f ~/.ssh/minecraft_backup
    
  2. Add the public key to your server:

    ssh-copy-id -i ~/.ssh/minecraft_backup.pub user@your-server.com
    
  3. Configure Ancient-Backup:

    sftp:
      private-key-path: "plugins/Ancient-Backup/minecraft_backup"
      password: ""  # Leave empty when using key auth
    

📊 Performance

Benchmark Results

Tested on a 10GB Minecraft server with Paper 1.21.10:

MethodTimeCPU UsageDisk I/O
ZSTD Level 12m 15sLowMinimal
ZIP Level 16m 30sMediumMedium
ZIP Level 912m 45sHighHigh

Streaming Mode: Reduces total backup time by 30-40% compared to traditional mode.


🐛 Troubleshooting

No progress output?

  • Ensure you're using the latest version
  • Check that your upload destination is properly configured
  • Look for error messages in the console

Upload fails?

  • Use /abackup uploadlast to retry
  • Check network connectivity and credentials
  • Enable debug logging in config.yml

Server lags during backup?

  • Lower performance.max-buffer-kb to reduce memory usage
  • Reduce backup.zip-level to use less CPU
  • Set performance.tps-threshold higher to trigger throttling sooner

Discord notifications not working?

  • Verify webhook URL is correct
  • Test webhook manually using curl or online tools
  • Check that discord.enabled: true

🤝 Support


📝 License

This plugin is released under the MIT License. See LICENSE for details.


⭐ Support the Project

If you find Ancient-Backup useful, please consider:


Made with ❤️ for the Minecraft community

Последние версии

Все версии →
release

Ancient-Backup 2.0.0

2.0.0
4 янв. 2026 г.176Minecraft: 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# 📜 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.admin` permission --- ## 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: true` to enable (recommended) - **Streaming Mode**: Enable with `upload.streaming-compression: true` (optional) - **Exclusions**: Add folders to exclude in `backup.exclude` list - **Memory Settings**: Review `performance.cleanup-after-backup` setting ### 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 `retention` section if desired ### Upgrading to 1.2.x - **Discord**: Add `discord` section to config for webhook notifications - **Scheduler**: Old scheduler format still compatible but deprecated --- **For detailed documentation, visit our [Wiki](https://github.com/yourusername/ancient-backup/wiki)**
release

Ancient-Backup

1.4.3
14 дек. 2025 г.34Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9paper
Скачать
Что нового
# 📦 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-mb` - `max-buffer-kb` - `min-buffer-kb` - `max-chunk-mb` - `cleanup-after-backup` - `gc-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 status` shows: - 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) ```yml 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
release

Ancient-Backup 1.3.8

1.3.8
13 дек. 2025 г.38Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9paper
Скачать