Как откатить сервер на предыдущую версию
Подготовка и доступ к панели управления
- Авторизуйтесь в панели proxify.cloud по адресу
https://panel.proxify.cloudили через личный кабинет на сайте хостинга. - В списке серверов выберите нужный выделенный сервер (Dedicated Server) с установленной Ubuntu.
- Перейдите во вкладку Console (Консоль) или VNC для получения прямого доступа к командной строке ОС. Если у вас настроен SSH-доступ, подключитесь через терминал:
Заменитеssh root@<IP_ВАШЕГО_СЕРВЕРА><IP_ВАШЕГО_СЕРВЕРА>на реальный IPv4-адрес, указанный в панели proxify.cloud.
Остановка игрового сервера
Определите, как запущен сервер: через systemd, screen/tmux или Docker.
- Если используется systemd (стандарт для Ubuntu на proxify.cloud):
Имя юнита (systemctl stop minecraft-serverminecraft-server) может отличаться. Проверьте список:systemctl list-units --type=service | grep -i mine - Если сервер работает в
screen:screen -S mc -X stuff "stop$(printf '\r')" sleep 10 screen -S mc -X quit - Если используется Docker (образ
itzg/minecraft-server):
Узнайте имя контейнера:docker stop mc-serverdocker ps -a.
- Если используется systemd (стандарт для Ubuntu на proxify.cloud):
Убедитесь, что процесс Java полностью завершен:
pgrep -f "minecraft_server\|paper\|purpur\|fabric\|forge"Если PID остались — завершите принудительно:
kill -9 <PID>.
Определение структуры бэкапов
Стандартные пути хранения бэкапов на выделенных серверах proxify.cloud:
/var/backups/minecraft/— если настраивали через панель или скрипты хостинга./opt/minecraft/backups/— частый вариант для ручных установок./home/minecraft/backups/— если сервер запущен от пользователяminecraft./root/backups/— при запуске от root.
Проверьте содержимое наиболее вероятной директории:
ls -la /var/backups/minecraft/ ls -la /opt/minecraft/backups/ ls -la /home/minecraft/backups/Ожидаемые форматы архивов:
.tar.gz,.tgz,.zipили папки с датами (например,2024-05-20_03-00-00/).Если бэкапы создаются скриптом (например,
backup.sh), просмотрите его конфигурацию:cat /opt/minecraft/backup.sh | grep -E "BACKUP_DIR|DESTINATION|TARGET"
Выбор точки восстановления
Выберите нужный бэкап по дате/времени. Пример списка:
world_2024-05-20_03-00-00.tar.gz world_2024-05-19_03-00-00.tar.gz world_2024-05-18_03-00-00.tar.gz full_server_2024-05-20_03-00-00.tar.gzworld_*— только игровые миры.full_server_*— полная копия: миры, плагины, моды, конфиги,server.jar.
Для точного отката версии ядра (Paper, Purpur, Forge, Fabric) лучше использовать полный бэкап (
full_server_*). Если нужно вернуть только карту — достаточноworld_*.
Создание страховой копии текущего состояния
- Перед распаковкой старого бэкапа сохраните текущую версию на случай ошибки:
ПутьTIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S") mkdir -p /var/backups/minecraft/pre_rollback_${TIMESTAMP} cp -r /opt/minecraft/server /var/backups/minecraft/pre_rollback_${TIMESTAMP}//opt/minecraft/serverзамените на вашу рабочую директорию сервера (где лежитserver.jar, папкиworld,plugins,mods).
Распаковка выбранного бэкапа
Вариант А: Полный откат (full_server_*.tar.gz)
Перейдите в директорию сервера и распакуйте архив с перезаписью:
cd /opt/minecraft/server tar -xzvf /var/backups/minecraft/full_server_2024-05-19_03-00-00.tar.gz --overwriteФлаг
--overwrite(или-kдля сохранения, но нам нужна замена) гарантирует восстановление старых конфигов и ядра.Если архив содержит корневую папку (например,
server/внутри архива), распакуйте во временную папку и перенесите:mkdir -p /tmp/restore tar -xzvf /var/backups/minecraft/full_server_2024-05-19_03-00-00.tar.gz -C /tmp/restore rsync -a --delete /tmp/restore/server/ /opt/minecraft/server/ rm -rf /tmp/restore
Вариант Б: Откат только миров (world_*.tar.gz)
Остановите сервер (шаг 4). Удалите или переименуйте текущие папки миров:
cd /opt/minecraft/server mv world world_old_${TIMESTAMP} mv world_nether world_nether_old_${TIMESTAMP} mv world_the_end world_the_end_old_${TIMESTAMP}Распакуйте миры из бэкапа:
tar -xzvf /var/backups/minecraft/world_2024-05-19_03-00-00.tar.gzУбедитесь, что в архиве лежат именно папки
world,world_nether,world_the_end.
Вариант В: Бэкап в формате ZIP
- Установите
unzip, если отсутствует:
Распакуйте:apt update && apt install -y unzipcd /opt/minecraft/server unzip -o /var/backups/minecraft/full_server_2024-05-19_03-00-00.zip
Исправление прав доступа
После распаковки от root владельцем файлов становится
root. Верните права пользователю сервера (обычноminecraftилиubuntu):chown -R minecraft:minecraft /opt/minecraft/serverУзнайте пользователя:
ps aux | grep java | grep -v grep | awk '{print $1}' | head -1Если сервер запускался от root (не рекомендуется), пропустите этот шаг.
Выставьте права на исполнение для скриптов запуска и ядра:
chmod +x /opt/minecraft/server/start.sh chmod +x /opt/minecraft/server/server.jar
Проверка конфигураций после отката
Откройте
server.propertiesи проверьте версию протокола/версию игры, если откатывались на старую версию ядра:cat /opt/minecraft/server/server.properties | grep -E "level-name|server-port|online-mode|version"Убедитесь, что
level-name=worldсовпадает с восстановленной папкой.Проверьте
spigot.yml,paper-global.yml,bukkit.ymlна предмет настроек, которые могли измениться между версиями (например,entity-activation-range,chunk-gc).Если откатили версию ядра (например, с Paper 1.20.4 на 1.20.1), обязательно проверьте совместимость плагинов/модов. Старые плагины могут не запуститься на новом ядре и наоборот. При необходимости замените
plugins/илиmods/на версии из бэкапа (они уже восстановлены при полном откате).
Запуск сервера и проверка
Запустите сервер стандартным способом:
- Systemd:
systemctl start minecraft-server journalctl -u minecraft-server -f - Screen (от пользователя minecraft):
su - minecraft -c "cd /opt/minecraft/server && screen -dmS mc ./start.sh" screen -r mc - Docker:
docker start mc-server docker logs -f mc-server
- Systemd:
Дождитесь сообщения
Done (X.Xs)! For help, type "help"в логах.Подключитесь к серверу через клиент Minecraft (IP из панели proxify.cloud) и проверьте:
- Чанки грузятся без ошибок.
- Инвентарь, эндер-сундук, позиция игрока соответствуют дате бэкапа.
- Плагины/моды загрузились:
/pluginsили/modsв чате. - Нет ошибок
[ERROR]в консоли.
Работа с базой данных (если применимо)
- Если сервер использует MySQL/MariaDB или PostgreSQL для плагинов (LuckPerms, CoreProtect, GriefPrevention, Dynmap), откат файлов мира не откатит БД.
- Найдите дамп БД в бэкапах (обычно
database_2024-05-19.sql.gz). - Восстановите:
# MySQL/MariaDB gunzip < /var/backups/minecraft/database_2024-05-19.sql.gz | mysql -u minecraft_user -p minecraft_db # PostgreSQL gunzip < /var/backups/minecraft/database_2024-05-19.sql.gz | psql -U minecraft_user -d minecraft_db - Если дампа нет — откат невозможен без потери данных плагинов. Рассмотрите использование CoreProtect (
/co rollback) для локальных исправлений.
- Найдите дамп БД в бэкапах (обычно
Автоматизация на будущее (рекомендация)
- Настройте регулярные бэкапы через панель proxify.cloud (раздел "Backups" / "Резервное копирование") или cron:
Добавьте строку (ежедневно в 03:00):crontab -e -u minecraft
Пример0 3 * * * /opt/minecraft/backup.sh >> /var/log/minecraft_backup.log 2>&1/opt/minecraft/backup.sh:#!/bin/bash SRC="/opt/minecraft/server" DEST="/var/backups/minecraft" DATE=$(date +"%Y-%m-%d_%H-%M-%S") mkdir -
Комментарии (0)