Сервер Minecraft пускает только клиентов своей версии. ViaVersion переводит протокол на лету и пускает клиентов новее сервера. Чтобы заходили клиенты старее сервера, рядом ставят ViaBackwards, для 1.7.x–1.8.x — ещё и ViaRewind. Все три — плагины одной команды разработчиков, ставятся в plugins/ и работают без настройки.
Какой плагин нужен
| Игроки заходят с… | Что поставить |
|---|---|
| Версий новее сервера | ViaVersion |
| Версий старее сервера, вплоть до 1.9 | ViaVersion + ViaBackwards |
| 1.7.x–1.8.x | ViaVersion + ViaBackwards + ViaRewind |
Пример: сервер на 1.21.11. Чтобы заходили игроки с 26.x, хватит ViaVersion. Чтобы пускать ещё и клиентов 1.21.4, нужен ViaBackwards. Не уверены, что ставить, — у разработчиков есть подборщик: выбираете версию сервера и клиентов, он называет плагины.
Установка
- 1
Скачайте с Hangar
Официальные релизы плагинов — на Hangar: ViaVersion, ViaBackwards, ViaRewind. Dev-сборки лежат на Jenkins разработчиков, но для боевого сервера берите релизы.
- 2
Положите в plugins/ и перезапустите
Именно перезапуск: разработчики прямо пишут, что перезагрузка через
/reloadхуже, а с менеджерами плагинов Via корректно работать не будет. Подробно — как установить плагин. - 3
Проверьте лог и игроков
Прочитайте лог запуска на ошибки.
/viaversion listпокажет, кто из игроков с какой версии зашёл. Права на команды —viaversion.admin.
Нужна Java 17 или новее; разработчики предупреждают, что позже потребуется Java 21. Для Paper это не проблема: 1.21.x и так требует Java 21, а 26.x — Java 25.
На сервер или на прокси
В сети с прокси Via ставят либо на прокси, либо на серверы за ним — не туда и туда сразу. Базовый ViaVersion работает на Paper и Velocity; для BungeeCord у разработчиков отдельный проект ViaBungee.
Выбор не нейтральный. Документация ViaVersion предупреждает: если поставить его на прокси, античиты могут работать хуже, потому что перевод протокола происходит на другом уровне. Поэтому на сети с античитом ставьте Via на каждый игровой сервер — туда же, где стоит античит. Как устроена сеть — в статьях Velocity или BungeeCord и настройка Velocity.
Что переводится не идеально
- Новые блоки на старом сервере. Игрок с новым клиентом не сможет ставить блоки, которых нет в версии сервера, — разработчики прямо пишут, что это не задача ViaVersion.
- Старый клиент на новом сервере. Старый клиент не знает новых блоков, предметов и мобов, поэтому ViaBackwards показывает ему замену. Часть контента такой игрок видит иначе, чем остальные.
- Задержка после релиза Minecraft. ViaVersion выходит через несколько дней после обновления игры, если изменения протокола не тривиальные. Ранний доступ есть у спонсоров проекта. Обновляете сервер — сверьтесь, вышла ли нужная версия Via.
- Ограничитель пакетов. Во ViaVersion встроен лимит пакетов против эксплойтов; изредка он срабатывает на честных игроках — как его настроить, описано в документации.
- Плагины, завязанные на версию. Если плагин отправляет клиенту что-то, чего нет в его версии, результат зависит от перевода. Проверяйте важные механики со старого и нового клиента.
Полезные команды
| Команда | Что делает |
|---|---|
/viaversion list | Список игроков по версиям клиента |
/viaversion player <ник> | Подробности о подключении игрока |
/viaversion pps | Сколько пакетов в секунду шлёт каждый игрок |
/viaversion dump | Ссылка с данными о сервере для поддержки Via |
/viaversion dontbugme | Выключить напоминания об обновлениях |
/viaversion reload | Перечитать конфиг (часть настроек — только после перезапуска) |
Переход сервера на новую версию
Via часто используют как мост на время переезда: сервер ещё на старой версии, а игроки уже обновили клиент. Чтобы переезд прошёл без сюрпризов, проверьте по порядку:
- 1Вышла ли сборка ядра под новую версию — Paper или Leaf.
- 2Вышли ли релизы ViaVersion и ViaBackwards с её поддержкой.
- 3Поддерживают ли её ваши плагины — особенно те, что работают с пакетами.
- 4Есть ли новая версия в списке поддерживаемых у античита: для DGuard — страница версии Minecraft; и стоит ли последний релиз PacketEvents.
- 5Сделан ли бэкап мира и плагинов перед обновлением.
ViaVersion и античит DGuard
DGuard работает на Paper и Leaf версий 1.21–26.3; основная — 1.21.11: на ней DGuard тестируется и стоит на боевых серверах, остальные поддерживаются, но на боевых серверах ещё не проверялись. Игроки с клиентов 1.21–26.x, зашедшие через ViaVersion, проверяются одинаково — так же, как игроки с родной версией сервера.
Ставьте Via на тот же игровой сервер, что и DGuard: это следует и из документации ViaVersion. На сети с BungeeCord или Velocity DGuard тоже ставится на каждый игровой сервер, у каждого свой ключ. Если пускаете клиентов старше 1.21 через ViaBackwards или ViaRewind, уточните в поддержке, как DGuard работает с ними: заявлены клиенты 1.21–26.x. Таблица версий — на странице версии Minecraft.
Частые вопросы
Как зайти на сервер Minecraft со старой версии?
Владелец сервера должен поставить ViaVersion и ViaBackwards (для 1.7–1.8 — ещё ViaRewind). Сам игрок ничего ставить не должен.
Нужно ли ставить ViaVersion и на прокси, и на серверы?
Нет, только в одно место: либо на прокси, либо на серверы за ним. С античитом лучше на игровые серверы — на прокси античиты могут работать хуже.
Почему после обновления Minecraft ViaVersion не пускает новую версию?
Поддержка новой версии выходит через несколько дней после релиза игры. Обновите ViaVersion, когда появится релиз с её поддержкой.
Видят ли игроки со старых версий новые блоки?
Нет, старый клиент их не знает, и ViaBackwards показывает ему замену. Игрок с новым клиентом на старом сервере, наоборот, не сможет ставить блоки, которых нет на сервере.
Нужен ли ViaVersion, если сервер на самой новой версии?
Да, если хотите пускать игроков со старых клиентов: ViaBackwards работает только вместе с ViaVersion. Если все играют на версии сервера, Via не нужен.
Работает ли античит с игроками через ViaVersion?
DGuard проверяет игроков с клиентов 1.21–26.x, зашедших через ViaVersion, так же, как остальных. Via ставьте на тот же игровой сервер, что и античит.
Источники
- ViaVersion на GitHub (README)
- ViaVersion: установка и частые проблемы
- ViaVersion: требования к Java
- ViaBackwards на GitHub
- ViaRewind на GitHub
- ViaVersion на Hangar
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf