Резервное копирование сервера Minecraft: как настроить автобэкапы и защитить мир
Полный гайд по резервному копированию миров Minecraft: стратегия 3-2-1, автоматические бэкапы в S3/облако, дампы баз данных MySQL и восстановление поврежденных чанков.
Каждый опытный администратор знает негласное правило серверов Minecraft: администраторы делятся на две категории — тех, кто еще не делает бэкапы, и тех, кто их уже делает.
Потеря мира со всеми постройками игроков, экономикой и базами данных может случиться внезапно: аварийное отключение питания, поврежденный чанк (corrupted region file), разрушительный гриф спавна или неудачное обновление тяжелого плагина.
В этой статье разберем, как построить надежную систему автоматического резервного копирования по правилу 3-2-1 и быстро восстанавливать проект в любых аварийных ситуациях.
1. Золотое правило резервного копирования 3-2-1#
Хранить архивы сервера в той же папке на том же диске — опасная иллюзия безопасности. Если диск выйдет из строя или файловая система повредится, вы потеряете и сервер, и бэкапы.
┌───────────────────────────────┐
│ Стратегия 3-2-1 │
└──────────────┬────────────────┘
│
┌───────────────────────────┼───────────────────────────┐
▼ ▼ ▼
[ 3 Копии данных ] [ 2 Разных носителя ] [ 1 Удаленная копия ]
Рабочая + 2 архива NVMe SSD сервера + S3 Облако / Яндекс Диск
Внешнее хранилище (Вне вашего дата-центра)- 3 копии данных: 1 основная рабочая база + минимум 2 резервных архива.
- 2 разных типа носителей: локальный быстрый NVMe-диск хостинга + изолированное сетевое или блочное хранилище.
- 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:
# Расписание бэкапов: каждые 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 по расписанию:#
# Создание сжатого дампа базы данных перед созданием архива мира
mysqldump -u mc_user -p'mc_password' mc_server_db | gzip > /srv/backups/db-$(date +%F_%H-%M).sql.gzДля SQLite плагин CoreProtect блокирует файл базы во время записи. Перед копированием SQLite рекомендуется выполнить команду принудительного сохранения:
/co flush5. Как восстановить поврежденный мир (Corrupted Chunks)#
Если после аварийного отключения сервер перестал запускаться с ошибкой:
java.io.IOException: Corrupt packet / Corrupted NBT tag in region r.0.-1.mcaНе спешите удалять весь мир!
Способы исправления:#
Восстановление поврежденного файла региона из вчерашнего бэкапа: Найдите в логе имя сбойного файла (например,
region/r.0.-1.mca) и замените только его из последнего резервного архива. Весь остальной мир останется нетронутым.MCA Selector: Бесплатная утилита с визуальным интерфейсом. Откройте в ней папку мира, выделите поврежденный чанк или регион и удалите только его (
Delete Selected Chunks). При следующем входе игра заново сгенерирует этот участок без краша сервера.Minecraft Region Fixer: Консольная утилита на Python, которая автоматически сканирует все
.mcaфайлы мира, находит битые NBT-сущности и заменяет их на пустые, восстанавливая работоспособность мира.
Регулярные автоматические бэкапы дают вам главное — спокойствие за будущее проекта и гарантию того, что труд сотен игроков никогда не пропадет.
📚 Смотрите также в Wiki: