Перейти к содержимому

CaCl2Backup

Простой мод для бэкапов, поддерживает многопоточность.

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
526
Подписчиков на Modrinth
4
версии
4
Обновлён
6 августа 20266 авг.
Опубликован
в 2026

Коротко о моде

Работает на Fabric
Для Minecraft 26.1–26.2
Ставится только на сервер; игрокам ставить не нужно
Последняя версия — 1.2.0 от 6 августа 2026
Нужен Fabric API
Лицензия MIT — бесплатно
Где нужен
В игрене нуженНа сервереобязателен

Ставится только на сервер; игрокам ставить не нужно

Версии игры26.1–26.2
Описание переведено автоматическиПоказать оригинал (EN)

CaCl2Backup

中文) | English

Комплексный мод для резервного копирования сервера Minecraft, созданный для Fabric.

Возможности

  • Три триггера резервного копирования — по интервалу, по расписанию и при остановке сервера, которые можно свободно комбинировать
  • Многопоточное сжатие — параллельное сжатие с использованием нескольких потоков для значительно более быстрого резервного копирования
  • Автоматическая очистка — автоматическая очистка старых резервных копий после создания новых с ограничениями по количеству и возрасту
  • Полное восстановление — полное восстановление сохранения мира из резервных копий
  • Система меток — добавление меток к резервным копиям для удобной идентификации (специальные символы автоматически заменяются на подчёркивания)
  • Операции по индексу — быстрый выбор резервных копий по номеру индекса без ввода полных имён файлов
  • Статус в реальном времени — просмотр статуса резервного копирования, конфигурации и списка резервных копий
  • Горячая перезагрузка конфигурации — перезагрузка конфигурации без перезапуска сервера
  • Автоперезапуск при восстановлении — опциональный автоперезапуск сервера после восстановления резервной копии

Требования

  • Minecraft 26.0+ (серия 26.x)
  • Fabric Loader 0.15.0+
  • Fabric API
  • Java 25+

Установка

  1. Убедитесь, что установлены Fabric Loader и Fabric API
  2. Поместите JAR-файл мода в папку mods вашего сервера
  3. Запустите сервер — мод автоматически создаст файл конфигурации

Справочник команд

Все команды требуют прав оператора и используют префикс /backup.

Основные команды

КомандаОписаниеПример
/backup create [label]Создать резервную копию вручную (опциональная метка)/backup create before_update
/backup listПоказать список всех доступных резервных копий (с номерами индексов)/backup list
/backup statusПоказать текущую конфигурацию и статус/backup status
/backup reloadПерезагрузить файл конфигурации/backup reload
/backup cleanupВручную очистить старые резервные копии/backup cleanup

Восстановление и удаление

КомандаОписаниеПример
/backup restore <index/filename>Восстановить мир из указанной резервной копии/backup restore 1
/backup delete <index/filename>Удалить указанную резервную копию/backup delete 2

Совет: Используйте /backup list, чтобы посмотреть номера индексов резервных копий, затем используйте индекс напрямую.

Команды конфигурации

КомандаОписаниеПример
/backup configПоказать все параметры конфигурации/backup config
`/backup config interval []`Показать/установить интервал резервного копирования/backup config interval 60
`/backup config maxbackups []`Показать/установить максимальное количество резервных копий/backup config maxbackups 20
`/backup config maxage []`Показать/установить максимальный возраст резервных копий/backup config maxage 14
/backup config autocleanup [<on/off>]Показать/установить автоматическую очистку/backup config autocleanup on
`/backup config threads []`Показать/установить количество потоков сжатия/backup config threads 4
/backup config level [<1-9>]Показать/установить уровень сжатия/backup config level 6
/backup config autorestart [<on/off>]Показать/установить автоперезапуск после восстановления/backup config autorestart on
`/backup config restartdelay []`Показать/установить задержку автоперезапуска/backup config restartdelay 60
`/backup config restartmessage []`Показать/установить сообщение о перезапуске (плейсхолдер {seconds})/backup config restartmessage "Server will restart in {seconds}s..."
/backup config broadcastrestart [<on/off>]Показать/установить трансляцию сообщения о перезапуске/backup config broadcastrestart on
/backup config triggerПоказать статус всех триггеров/backup config trigger
/backup config trigger interval [<on/off>]Показать/установить триггер по интервалу/backup config trigger interval on
/backup config trigger server_stop [<on/off>]Показать/установить триггер при остановке сервера/backup config trigger server_stop on
/backup config trigger schedule [<on/off>]Показать/установить триггер по расписанию/backup config trigger schedule on
/backup config trigger schedule add <HH:mm>Добавить время в расписание/backup config trigger schedule add 03:00
/backup config trigger schedule remove <HH:mm>Удалить время из расписания/backup config trigger schedule remove 03:00
/backup config trigger schedule clearОчистить всё расписание/backup config trigger schedule clear

Файл конфигурации

Расположение файла конфигурации: config/cacl2backup.json

{
  "backupIntervalMinutes": 30,
  "maxBackups": 10,
  "compressionThreads": 8,
  "compressionLevel": 6,
  "autoBackupEnabled": true,
  "autoCleanupEnabled": true,
  "maxBackupAgeDays": 7,
  "backupFolderName": "backups",
  "broadcastBackupMessages": true,
  "saveOnBackup": true,
  "autoRestartAfterRestore": false,
  "restartDelaySeconds": 60,
  "restoreRestartMessage": "Server will restart in {seconds} seconds to complete restore...",
  "broadcastRestoreMessage": true,
  "triggers": {
    "interval": {
      "enabled": true,
      "interval_minutes": 30
    },
    "server_stop": {
      "enabled": false
    },
    "schedule": {
      "enabled": false,
      "times": ["03:00", "15:00"]
    }
  }
}

Параметры конфигурации

ПараметрТипПо умолчаниюОписание
backupIntervalMinutesint30Интервал авто-бэкапа в минутах (минимум: 1)
maxBackupsint10Максимальное количество хранимых бэкапов
compressionThreadsintЯдра CPUКоличество потоков сжатия
compressionLevelint6Уровень сжатия (1-9), 1 — самый быстрый с наименьшей степенью сжатия, 9 — самый медленный с наибольшей степенью сжатия
autoBackupEnabledbooleantrueВключить автоматические бэкапы
autoCleanupEnabledbooleantrueВключить автоматическую очистку старых бэкапов
maxBackupAgeDaysint7Максимальный возраст бэкапа в днях
backupFolderNameString"backups"Имя папки для бэкапов
broadcastBackupMessagesbooleantrueРассылать сообщения о бэкапах всем игрокам
saveOnBackupbooleantrueСохранять мир перед бэкапом
autoRestartAfterRestorebooleanfalseАвто-перезапуск сервера после восстановления
restartDelaySecondsint60Задержка авто-перезапуска в секундах (минимум: 10)
restoreRestartMessageString"Server will restart in {seconds} seconds..."Шаблон сообщения о перезапуске, {seconds} заменяется на задержку
broadcastRestoreMessagebooleantrueРассылать сообщение о перезапуске
triggers.interval.enabledbooleantrueВключить триггер бэкапа по интервалу
triggers.interval.interval_minutesint30Интервал бэкапа по интервалу в минутах
triggers.server_stop.enabledbooleanfalseВключить триггер бэкапа при остановке сервера
triggers.schedule.enabledbooleanfalseВключить триггер бэкапа по ежедневному расписанию
triggers.schedule.timeslist[]Время ежедневных бэкапов (формат HH:mm, например ["03:00","15:00"])

Руководство по использованию

Создание бэкапов

Ручной бэкап (рекомендуется перед важными операциями):

/backup create before_major_update

Просмотр списка бэкапов:

/backup list

Пример вывода:

[CaCl2Backup] Available backups (5):
1. 2024-02-20 10:30:00 [before_update] - 125.3 MB
2. 2024-02-19 22:00:00 [auto] - 124.8 MB
3. 2024-02-19 10:00:00 - 123.5 MB
...

Восстановление мира

Внимание: операция восстановления перезапишет текущее сохранение мира!

  1. Просмотрите список бэкапов, чтобы узнать номер по индексу:

    /backup list
  2. Восстановите по индексу:

    /backup restore 1
  3. Поведение зависит от конфигурации:

    • autoRestartAfterRestore=false (по умолчанию): вручную остановите сервер, чтобы завершить восстановление
    • autoRestartAfterRestore=true: мод автоматически перезапустит сервер после указанной задержки
  4. Мир автоматически заменится при следующем запуске сервера

Настройка поведения авто-перезапуска:

/backup config autorestart on          # Включить авто-перезапуск
/backup config restartdelay 60         # Установить задержку 60 секунд
/backup config restartmessage "Server will restart in {seconds} seconds..."  # Своё сообщение
/backup config broadcastrestart on     # Включить рассылку

### Удаление бэкапов

Удаление по индексу:

/backup delete 2


## Триггеры бэкапов

Три независимых триггера, которые можно свободно комбинировать:

| Триггер | По умолчанию | Описание |
|---------|-------------|-------------|
| **Интервал** | Вкл | Автобэкап каждые N минут |
| **Расписание** | Выкл | Бэкап в определённое время ежедневно (например, 03:00 и 15:00) |
| **Остановка сервера** | Выкл | Бэкап при нормальном завершении работы сервера |
| Ручная команда | — | Запуск `/backup create [label]` в любой момент |

Пример конфигурации:

```json
// Включить только остановку сервера + ежедневный бэкап в 3 часа ночи, отключить интервал
"triggers": {
  "interval":   { "enabled": false },
  "server_stop": { "enabled": true },
  "schedule":   { "enabled": true, "times": ["03:00"] }
}

Именование файлов бэкапов

backup_YYYY-MM-DD_HH-mm-ss.zip              # Без метки
backup_YYYY-MM-DD_HH-mm-ss_label.zip        # С меткой

Примеры:

  • backup_2024-02-20_10-30-00.zip
  • backup_2024-02-20_10-30-00_before_update.zip

Правила именования меток:

  • Разрешены: буквы a-zA-Z, цифры 0-9, подчёркивание _, дефис -
  • Остальные символы (пробелы, спецсимволы и т.д.) автоматически заменяются на подчёркивание _

Производительность

Многопоточное сжатие

Мод использует параллельное сжатие, чтобы значительно ускорить бэкапы больших миров:

Размер мира1 поток4 потока8 потоков
500 МБ~45с~15с~10с
2 ГБ~3мин~1мин~40с
5 ГБ~8мин~2.5мин~1.5мин

Сравнение уровней сжатия

УровеньСтепень сжатияСкоростьПрименение
1-3~40%Самая быстраяЧастые бэкапы, SSD-хранилище
4-6~50%СбалансированнаяЕжедневное использование (рекомендуется)
7-9~55%МедленнееОграниченное место на диске

Лучшие практики

  1. Регулярная проверка бэкапов

    • Запускайте /backup list регулярно, чтобы убедиться, что бэкапы создаются
    • Периодически тестируйте процесс восстановления, чтобы убедиться в работоспособности бэкапов
  2. Разумная политика хранения

    • maxBackups и maxBackupAgeDays применяются одновременно
    • Рекомендуется: хранить минимум 3-5 рабочих бэкапов
  3. Ручной бэкап перед важными операциями

    • Перед обновлением модов
    • Перед крупными строительными проектами
    • Перед обновлением версии сервера
  4. Внешние бэкапы

    • Периодически копируйте папку с бэкапами в другое место
    • Рассмотрите синхронизацию бэкапов с облачным хранилищем

Решение проблем

Бэкап не удался

Проблема: Backup failed: World directory not found

Решение: Убедитесь, что папка мира сервера называется world.

Проблемы с миром после восстановления

Проблема: Неполные данные мира после восстановления

Решение:

  1. Убедитесь, что сервер перезапущен после завершения восстановления
  2. Проверьте, полный ли файл бэкапа (нормальный размер файла)
  3. Попробуйте использовать другой файл бэкапа

Проблемы с правами

Проблема: Не удаётся выполнить команды

Решение: Убедитесь, что игроку выдан статус OP (используйте /op player_name).

Информация о разработке

  • Автор: CaCl2
  • Версия: 1.1.1
  • Лицензия: MIT
  • Версия Minecraft: 26.0+ (серия 26.x)
  • Версия Fabric API: 0.146.1+

Список изменений

1.1.1

  • Исправление — Автоочистка старых бэкапов не работала (десериализация Gson не проверяла значения по умолчанию для maxBackups, maxBackupAgeDays и autoCleanupEnabled, из-за чего автоочистка молча отключалась при миграции со старых конфигов)
  • Исправление — Логика очистки else if приводила к тому, что удаление по количеству и по возрасту мешали друг другу; переписано с независимыми проверками, чтобы сохранялось ровно maxBackups бэкапов

1.1.0

  • Рефакторинг триггеров бэкапа — Три независимых триггера: Интервал, Расписание и Остановка сервера
  • Триггеры можно свободно комбинировать, управляются через секцию конфига triggers
  • Старые конфиги автоматически мигрируют; существующие настройки интервала сохраняются
  • Новые команды триггеров: /backup config trigger interval/schedule/server_stop
  • Поддержка нескольких времён ежедневного бэкапа (например, ["03:00","15:00"])
  • Синхронный бэкап при завершении работы сервера (с использованием createBackupSync)
  • Поддержка версий Minecraft расширена на всю серию 26.x (>=26.0 <27.0)
  • Удалена устаревшая /backup config autobackup, всё объединено под trigger interval
  • Исправления безопасности — Защита от обхода путей Zip Slip, фильтрация путей в именах бэкапов, исправление состояния гонки TOCTOU
  • Корректность триггера расписания при переходе на летнее время, безопасность конкурентного списка, стандартизация команд

1.0.2

  • Переработан процесс восстановления: удалена команда /backup restarter, авто-перезапуск встроен в /backup restore
  • Новые параметры конфигурации: autoRestartAfterRestore, restartDelaySeconds, restoreRestartMessage, broadcastRestoreMessage
  • Новые команды конфигурации: /backup config autorestart, /backup config restartdelay, /backup config restartmessage, /backup config broadcastrestart

1.0.1

  • Обновлено до Minecraft 26.1.2
  • Добавлен workflow релиза на GitHub
  • Требование к версии Java поднято до 25+

1.0.0

  • Первый релиз
  • Многопоточное сжатие
  • Запланированные авто-бэкапы
  • Автоматическая очистка старых бэкапов
  • Полноценное восстановление
  • Система меток
  • Быстрый выбор по индексу
  • Горячая перезагрузка конфигурации

Частые вопросы

Как установить CaCl2Backup?

Установите Fabric под свою версию Minecraft, скачайте CaCl2Backup под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть CaCl2Backup?

У CaCl2Backup есть сборки для Minecraft 26.1–26.2.

Нужен ли CaCl2Backup на сервере?

Ставится только на сервер; игрокам ставить не нужно

Лицензия и источник
MIT Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее