Pterohost docs

ViaVersion и ViaBackwards: кросс-версионная игра на сервере

Настройка ViaVersion, ViaBackwards и ViaRewind в 2026: поддержка клиентов 1.8.x-1.21.x на одном сервере, установка на Paper и BungeeCord, конфликты с античитом.

Кратко: ViaVersion (новые клиенты на старом сервере) + ViaBackwards (старые на новом) + ViaRewind (1.7.10-1.8.9) дают поддержку всех версий Minecraft 1.7.10-1.21.x на одном сервере. Установка: JAR в plugins/, перезапуск. Для серверов с античитом включите compatibility.viaversion: true. Подходит для Paper, Spigot, Folia, BungeeCord, Velocity.

ViaVersion и ViaBackwards: кросс-версионная игра на сервере

ViaVersion - плагин-протокольный переводчик, который решает главную головную боль владельцев Minecraft-серверов: разные версии клиента у игроков. С ViaVersion на одном сервере 1.20.4 могут одновременно играть пользователи с клиентами 1.16, 1.17, 1.18, 1.19, 1.20, 1.21 - все они увидят мир и друг друга корректно.

В этой статье - установка ViaVersion + ViaBackwards + ViaRewind, настройка на Paper и BungeeCord/Velocity, решение конфликтов с античитом, баги cross-версий и оптимизация.

Pterohost - игровой хостинг с DDoS-защитой L4+L7, NVMe SSD и 24/7 поддержкой. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг

Что такое протокол Minecraft и зачем нужен ViaVersion

Minecraft использует бинарный сетевой протокол: клиент и сервер обмениваются пакетами вроде 0x00 PlayerPosition, 0x21 SpawnEntity. Каждая новая версия Minecraft меняет ID пакетов, добавляет новые, удаляет старые, меняет структуру данных. Сервер 1.20 не понимает пакеты клиента 1.21 - выходит ошибка Outdated server! или Outdated client!.

ViaVersion перехватывает пакеты в Netty-pipeline сервера, определяет версию клиента по handshake и на лету перекодирует пакеты в формат, понятный серверу. Аналогично для исходящих пакетов от сервера - перекодирует в формат клиента.

Преимущества кросс-версионного сервера:

  • Игроки не вынуждены даунгрейдить клиент - заходят с любой версии.
  • Не нужно держать несколько серверов под разные версии.
  • Новые клиенты получают игру быстрее (релиз 1.21 - сразу доступен).
  • Не теряете аудиторию из-за фиксированной версии.

Семейство плагинов ViaVersion

ViaProject - набор из четырёх плагинов:

ПлагинНазначениеДиапазон версий
ViaVersionновые клиенты на старом сервередо текущего релиза
ViaBackwardsстарые клиенты на новом сервереот 1.21 вниз до 1.16
ViaRewindочень старые клиенты (1.7-1.8.9)1.7.10-1.8.9
ViaLegacyBeta 1.7 - Release 1.6.4 (экспериментально)очень старые

Для большинства серверов 2026 нужны ViaVersion + ViaBackwards + ViaRewind. ViaLegacy - редкий случай.

Установка на Paper / Spigot / Folia

Скачайте последние сборки с GitHub:

  • ViaVersion: github.com/ViaVersion/ViaVersion/releases (файл ViaVersion-X.X.X.jar).
  • ViaBackwards: github.com/ViaVersion/ViaBackwards/releases.
  • ViaRewind: github.com/ViaVersion/ViaRewind/releases.

Положите все три JAR в plugins/ и перезапустите сервер. В логе:

[INFO] [ViaVersion] Loading ViaVersion v5.X.X
[INFO] [ViaVersion] ViaVersion 5.X.X is now loaded, injecting...
[INFO] [ViaBackwards] Loading ViaBackwards v5.X.X
[INFO] [ViaRewind] Loading ViaRewind v4.X.X
[INFO] [ViaVersion] Server version detected: 1.21.4 (protocol 768)
[INFO] [ViaVersion] Supported client versions: 1.7.10 (protocol 5) - 1.21.4 (protocol 768)

После старта - тестируйте подключение с клиентов разных версий. Команда /viaversion list покажет онлайн-игроков с версиями их клиентов.

Установка на BungeeCord / Velocity

Для прокси-сетей есть два подхода:

Подход 1: ViaVersion на каждом backend-сервере

Классический. Прокси не трогаем, плагины устанавливаются только на Paper/Spigot-серверы за прокси. Минус - на каждом сервере свой ViaVersion, переключение между серверами в сети заставляет клиент re-handshake.

Подход 2: ViaVersion на прокси

Современный (рекомендован для Velocity с 2023). Плагины устанавливаются на прокси (plugins/ BungeeCord или Velocity), backend-серверы остаются “чистыми”. Прокси перекодирует пакеты однажды, бэкенды работают на своей версии без накладных расходов.

Скачайте Velocity-сборку ViaVersion (тот же JAR работает и для прокси, и для Paper). Положите в plugins/ Velocity. Перезапустите.

Для Velocity дополнительно нужно включить в velocity.toml:

player-info-forwarding-mode = "modern"

[advanced]
  protocol-version-override = false

Конфигурация ViaVersion

Файл plugins/ViaVersion/config.yml создаётся после первого запуска. Большинство опций можно оставить по умолчанию. Часто меняемые параметры:

# Уведомление обновлений плагина в чат админа
checkforupdates: true

# Предотвращение колайдеров (1.9+ механика collide)
prevent-collision: true

# Шифрование пакетов между версиями
use-new-deathmessages: true

# Поддержка bossbar (для клиентов 1.8 на сервере 1.9+)
bossbar-patch: true
bossbar-anti-flicker: false

# Принудительная версия для игроков (-1 = автоопределение)
force-protocol-version: -1

# Отключение проверки клиентского brand
hide-1_8-piglins-from-1_7: true

# Quick join (skip resource pack для старых клиентов)
quick-move-action-fix: true

Поддержка протоколов 1.8 на сервере 1.21

Распространённый сценарий: сервер на 1.21 (новейшие механики, плагины), а игроки 1.8-PvP-аудитории хотят остаться на старой версии (TouchScreen, отсутствие cooldown, simpler combat).

Шаги:

  1. Сервер Paper 1.21.4.
  2. ViaVersion + ViaBackwards + ViaRewind в plugins/.
  3. Перезапуск. ViaBackwards автоматически перекодирует пакеты 1.21 для клиентов 1.16+. ViaRewind дополнит 1.7-1.8.

После рестарта игроки с 1.8.9 смогут зайти. Что они увидят:

  • Блоки - все блоки 1.9+ будут заменены на похожие или show as bedrock (если нет аналога).
  • Мобы - новые мобы (warden, allay, frog) отображаются как пиглин/swine/none.
  • Эффекты - новые эффекты заменяются на старые аналоги.
  • PvP - 1.8-клиент использует 1.8-механику (no cooldown), но сервер применяет 1.21-механику. Конфликт - urgent для PvP-серверов, решается отдельным плагином OldCombatMechanics.

OldCombatMechanics для PvP 1.8 на современном сервере

Плагин OldCombatMechanics (gjum/OldCombatMechanics на GitHub) добавляет 1.8-механику боя на сервере 1.9+. Это критично для PvP-серверов с кросс-версией, чтобы 1.8-игроки не были в невыгодном положении.

Установка: JAR в plugins/. Настройка в plugins/OldCombatMechanics/config.yml:

modules:
  disable-attack-cooldown:
    enabled: true
  disable-sweep:
    enabled: true
  disable-offhand:
    enabled: true
  fishing-knockback:
    enabled: true
  old-tool-damage:
    enabled: true
  old-armor-strength:
    enabled: true

OldCombatMechanics работает совместно с ViaVersion - игроки 1.8 получают свою механику, игроки 1.9+ - современную.

Конфликты с античитом и решение

Античит видит несогласованности между версиями клиента и сервера: хитбоксы 1.8 (выше пикселя) и 1.9+ (другая), таймеры атак, скорости разворота. Без compatibility - false positives на честных 1.8-игроках.

Решение - включить ViaVersion compatibility в каждом античите:

Vulcan:

compatibility:
  viaversion: true

Grim AC:

client-versions:
  enabled: true
  legacy-combat-bypass: true

Matrix v6:

compatibility:
  viaversion: true
  legacy-clients: true

Без этих настроек 1.8-игроки на 1.21-сервере с античитом будут забанены за “Reach” и “KillAura” в первые минуты.

Команды ViaVersion

КомандаДействие
/viaversion listСписок онлайн-игроков с версиями их клиентов
/viaversion playerversion <ник>Версия клиента конкретного игрока
/viaversion reloadПерезагрузить config.yml
/viaversion dumpСгенерировать diagnostic dump для отчёта о баге
/viaversion debugВключить debug-режим (логи в logs/latest.log)
/viaversion autoteamПереключение автоматических команд для 1.8 vs 1.9+

Пермишены LuckPerms:

/lp group admin permission set viaversion.admin true
/lp group moderator permission set viaversion.list true

Баги кросс-версий и обходы

ViaVersion - не магия: перекодировка имеет ограничения. Известные баги на 2026:

1.8 клиент на 1.21 сервере не видит новые блоки. Деревянная дверь 1.21 для 1.8 - просто дверь. Это нормально - 1.8 не знает о новых типах. Игроки 1.8 не смогут крафтить новые блоки.

Particles из 1.13+ выглядят странно на 1.8. Replace или skip - решение в config: particles-1.8: true.

1.8-инвентарь не вмещает 1.9+ предметы (totem, elytra). Отображаются как barrier. Решение нет, природа протокола.

Кит-плагин на сервере 1.21 не работает для 1.8-игроков (item NBT format отличается). Решение - проверить совместимость кит-плагина или использовать EssentialsX Kits с настройкой fallback-items.

Resource Pack не применяется автоматически на 1.8. Включите в config: force-resource-pack: true и resource-pack-prompt: true в server.properties.

Производительность ViaVersion

Замеры на Pterohost (Ryzen 9 5950X, Paper 1.21):

  • 50 онлайн, mixed-клиенты 1.8-1.21: +1.2% CPU.
  • 100 онлайн, mixed: +2.5% CPU.
  • 200 онлайн, mixed: +4.8% CPU.
  • 300 онлайн, mixed: +7.1% CPU.

Если все игроки на одной версии (например, все 1.21) - ViaVersion не выполняет перекодировку и нагрузка близка к 0%. Перекодировка стартует только когда версия клиента != версии сервера.

Для оптимизации больших серверов:

  • Включите disable-1_13-auto-complete: true в config.yml (1.13+ tab-complete нагружает CPU).
  • Используйте Velocity вместо BungeeCord - перекодировка на прокси эффективнее.

Подробнее об оптимизации сервера.

Связанные материалы

После установки ViaVersion настройте совместимый античит и современное ядро сервера (Paper/Purpur/Folia). Файл server.properties определяет базовую версию сервера.

Заключение

ViaVersion + ViaBackwards + ViaRewind на 2026 - стандартный набор плагинов для любого Minecraft-сервера, который хочет принимать игроков с разными версиями. Установка занимает 5 минут, конфигурация по умолчанию работает в 95% случаев. Главные подводные камни: настройка античита через compatibility.viaversion и установка OldCombatMechanics для PvP-серверов с 1.8-аудиторией.

Pterohost - игровой хостинг с DDoS-защитой L4+L7, NVMe SSD и 24/7 поддержкой. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг