ViaVersion: как пустить на сервер игроков с других версий

ViaVersion пускает на сервер игроков с клиентами новее версии сервера. ViaBackwards и ViaRewind делают обратное: пускают более старые клиенты, вплоть до 1.7. Все три бесплатные, ставятся как обычные плагины на Paper или на прокси Velocity.

Какой плагин за что отвечает

ПлагинЧто даётТребует
ViaVersionклиенты новее сервераничего
ViaBackwardsклиенты старше сервера, 1.9 и новее; сервер 1.10 и вышеViaVersion
ViaRewindклиенты 1.7 и 1.8; сервер 1.9 и вышеViaVersion и ViaBackwards

Примеры:

  • Сервер 1.16.5, игроки заходят с 1.21: нужен только ViaVersion.
  • Сервер 1.21, игроки заходят с 1.16.5: ViaVersion и ViaBackwards.
  • Сервер 1.21, нужны клиенты 1.8: ViaVersion, ViaBackwards и ViaRewind.

Если сомневаетесь, помощник viaversion.com/setup подскажет набор под вашу версию.

Установка и куда ставить в сети

  1. Скачайте jar с Hangar: ViaVersion, ViaBackwards, ViaRewind. Сборки для разработки лежат на ci.viaversion.com.
  2. Положите в plugins и перезапустите сервер. Менеджеры плагинов и /reload ломают ViaVersion, нужна полная перезагрузка.
  3. Прочитайте лог запуска: ошибки ViaVersion видны сразу.

Нужна Java 17 или новее. Старые серверы вроде 1.8 обычно работают на Java 17, иногда с флагом -DPaper.IgnoreJavaVersion=true. Если не выходит, есть сборки под Java 8 без гарантии поддержки. Разработчики предупреждают, что позже потребуется Java 21.

В сети на Velocity плагины ставят либо на прокси, либо на серверы за ним, не туда и туда. Совместимость лучше на бэкендах. На прокси не видно блокирования мечом на серверах 1.8, античиты работают хуже, а первые минуты Velocity опрашивает версии подсерверов. Сам Velocity должен быть обновлён. Для BungeeCord с версии 5.0.0 нужен отдельный ViaBungee.

ViaVersion как мод: Fabric и Forge

Основной jar работает на Paper и Velocity. Для остальных платформ есть отдельные проекты, моды выложены на Modrinth:

  • ViaFabricPlus: клиентский мод для Fabric и Quilt, позволяет с одного клиента заходить на серверы практически любых версий. Разработчики пишут, что ViaVersion лучше всего работает на Paper или через ViaFabricPlus.
  • ViaForge: клиентская реализация Via для Forge и NeoForge.
  • ViaFabric: Via для Fabric. ViaBackwards и ViaRewind к нему кладут в папку mods.
  • ViaBungee для BungeeCord, ViaSponge для Sponge и отдельный прокси ViaProxy.

Полезные настройки config.yml

Файл лежит в plugins/ViaVersion/config.yml, отступы только пробелами.

block-versions: ["<1.17"]
block-disconnect-msg: "You are using an unsupported Minecraft version!"
max-pps: 800
tracking-period: 6
  • block-versions не пускает указанные версии, поддерживаются операторы < и >. Номерами протоколов то же делает block-protocols.
  • Встроенный ограничитель пакетов кикает за спам. Если игроков выкидывает с «You are sending too many packets!», выставьте max-pps: -1 и tracking-period: -1.
  • Если ViaVersion выглядит в timings как причина лагов на 1.8, отключите nms-player-ticking, но античит может работать хуже.

Частые проблемы

  • Нет цвета ников в табе. Мешает autoteam при плагинах тегов: выполните /viaver autoteam или выключите опцию в конфиге.
  • Кик «Outdated Server». Обновите Velocity, проверьте лог запуска и что ViaVersion действительно загрузился на нужном сервере.
  • Игроки с новой версии не видят новых блоков. Так задумано: ViaVersion даёт совместимость, а не контент новой версии.
  • После /reload кикает игроков. Это защита при ProtocolLib. После обновления Via-плагинов нужен перезапуск.
  • Не работает на Velocity. Подождите, пока пройдёт опрос подсерверов, обновите Velocity и проверьте без других плагинов на прокси.
  • Для поддержки /viaversion dump даёт ссылку с данными, нужен доступ к dump.viaversion.com:443.

Команды и права ViaVersion

КомандаЧто делаетПраво
/viaversionверсия и список командviaversion.admin
/viaversion listигроки онлайн и их версии клиентовviaversion.admin
/viaversion player <ник>подробности подключения игрокаviaversion.admin
/viaversion ppsпакеты в секунду по игрокамviaversion.admin
/viaversion reloadперечитать конфиг, часть опций только после перезапускаviaversion.admin
/viaversion autoteamвключить или выключить autoteamviaversion.admin
/viaversion dontbugmeне показывать уведомления об обновленияхviaversion.admin
/viaversion dumpссылка с данными для поддержкиviaversion.admin
/viaversion probeопросить версии подсерверов, только Velocityviaversion.admin
/viaversion debugрежим отладки, по просьбе поддержкиviaversion.admin
/viaversion displayleaksвключить поиск утечек памяти nettyviaversion.admin

Частые вопросы про ViaVersion

Как зайти с 1.21 на сервер 1.16.5?
Поставьте на сервер ViaVersion: он пускает клиентов новее сервера. Других плагинов для этого не нужно.
Как пустить игроков с 1.16.5 на сервер 1.21?
Нужны ViaVersion и ViaBackwards. Для клиентов 1.7 и 1.8 добавьте ещё ViaRewind.
Где скачать ViaVersion?
Плагины на Hangar в проекте ViaVersion, моды для Fabric и Forge на Modrinth, релизы также на GitHub. Сборки для разработки на ci.viaversion.com.
Есть ли ViaVersion мод?
Да. Для игрока на Fabric есть клиентский ViaFabricPlus, для Forge и NeoForge ViaForge, оба на Modrinth. Основной jar ViaVersion ставится на сервер Paper или прокси Velocity.
Куда ставить ViaVersion в сети Velocity?
Либо на прокси, либо на все серверы за ним, но не туда и туда. Разработчики пишут, что совместимость лучше на бэкендах.
Можно ли вместо /viaversion давать отдельные права?
Общее право на все команды viaversion.admin. В новых версиях можно выдавать viaversion.command.<подкоманда>.

Не хочется настраивать самому

ViaVersion уже стоит и настроен в готовых сборках Cloud Delight: права, меню, защита и донат собраны в одно целое. Скачали, запустили, играете.