Как исправить ошибку «Outdated Client»
Причины ошибки
Ошибка «Outdated Client» (устаревший клиент) означает несоответствие протокола клиента и сервера. В Minecraft каждый релиз (и снэпшот) имеет уникальный Protocol Version. Сервер отвергает подключение, если версия протокола клиента не входит в диапазон, поддерживаемый сервером.
На выделенном сервере Ubuntu в панели proxify.cloud (Proxmox VE) чаще всего встречаются три сценария:
- Сервер запущен на старой версии ядра (Paper/Spigot/Purpur), а игрок заходит с нового клиента.
- Используется прокси (Velocity/BungeeCord) с устаревшим
ViaVersionили без него. - Файл
server.propertiesсодержит неверный параметрenforce-secure-profileилиnetwork-compression-threshold, вызывающий ложное срабатывание.
Ниже — пошаговое устранение для каждого случая.
1. Проверка текущей версии сервера
1.1. Подключение к консоли через proxify.cloud
- Откройте панель proxify.cloud.
- Выберите нужный выделенный сервер (Dedicated Server) → вкладка Console (noVNC) или подключитесь по SSH:
ssh root@<IP-вашего-сервера> - Перейдите в директорию сервера (стандартный путь на хостинге):
cd /opt/minecraft/server # или, если используете Pterodactyl/Panel внутри VM: cd /var/lib/pterodactyl/volumes/<uuid>/server
1.2. Определение версии ядра
java -jar server.jar --version 2>&1 | head -5
Пример вывода для Paper:
Paper version git-Paper-1.20.4-488 (MC: 1.20.4)
Protocol version 765
Запишите Protocol version (765 для 1.20.4, 766 для 1.20.5, 767 для 1.20.6, 769 для 1.21, 770 для 1.21.1).
1.3. Сравнение с версией клиента
Откройте лаунчер Minecraft → Installations → выберите профиль → More Options → Version. Протокол клиента должен совпадать с серверным или быть выше (если установлен ViaVersion).
2. Обновление ядра сервера (Paper / Purpur / Spigot)
2.1. Остановка сервера
В панели proxify.cloud нажмите Stop или выполните:
systemctl stop minecraft
# или внутри screen/tmux:
screen -S mc -X stuff "stop\n"
2.2. Скачивание актуальной сборки
Рекомендуется Paper (наиболее стабильный для выделенных серверов).
# Переменные для 1.21.1 (протокол 770) — замените при необходимости
MC_VERSION="1.21.1"
BUILD="94" # последняя стабильная на момент написания
cd /opt/minecraft/server
wget -O paper.jar "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${BUILD}/downloads/paper-${MC_VERSION}-${BUILD}.jar"
2.3. Обновление стартового скрипта
Проверьте start.sh или systemd-unit:
cat > /opt/minecraft/server/start.sh <<'EOF'
#!/bin/bash
cd /opt/minecraft/server
java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
-jar paper.jar --nogui
EOF
chmod +x start.sh
2.4. Запуск и проверка
systemctl start minecraft
# или
./start.sh
В логах должно появиться:
[Server] INFO]: Starting minecraft server version 1.21.1
[Server] INFO]: Protocol version 770
3. Настройка ViaVersion / ViaBackwards / ViaRewind (если нужен доступ со старых клиентов)
Если игроки должны заходить с версий ниже серверной (например, сервер 1.21.1, клиенты 1.19.x — 1.21.x), установите плагины поддержки протоколов.
3.1. Установка плагинов
cd /opt/minecraft/server/plugins
wget -O ViaVersion.jar "https://ci.viaversion.com/job/ViaVersion/lastSuccessfulBuild/artifact/ViaVersion-Platform-Bukkit/target/ViaVersion-5.3.0-SNAPSHOT.jar"
wget -O ViaBackwards.jar "https://ci.viaversion.com/job/ViaBackwards/lastSuccessfulBuild/artifact/ViaBackwards-Platform-Bukkit/target/ViaBackwards-5.3.0-SNAPSHOT.jar"
wget -O ViaRewind.jar "https://ci.viaversion.com/job/ViaRewind/lastSuccessfulBuild/artifact/ViaRewind-Platform-Bukkit/target/ViaRewind-5.3.0-SNAPSHOT.jar"
Для Velocity (прокси) скачивайте
-Platform-Velocityартефакты и кладите вplugins/прокси.
3.2. Конфигурация ViaVersion
cat > /opt/minecraft/server/plugins/ViaVersion/config.yml <<'EOF'
# Минимальная версия клиента, которую пускаем (protocol 759 = 1.19.4)
min-protocol-version: 759
# Блокировать несовместимые пакеты
block-protocols: false
# Отправлять пакеты 1.21.1 клиентам 1.19.x
suppress-conversion-warnings: true
EOF
3.3. Перезагрузка плагинов
# В консоли сервера:
plugman load ViaVersion
plugman load ViaBackwards
plugman load ViaRewind
# или перезапуск сервера
systemctl restart minecraft
4. Исправление server.properties — частые ловушки
4.1. Параметр enforce-secure-profile
С версии 1.19.1 Mojang требует подписанные чат-сообщения. Если игрок использует модифицированный клиент без подписей — сервер кикает с текстом, похожим на «Outdated Client».
sed -i 's/^enforce-secure-profile=.*/enforce-secure-profile=false/' /opt/minecraft/server/server.properties
Важно: на публичных серверах это снижает безопасность чата. Используйте только если понимаете риски.
4.2. Параметр network-compression-threshold
Значение -1 отключает сжатие и может вызывать ошибки хендшейка на некоторых прокси.
sed -i 's/^network-compression-threshold=.*/network-compression-threshold=256/' /opt/minecraft/server/server.properties
4.3. Параметр max-players и server-ip
Убедитесь, что server-ip= пустой (слушает все интерфейсы) и порт совпадает с пробросом в proxify.cloud (Firewall / Port Forwarding).
grep -E '^(server-ip|server-port|max-players)=' /opt/minecraft/server/server.properties
Ожидаемый результат:
server-ip=
server-port=25565
max-players=100
5. Работа за прокси (Velocity / BungeeCord)
Если у вас стоит Velocity на том же выделенном сервере Ubuntu, ошибка часто исходит от прокси, а не от бэкенда.
5.1. Проверка версии Velocity
cd /opt/minecraft/proxy
java -jar velocity.jar --version
Требуется Velocity 3.3.0+ для поддержки протоколов 1.20.5–1.21.1 (Protocol 766–770).
5.2. Обновление Velocity
wget -O velocity.jar "https://versions.velocitypowered.com/velocity-3.3.0-SNAPSHOT-300.jar"
5.3. Настройка velocity.toml — player-info-forwarding
Для современных версий (1.19+) обязателен режим MODERN:
player-info-forwarding-mode = "MODERN"
forwarding-secret = "сгенерируйте_свой_секрет_через_openssl_rand_hex_16"
На бэкенде (Paper) в spigot.yml:
settings:
velocity-support:
enabled: true
secret: "тот_же_секрет"
online-mode: true
5.4. ViaVersion на Velocity (для поддержки старых клиентов)
cd /opt/minecraft/proxy/plugins
wget -O ViaVersion.jar "https://ci.viaversion.com/job/ViaVersion/lastSuccessfulBuild/artifact/ViaVersion-Platform-Velocity/target/ViaVersion-5.3.0-SNAPSHOT.jar"
wget -O ViaBackwards.jar "https://ci.viaversion.com/job/ViaBackwards/lastSuccessfulBuild/artifact/ViaBackwards-Platform-Velocity/target/ViaBackwards-5.3.0-SNAPSHOT.jar"
Перезапустите прокси:
systemctl restart velocity
6. Проверка портов и файрвола в proxify.cloud
Ошибка «Outdated Client» иногда маскирует таймаут хендшейка из-за закрытого порта.
6.1. В панели proxify.cloud
- Откройте сервер → Network → Firewall.
- Убедитесь, что правило для TCP 25565 (или ваш порт) имеет
Action: ACCEPTиDirection: In. - Если используете Cloudflare Spectrum / TCP Shield — проверьте, что прокси не режет пакеты хендшейка (включите
Proxy Protocol v1/v2в Velocity и настройтеproxy-protocol: trueвvelocity.toml).
6.2. Локальная проверка на Ubuntu
ss -tlnp | grep 25565
# Должно показать LISTEN на 0.0.0.0:25565 или :::25565
# Тест хендшейка с клиента (установите mcstatus):
pip3 install mcstatus
mcstatus <IP> 25565 ping
Успешный ответ содержит version: {name: "1.21.1", protocol: 770}.
7. Диагностика через логи
7.1. Лог сервера
tail -n 200 /opt/minecraft/server/logs/latest.log | grep -i -e "outdated" -e "protocol" -e "handshake" -e "kick"
Типичная строка ошибки:
[Server thread/INFO]: UUID of player Steve is 123e4567-e89b-12d3-a456-426614174000
[Server thread/INFO]: Steve[/192.0.2.1:12
Комментарии (0)