Ко всем статьям
•
~4 мин чтения

Резервное копирование сервера Minecraft: как настроить автобэкапы и защитить мир

Полный гайд по резервному копированию миров Minecraft: стратегия 3-2-1, автоматические бэкапы в S3/облако, дампы баз данных MySQL и восстановление поврежденных чанков.

Каждый опытный администратор знает негласное правило серверов Minecraft: администраторы делятся на две категории — тех, кто еще не делает бэкапы, и тех, кто их уже делает.

Потеря мира со всеми постройками игроков, экономикой и базами данных может случиться внезапно: аварийное отключение питания, поврежденный чанк (corrupted region file), разрушительный гриф спавна или неудачное обновление тяжелого плагина.

В этой статье разберем, как построить надежную систему автоматического резервного копирования по правилу 3-2-1 и быстро восстанавливать проект в любых аварийных ситуациях.


1. Золотое правило резервного копирования 3-2-1#

Хранить архивы сервера в той же папке на том же диске — опасная иллюзия безопасности. Если диск выйдет из строя или файловая система повредится, вы потеряете и сервер, и бэкапы.

plaintext
                  ┌───────────────────────────────┐
                  │      Стратегия 3-2-1          │
                  └──────────────┬────────────────┘
                                 │
     ┌───────────────────────────┼───────────────────────────┐
     ▼                           ▼                           ▼
[ 3 Копии данных ]      [ 2 Разных носителя ]      [ 1 Удаленная копия ]
 Рабочая + 2 архива      NVMe SSD сервера +         S3 Облако / Яндекс Диск
                         Внешнее хранилище          (Вне вашего дата-центра)
  1. 3 копии данных: 1 основная рабочая база + минимум 2 резервных архива.
  2. 2 разных типа носителей: локальный быстрый NVMe-диск хостинга + изолированное сетевое или блочное хранилище.
  3. 1 копия вне сервера: обязательное хранение в стороннем облаке (S3, Яндекс Диск, Google Drive или удаленный SFTP/FTP сервер).

2. Способы создания резервных копий#

Вариант А: Автоматические снимки панели хостинга (Рекомендуется)#

На современном хостинге (например, в панели Obsy Host) резервное копирование интегрировано на уровне инфраструктуры.

  • Мгновенные снимки (Snapshots): создание слепка диска без остановки сервера и без падения TPS.
  • Хранение в S3-хранилище: бэкапы изолированы от физической ноды и реплицируются в распределенный кластер.
  • Восстановление в 1 клик: возврат сервера к рабочему состоянию за секунды прямо из интерфейса управления.

Вариант Б: Резервное копирование через плагины (DriveBackupV2)#

Если вам требуется дополнительно отправлять архивы в персональное облако, используйте плагин DriveBackupV2:

  • Поддержка Google Drive, OneDrive, Dropbox, Nextcloud, S3 и SFTP (подробнее о настройке протокола читайте в руководстве по SFTP в Wiki).
  • Автоматическая ротация (удаление старых архивов, чтобы не заполнять диск).
  • Уведомления об успешных и ошибочных бэкапах в Discord / Telegram через вебхук.

Пример настройки DriveBackupV2/config.yml:

yaml
# Расписание бэкапов: каждые 6 часов
backup-schedule:
  - "0 0,6,12,18 * * *"

# Куда загружать архивы
backup-storage:
  google-drive: false
  s3:
    enabled: true
    bucket: "minecraft-backups-bucket"
    region: "ru-central1"
    endpoint: "https://storage.yandexcloud.net"

# Сколько архивов хранить (ротация)
keep-count: 7

# Исключения (не тратить место на временный мусор)
blacklist:
  - "logs/*"
  - "cache/*"
  - ".spark/*"
  - "plugins/dynmap/web/*"
  - "plugins/BlueMap/web/*"

3. Что обязательно архивировать, а что исключать#

Minecraft генерирует гигабайты временных данных, которые бессмысленно сохранять в бэкап:

Включать в архивИсключать из архива (Blacklist)
Папки миров (world, world_nether, world_the_end)Старые лог-файлы (logs/*.log.gz)
Папка plugins/ (конфигурации и jar-файлы)Папка кеша Paper (cache/, .paper-nms)
Корневые конфиги (server.properties, spigot.yml, paper-global.yml)Рендеры веб-карт Dynmap / BlueMap (сотни тысяч тайлов)
Дампы баз данных MySQL / SQLiteВременные дампы профилирования .spark/

Исключение логов и веб-карт ускоряет создание бэкапа в 5–10 раз и экономит до 80% дискового пространства!


4. Резервное копирование баз данных (CoreProtect и LuckPerms)#

Если плагины подключены к локальной SQLite (database.db) или внешнему серверу MySQL/MariaDB, сохранение одних только файлов мира не спасет историю действий и права игроков.

Дамп MySQL по расписанию:#

bash
# Создание сжатого дампа базы данных перед созданием архива мира
mysqldump -u mc_user -p'mc_password' mc_server_db | gzip > /srv/backups/db-$(date +%F_%H-%M).sql.gz

Для SQLite плагин CoreProtect блокирует файл базы во время записи. Перед копированием SQLite рекомендуется выполнить команду принудительного сохранения:

bash
/co flush

5. Как восстановить поврежденный мир (Corrupted Chunks)#

Если после аварийного отключения сервер перестал запускаться с ошибкой:

text
java.io.IOException: Corrupt packet / Corrupted NBT tag in region r.0.-1.mca

Не спешите удалять весь мир!

Способы исправления:#

  1. Восстановление поврежденного файла региона из вчерашнего бэкапа: Найдите в логе имя сбойного файла (например, region/r.0.-1.mca) и замените только его из последнего резервного архива. Весь остальной мир останется нетронутым.

  2. MCA Selector: Бесплатная утилита с визуальным интерфейсом. Откройте в ней папку мира, выделите поврежденный чанк или регион и удалите только его (Delete Selected Chunks). При следующем входе игра заново сгенерирует этот участок без краша сервера.

  3. Minecraft Region Fixer: Консольная утилита на Python, которая автоматически сканирует все .mca файлы мира, находит битые NBT-сущности и заменяет их на пустые, восстанавливая работоспособность мира.

Регулярные автоматические бэкапы дают вам главное — спокойствие за будущее проекта и гарантию того, что труд сотен игроков никогда не пропадет.

📚 Смотрите также в Wiki:

Готовы запустить свой Minecraft сервер?
Собственная панель управления, быстрые NVMe накопители, защита от DDoS и запуск за пару минут.