Как восстановить сервер из резервной копии
Подготовка и доступ к панели управления
- Откройте браузер и перейдите в панель proxify.cloud по адресу, указанному в письме с данными от сервера (обычно
https://panel.proxify.cloudили IP-адрес ноды с портом 8006). - Авторизуйтесь, используя логин
rootи пароль от выделенного сервера. - В левом дереве ресурсов выберите ваш узел (Node) — он назван по хостнейму сервера, например
mx-host-01. - Найдите контейнер (CT) или виртуальную машину (VM), где развернут Minecraft-сервер. Обычно это LXC-контейнер с ID 100, 101 и т.д. Нажмите на него левой кнопкой мыши.
- Убедитесь, что статус контейнера — Running. Если остановлен — нажмите кнопку Start в верхней панели и дождитесь загрузки (статус сменится на зеленый).
Подключение к контейнеру через консоль Proxmox
- В меню выбранного контейнера перейдите во вкладку Console (Консоль). Откроется терминал с уже авторизованным пользователем
root. - Проверьте, что вы внутри нужного окружения, командой:
Должен вернуть имя контейнера (например,hostnamemc-server-1). - Определите пользователя, от имени которого запускается сервер. Чаще всего это
minecraftилиubuntu. Посмотрите домашние директории:
Пример вывода:ls -la /home/drwxr-xr-x 5 minecraft minecraft 4096 May 10 12:00 minecraft drwxr-xr-x 3 ubuntu ubuntu 4096 May 01 10:00 ubuntu
Остановка игрового сервера перед восстановлением
- Критически важно: никогда не восстанавливайте файлы на работающем сервере — это приведет к коррупции мира и плагинов.
- Если используется systemd-сервис (стандарт для proxify.cloud образов):
systemctl stop minecraft - Если сервер запущен в screen/tmux вручную:
su - minecraft -c "screen -S mc -X stuff 'stop\n'" sleep 10 - Проверьте, что процесс Java остановился:
Вывод должен быть пустым.pgrep -af java
- Если используется systemd-сервис (стандарт для proxify.cloud образов):
Локализация резервных копий
На хостинге proxify.cloud бэкапы хранятся в двух местах:
- Внутренние снапшоты Proxmox (уровень диска) — вкладка Backup в панели контейнера.
- Файловые бэкапы скриптов (уровень файлов) — обычно в
/var/backups/minecraftили/home/minecraft/backups.
Проверьте наличие файловых бэкапов:
ls -lh /var/backups/minecraft/ # или ls -lh /home/minecraft/backups/Типовая структура имен:
mc-backup-2024-05-20_03-00-01.tar.gz(дата в имени).Если файловых бэкапов нет — используйте снапшоты Proxmox (см. раздел «Восстановление через снапшот Proxmox» ниже).
Восстановление из файлового архива (tar.gz)
Перейдите в директорию сервера (где лежат
server.jar, папкиworld,plugins,mods):cd /home/minecraft/server # или cd /opt/minecraft/serverУточните путь командой
pwdпослеsu - minecraft.Создайте безопасную копию текущего состояния на случай неудачи:
tar -czf /tmp/pre-restore-$(date +%F_%H-%M).tar.gz .Распакуйте нужный бэкап поверх текущих файлов с сохранением прав и симлинков:
tar -xzf /var/backups/minecraft/mc-backup-2024-05-20_03-00-01.tar.gz -C /home/minecraft/server --overwrite- Флаг
-Cзадает целевую директорию. --overwriteзаменяет существующие файлы.- Если архив содержит корневую папку
server/внутри, добавьте--strip-components=1.
- Флаг
Исправьте владельца файлов (важно, если распаковывали от root):
chown -R minecraft:minecraft /home/minecraft/serverПроверьте целостность ключевых файлов:
ls -lh /home/minecraft/server/server.jar ls -ld /home/minecraft/server/world ls -lh /home/minecraft/server/plugins/ 2>/dev/null | head -5
Восстановление через снапшот Proxmox (полный откат диска)
Если файловых бэкапов нет или они повреждены, используйте снапшоты уровня блока в панели proxify.cloud:
- В интерфейсе панели выберите контейнер → вкладка Snapshots.
- Выберите нужный снапшот по дате (колонка
Created). - Нажмите кнопку Rollback (Откатить).
- В диалоге подтверждения поставьте галочку Include RAM только если снапшот делался на запущенном сервере и вы хотите восстановить состояние памяти (редко нужно для Minecraft). Обычно галочка не ставится.
- Нажмите Yes. Процесс займет 10–60 секунд в зависимости от размера диска.
После отката контейнер автоматически перезагрузится. Дождитесь статуса Running в панели.
Зайдите в консоль и проверьте, что сервер не запустился автоматически (systemd может попытаться стартовать):
systemctl status minecraftЕсли статус
active (running)— остановите его:systemctl stop minecraft
Проверка и запуск после восстановления
Войдите под пользователем сервера и проверьте версию ядра/плагинов:
su - minecraft cd /home/minecraft/server java -jar server.jar --version 2>&1 | head -3Запустите сервер в тестовом режиме (без systemd) для проверки логов:
screen -S test-restore java -Xms2G -Xmx4G -jar server.jar noguiДождитесь строки
Done (X.Xs)! For help, type "help"или ошибок в консоли.Если ошибок нет — нажмите
Ctrl+A, затемDдля отсоединения от screen. Остановите тестовый процесс:screen -S test-restore -X stuff 'stop\n' sleep 5Запустите продакшн-сервис через systemd:
exit # вернемся к root systemctl start minecraft systemctl status minecraft --no-pagerПроверьте доступность порта (по умолчанию 25565):
ss -tlnp | grep 25565 # или nc -zv localhost 25565Зайдите в игру и проверьте: чанки грузятся, инвентарь на месте, плагины/моды отвечают командами (
/plugins,/mods,/version).
Пост-действия и чистка
Удалите временный бэкап текущего состояния, если всё ок:
rm -f /tmp/pre-restore-*.tar.gzВ панели proxify.cloud создайте новый снапшот «чистого» состояния после восстановления:
- Вкладка Snapshots → Take Snapshot.
- Имя:
post-restore-2024-05-20, описание:Restored from backup 2024-05-20_03-00.
Настройте/проверьте автоматическое резервное копирование в
/etc/cron.d/minecraft-backupили через панель proxify.cloud → Backup Jobs (если настроено на уровне ноды).
Возможные проблемы и решения
| Проблема | Причина | Решение |
|---|---|---|
tar: Cannot open: No such file or directory |
Неправильный путь к архиву или архив поврежден. | Проверьте ls -lh /путь/к/архиву. Скачайте свежий бэкап из S3/локального хранилища proxify.cloud. |
Permission denied при запуске / чтении world |
Файлы распакованы от root, владелец не сменен. |
Выполните chown -R minecraft:minecraft /home/minecraft/server от root. |
Сервер запускается, но сразу крашится: java.lang.OutOfMemoryError |
В systemd юните или скрипте запуска старые флаги -Xmx не подходят для восстановленного мира (больше чанков). |
Отредактируйте /etc/systemd/system/minecraft.service или старт-скрипт: увеличьте -Xmx (например, -Xmx6G). Затем systemctl daemon-reload && systemctl restart minecraft. |
| Мир пустой / спавн сломан / чанки битые | Восстановлен не тот бэкап или архив не полный (пропущена папка world/region). |
1. Остановите сервер. 2. Удалите папки world, world_nether, world_the_end. 3. Распакуйте бэкап заново с флагом -v для контроля списка файлов. |
Плагины/моды не загружаются (Could not load 'plugins/...jar') |
Несовместимость версий: бэкап сделан на другой версии ядра (Paper/Spigot/Fabric/Forge). | Проверьте версию server.jar (java -jar server.jar --version). Скачайте совместимую версию ядра и замените файл, либо откатите плагины/моды к версии из бэкапа. |
| Rollback снапшота в Proxmox висит бесконечно | Блокировка диска или проблема с хранилищем (ZFS/LVM-thin). | В консоли хоста (не контейнера) выполните qm unlock <CTID> или pct unlock <CTID>. Повторите Rollback. Если ZFS — проверьте zpool status. |
| После отката снапшота сеть не поднимается | MAC-адрес виртуального интерфейса сменился, DHCP |
Комментарии (0)