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 |
| ViaLegacy | Beta 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).
Шаги:
- Сервер Paper 1.21.4.
- ViaVersion + ViaBackwards + ViaRewind в plugins/.
- Перезапуск. 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 хостинг