НОВОЕ 📢 Ограниченное стартовое предложение: скидка до 70% на первый месяц для любой игры!Посмотреть тарифы

Как построить сеть Minecraft с Velocity или BungeeCord

MinecraftUpdated Oct 23, 20268 min read

Прокси позволяет игрокам заходить по одному адресу и переходить между несколькими серверами Minecraft, например между лобби, миром выживания и сервером с мини-играми. У самого прокси нет мира. Игроки подключаются к нему, а он передаёт их серверам за ним, которые называются бэкенд-серверами.

На PlayNHost каждый бэкенд-сервер и прокси это отдельные серверы, у каждого свой тариф и свой адрес. Экземпляры их не заменят, потому что одновременно работает только один экземпляр сервера. См. Как использовать экземпляры для переключения между мирами на одном сервере.

Какой прокси выбрать

ПроксиПримечания
VelocityСовременный прокси от PaperMC. Выбирайте его для любой новой сети.
BungeeCordОригинальный прокси, который сохранён для старых сетей.
WaterfallОтветвление BungeeCord. PaperMC больше его не развивает и рекомендует Velocity для новых сетей.

В этом руководстве используется Velocity с серверами Paper за ним. О BungeeCord и Waterfall сказано в конце. Все три доступны как типы серверов в группе Прокси в окне Изменить тип сервера. См. Типы серверов Minecraft.

Прежде чем начать

  • Закажите или настройте сервер прокси и не меньше двух бэкенд-серверов. Разместите их в одной локации, чтобы игрокам не приходилось ждать из-за долгих переходов между ними. См. Где работает ваш сервер и как устроена локация.
  • Бэкенд-серверы должны работать на Paper или его форке, например Purpur. Безопасная пересылка Velocity настраивается в настройках Paper.
  • Игроки получают только Адрес сервера прокси. Адреса бэкенд-серверов держите при себе.

Главная слабость такой схемы. У каждого сервера PlayNHost свой адрес, поэтому игрок, узнавший адрес бэкенд-сервера, мог бы попытаться зайти на него напрямую в обход прокси. От прямого входа защищает безопасная пересылка с секретом, поэтому держите секрет в тайне и никогда не публикуйте адрес бэкенд-сервера. См. первый пункт в разделе «Что сбивает с толку» ниже.

  • Версия каждого бэкенд-сервера должна подходить и прокси, и вашим игрокам. Игроки заходят на прокси, поэтому версия их игры должна совпадать с той, которую принимают бэкенд-серверы.

Шаг 1: запустите прокси и скопируйте его секрет

  1. Настройте сервер типа Velocity. Выбирать версию не нужно. Запустите его один раз, затем остановите. Он создаст файл настроек velocity.toml и файл секрета forwarding.secret.
  2. Откройте Files на прокси и откройте forwarding.secret. Скопируйте текст из него. Это пароль вашей сети. Не делитесь им, не публикуйте его в тикете и не передавайте никому бэкап.

Шаг 2: настройте каждый бэкенд-сервер

Сделайте это на каждом сервере Paper, который будет стоять за прокси.

  1. Запустите сервер один раз, чтобы появились файлы настроек, затем остановите его.
  2. Откройте Настройки, затем Server Properties (Java). Выключите Онлайн-режим и нажмите Только сохранить. Документация Velocity требует этого на каждом бэкенд-сервере, потому что проверку входа выполняет прокси.
  3. Откройте Настройки, затем Paper's Global Settings. Эта страница есть в Paper 1.19 и новее. В более старых версиях Paper эти настройки лежат в другом файле (paper.yml), и такой страницы нет, поэтому сначала обновите их или создайте тикет. С помощью строки поиска найдите три настройки в разделе proxies.velocity, измените их и нажмите Только сохранить:

    • enabled: включите.
    • online-mode: значение должно совпадать с online-mode в файле velocity.toml прокси. Он включён, если вы его не меняли.
    • secret: вставьте текст, который вы скопировали из forwarding.secret.
  4. Запустите сервер.

Выключать Онлайн-режим безопасно только за прокси, который надёжно пересылает игроков, а эти шаги именно так его и настраивают. Бэкенд-сервер с выключенным онлайн-режимом и без пересылки пускает кого угодно под любым именем, в том числе под вашим. См. Как зайти на сервер Minecraft.

Шаг 3: сообщите прокси о бэкенд-серверах

  1. На прокси откройте Настройки, затем Velocity Settings. Задайте для player-info-forwarding-mode значение MODERN. Нажмите Только сохранить.
  2. В разделе servers файла velocity.toml задайте каждому бэкенд-серверу имя и его адрес в виде host:port. Velocity подключается к нему напрямую, поэтому игрокам вводить его не нужно. Начните с Адреса сервера, который показан на странице Обзор этого бэкенд-сервера. Мы не можем обещать, что прокси всегда сможет достучаться до бэкенд-сервера по этому адресу, потому что панель описывает эту запись как внутренний адрес, а не тот, которым пользуются игроки. Если прокси не может связаться с бэкенд-сервером (игроков возвращают назад или кикают, а в Console прокси видна ошибка соединения), создайте тикет, в поле Какой сервер? выберите прокси, назовите бэкенд-сервер в сообщении и спросите, какой адрес должен использовать прокси.
  3. В том же разделе try содержит имена серверов, на которые игроки попадают первыми, по порядку. Если первый недоступен, Velocity использует следующий. Поставьте лобби первым.
  4. Запустите прокси.

Страница настроек редактирует только записи, которые уже есть в файле. Чтобы добавить новый бэкенд-сервер, остановите прокси, откройте velocity.toml в Files, добавьте строку в раздел servers, сохраните и снова запустите прокси.

Зайдите и проверьте

  1. Запустите все бэкенд-серверы и дождитесь статуса Онлайн.
  2. Запустите прокси.
  3. В Minecraft Java Edition зайдите по Адресу сервера прокси. Вы должны попасть на первый сервер из списка try.
  4. В игре введите /server и имя другого бэкенд-сервера, чтобы перейти на него. В Velocity работает имя из раздела servers.
  5. Если игрок отображается с неверным ником, другим UUID или без скина, пересылка не работает. Убедитесь, что на прокси и на каждом бэкенд-сервере один и тот же секрет и что player-info-forwarding-mode равен MODERN.

О том, как читать Console прокси и что показывают её фильтры, см. Как пользоваться консолью и выполнять команды.

Что сбивает с толку

  • Бэкенд-серверы доступны по своему адресу. Игроки, которые знают адрес бэкенд-сервера, могут попытаться зайти на него напрямую. В собственном руководстве по безопасности Velocity сказано, что брандмауэр это первый выбор, а современная пересылка его не заменяет. При современной пересылке и настроенном секрете бэкенд-сервер не принимает игроков, если в данных нет секрета. Держите секрет в тайне и не публикуйте адреса бэкенд-серверов. Если нужен более строгий доступ, создайте тикет и спросите, что возможно.
  • Неверный секрет. Бэкенд-сервер с другим секретом отклоняет соединение, и игрока возвращают на первый сервер или кикают. Скопируйте секрет заново.
  • Лимиты игроков. Число игроков, которое показывает прокси, это просто число. Каждый бэкенд-сервер по-прежнему ограничивает слоты для игроков по своему тарифу. См. Как переименовать сервер и изменить число слотов для игроков.
  • Вайтлист, операторы и баны хранятся на каждом бэкенд-сервере. Задайте их на каждом бэкенд-сервере или используйте плагин прав, который работает на всю сеть. См. Как настроить вайтлист и банить игроков на сервере Minecraft.
  • Плагины на прокси отличаются от плагинов на Paper. В разделе Моддинг, затем Плагины прокси показывает только плагины для прокси. См. Как установить плагины на Paper, Spigot и Purpur.
  • Бэкенд-серверы с модами требуют дополнительных шагов, которые зависят от загрузчика модов. Создайте тикет, если хотите попробовать такой вариант.
  • Игроки Bedrock могут заходить через Geyser на прокси. См. Как разрешить игрокам Bedrock заходить на ваш сервер Java через Geyser.

BungeeCord и Waterfall

Настройка в целом такая же, только с другими параметрами.

  1. Запустите прокси один раз. Его настройки находятся в разделе Настройки, затем Proxy Settings, это файл config.yml.
  2. Добавьте бэкенд-серверы в записи servers в виде host:port и перечислите их в priorities в разделе listeners. Вопрос об адресе из шага 3 актуален и здесь. Включите ip_forward, чтобы игроки сохраняли свою настоящую личность.
  3. На каждом бэкенд-сервере выключите Онлайн-режим, а в разделе Настройки, Spigot Settings включите bungeecord в разделе settings. Панель описывает эту настройку как безопасную, только если до сервера нельзя достучаться напрямую. Поскольку у каждого сервера PlayNHost свой адрес, пересылка BungeeCord защищает намного слабее, чем пересылка Velocity, и это веская причина выбрать Velocity для новой сети.

Если не можете решить, выбирайте Velocity.

См. также

Ваш сервер уже у другого хостинга? Перенесите его к нам

СОЗДАЙТЕ СВОЙ ИГРОВОЙ СЕРВЕР
ГОТОВЫ НАЧАТЬ?

Сэкономьте до 30% на вашем новом игровом сервере.
Премиальная производительность, мгновенная активация и непревзойдённая надёжность по лучшей цене.

ПОСЛЕДНИЕ БЛОГИ