Как исправить ошибку «Outdated Server»
Введение
Ошибка «Outdated Server» (Устаревший сервер) появляется у игроков, когда версия клиента Minecraft не совпадает с версией сервера. На выделенном сервере Ubuntu под управлением панели proxify.cloud (Proxmox) это чаще всего означает, что после обновления клиента (или смены профиля в лаунчере) серверный jar-файл не был обновлен до соответствующей сборки. Инструкция ниже покрывает полный цикл: от диагностики версий до обновления через консоль и панель управления.
1. Диагностика версий клиента и сервера
- Запустите лаунчер Minecraft (Vanilla, Prism, MultiMC или другой).
- Откройте вкладку Installations (Установки) и посмотрите версию профиля, с которым вы пытаетесь зайти (например,
1.21.1илиrelease 1.20.4). - Зайдите в панель proxify.cloud → выберите ваш узел (Node) → контейнер (CT) или виртуальную машину (VM) с сервером.
- Откройте Console (Консоль) в панели Proxmox или подключитесь по SSH:
ssh root@<IP-адрес-сервера> - Перейдите в директорию сервера (стандартный путь на proxify.cloud для контейнеров):
cd /home/container # или, если вы используете кастомный путь: cd /opt/minecraft/server - Проверьте текущую версию серверного файла. Для Paper/Spigot/Purpur:
Для Vanilla/Fabric/Forge (если нет флагаjava -jar server.jar --version # Пример вывода: This server is running Paper version 1.21.1-123-master @ abcdef1 (2024-08-15T12:00:00Z)--version):strings server.jar | grep -i "minecraft.version" | head -1 - Сравните версию из консоли с версией в лаунчере. Если они отличаются (например, сервер
1.21.0, клиент1.21.1) — переходите к обновлению.
2. Остановка сервера перед обновлением
Никогда не заменяйте jar-файл на работающем сервере — это приведет к повреждению миров и плагинов.
- В панели proxify.cloud (Proxmox) выберите контейнер/VM → кнопка Shutdown (Выключить) или Stop (Остановить) в интерфейсе игровой панели (если установлена Pterodactyl/Pelican внутри).
- Если управления через игровую панель нет, остановите процесс внутри консоли:
# Найдите PID java-процесса pgrep -f "server.jar" # Корректно остановите (SIGTERM), дайте 10-15 секунд на сохранение pkill -TERM -f "server.jar" sleep 15 # Если не помогло — принудительно pkill -KILL -f "server.jar" - Убедитесь, что процесс исчез:
pgrep -f "server.jar" || echo "Процесс остановлен"
3. Резервное копирование (обязательный шаг)
Перед любой манипуляцией с ядром создайте бэкап мира и конфигов.
- В панели proxify.cloud → вкладка Backup (Резервные копии) → нажмите Create Backup (Создать резервную копию). Дождитесь завершения.
- Альтернативно — вручную через консоль (быстрее для больших миров):
cd /home/container # Создаем архив мира и плагинов, исключая старые бэкапы и логи tar -czf "backup_$(date +%F_%H-%M).tar.gz" \ --exclude="*.tar.gz" \ --exclude="logs/*" \ --exclude="cache/*" \ world/ plugins/ mods/ config/ server.properties spigot.yml paper.yml bukkit.yml 2>/dev/null ls -lh backup_*.tar.gz - При необходимости скачайте архив по SFTP (FileZilla, WinSCP) на локальный ПК:
# На локальной машине: sftp root@<IP-адрес>:/home/container/backup_*.tar.gz .
4. Обновление ядра сервера (Paper / Purpur / Spigot)
Вариант А: Через скачивание последней стабильной сборки (PaperMC API)
Рекомендуемый способ для Paper/Purpur — использование официального API для получения актуального билда.
- Определите целевую версию (из шага 1). Допустим,
1.21.1. - Выполните команды в консоли контейнера:
Требуется установленныйcd /home/container TARGET_VERSION="1.21.1" PROJECT="paper" # или "purpur" # Получаем номер последнего билда LATEST_BUILD=$(curl -s "https://api.papermc.io/v2/projects/${PROJECT}/versions/${TARGET_VERSION}" | jq -r '.builds[-1]') # Формируем URL и скачиваем DOWNLOAD_URL="https://api.papermc.io/v2/projects/${PROJECT}/versions/${TARGET_VERSION}/builds/${LATEST_BUILD}/downloads/${PROJECT}-${TARGET_VERSION}-${LATEST_BUILD}.jar" echo "Скачиваем ${PROJECT} ${TARGET_VERSION} build ${LATEST_BUILD}..." curl -o server.jar.new -L "$DOWNLOAD_URL" # Проверка целостности (файл не пустой, это jar) if [[ -s server.jar.new ]] && file server.jar.new | grep -q "Java archive"; then mv server.jar.new server.jar echo "Обновление успешно: $(java -jar server.jar --version 2>/dev/null | head -1)" else echo "Ошибка скачивания, файл поврежден или версия не найдена" rm -f server.jar.new exit 1 fijqиcurl:apt update && apt install -y jq curl.
Вариант Б: Ручное обновление через SFTP (если нет доступа к консоли или нужен кастомный билд)
- Скачайте нужный
.jarна ПК с официальных сайтов:- Paper:
https://papermc.io/downloads/paper - Purpur:
https://purpurmc.org/downloads - Spigot:
https://getbukkit.org/download/spigot(требует BuildTools) - Vanilla:
https://mcversions.net/
- Paper:
- В панели proxify.cloud откройте Console → кнопка File Manager (Файловый менеджер) или подключитесь по SFTP (порт 22, логин
root, пароль от контейнера). - Перейдите в
/home/container(или ваш кастомный путь). - Переименуйте старый файл:
server.jar→server.jar.old_$(date +%F). - Загрузите новый файл под именем
server.jar. - Выставьте права (обычно не требуется для root, но для чистоты):
chown container:container /home/container/server.jar 2>/dev/null || true chmod 644 /home/container/server.jar
Вариант В: Обновление Forge / Fabric / NeoForge (моддинг)
Для модовых серверов обновите установщик (installer), запустите его, чтобы сгенерировать новый server.jar.
- Скачайте установщик нужной версии (например,
forge-1.21.1-52.0.0-installer.jar). - Загрузите в
/home/container. - Запустите установку серверной части:
cd /home/container java -jar forge-*-installer.jar --installServer # После завершения появится/обновится forge-*.jar или server.jar (зависит от версии) # Убедитесь, что стартовый скрипт указывает на правильный файл (forge-*.jar) - Для Fabric/NeoForge аналогично: запустите
.jarустановщика с флагомserver.
5. Проверка совместимости плагинов и модов (важно при мажорных обновлениях)
Если вы переходите, например, с 1.20.x на 1.21.x:
- Плагины (Paper/Spigot):
- Проверьте
plugins/на наличие устаревших jar-файлов. - Посетите SpigotMC / Modrinth / Hangar и скачайте версии, поддерживающие новую версию API.
- Удалите или отключите (добавив
.disabledк расширению) плагины, у которых нет обновлений.
- Проверьте
- Моды (Forge/Fabric):
- Обновите моды через Modrinth / CurseForge до версий под целевую версию Minecraft + загрузчик.
- Удалите несовместимые моды (часто вызывают краш при старте).
- Конфиги:
- Новые версии ядра могут вводить новые параметры в
paper.yml,spigot.yml,server.properties. Сравните свои конфиги с дефолтными (можно временно переименовать свой, дать серверу сгенерировать новый, затем перенести настройки вручную).
- Новые версии ядра могут вводить новые параметры в
6. Запуск сервера и верификация
- В панели proxify.cloud нажмите Start (Запустить) для контейнера/VM, либо запустите стартовый скрипт в консоли:
cd /home/container # Пример для Paper с оптимизацией памяти (настройте -Xms/-Xmx под ваш тариф) java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \ -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \ -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \ -jar server.jar --nogui - Следите за логами в консоли Proxmox или в файле
logs/latest.log. - Дождитесь сообщения:
[Server thread/INFO]: Done (12.345s)! For help, type "help" - Зайдите в игру с клиента правильной версии. Ошибка «Outdated Server» должна исчезнуть.
7. Автоматизация обновлений (опционально, для админов)
Чтобы не делать это вручную каждый раз, настройте cron или systemd-таймер для ночной проверки.
- Создайте скрипт
/home/container/update_paper.sh:cat > /home/container/update_paper.sh << 'EOF' #!/bin/bash cd /home/container TARGET_VERSION="1.21.1" # Меняйте при мажорном апдейте
Комментарии (0)