Когда у проекта появляется больше одного сервера - например, лобби и выживание, или несколько режимов мини-игр, - встаёт вопрос, как объединить их в одну сеть. Для этого используют прокси-сервер. Самые известные варианты - Velocity и BungeeCord. Разберёмся, что это такое и какой выбрать.
Что такое прокси и зачем он нужен
Прокси - это «узел связи» между игроками и твоей инфраструктурой. Без него у каждого сервера свой адрес, и чтобы перейти из лобби в выживание, игроку пришлось бы выходить из игры и подключаться заново. С прокси у всей сети один адрес, а переходы между серверами происходят прямо в игре, за пару секунд.
Работает это так. Игрок подключается не к игровому серверу, а сначала к прокси. Прокси решает, куда его направить - например, в лобби, - и соединяет с нужным сервером внутри сети. Дальше прокси всё время стоит посередине: принимает данные от игрока, передаёт их серверу и обратно. Когда игрок выбирает другой режим, прокси просто переключает его на другой сервер, не разрывая подключение к сети.
Где используется прокси
Прокси нужен там, где серверов больше одного. Это проекты с несколькими режимами, где каждый режим вынесен на свой сервер. Это проекты с большим онлайном, где один сервер уже не справляется, и нагрузку делят на несколько. И это гибкие сети, где режимы добавляют и убирают, не трогая остальное.
Если у тебя один сервер с одним режимом, прокси не нужен - он только добавит сложности.
BungeeCord
BungeeCord - самый старый и самый известный прокси. Именно на нём выросло большинство сетей прошлых лет, поэтому под него написано огромное количество плагинов, а в интернете полно инструкций.
Его главный плюс - привычность и совместимость со старыми плагинами. Если ты переносишь существующую сеть или используешь плагины, которые есть только под BungeeCord, это весомый аргумент. Минус в том, что архитектура у него устаревшая: он медленнее развивается, а многие современные возможности в нём реализованы хуже или не реализованы вовсе.
Velocity
Velocity - современный прокси, который создавался с упором на производительность и безопасность. Его выбирают для новых сетей, и сегодня его рекомендуют большинство разработчиков ядер.
Главные плюсы Velocity - меньшая задержка при переходах между серверами и более надёжная защита. В частности, у него есть современный способ безопасно передавать данные игрока на игровые сервера, который мешает злоумышленникам заходить под чужим ником. Под Velocity уже есть плагины для всех основных задач: права, чат между серверами, балансировка игроков.
Минус - настройка может показаться чуть сложнее для новичка, а часть старых плагинов под BungeeCord на нём не заработает без замены.
Что выбрать
Если ты начинаешь новую сеть с нуля, разумнее сразу выбрать Velocity: это современный и активно развивающийся проект, и тебе не придётся переезжать в будущем. Если у тебя небольшой проект на старых плагинах, которые есть только под BungeeCord, можно остаться на нём, но стоит заранее присматривать замену этим плагинам.
Какой бы прокси ты ни выбрал, есть общее обязательное правило безопасности: игровые сервера не должны быть доступны напрямую из интернета. Если до них можно достучаться в обход прокси, злоумышленник сможет зайти под любым ником, включая администратора. Закрой их фаерволом и пускай подключения только с адреса прокси.
Как перейти с BungeeCord на Velocity
Если у тебя уже работает сеть на BungeeCord, переезд не обязан быть болезненным. Сначала составь список всех плагинов на прокси и проверь, есть ли у каждого версия под Velocity или достойная замена. Чаще всего проблемы возникают с небольшими самописными плагинами, а крупные решения - права, чат между серверами, балансировка - давно поддерживают оба прокси.
Дальше переезд лучше отрепетировать на тестовой копии сети. Поднимаешь Velocity рядом со старым прокси, подключаешь к нему копии игровых серверов и проверяешь вход, переходы между режимами, чат и права. Отдельное внимание - способ передачи данных игрока на игровые сервера: у Velocity он настраивается иначе, и если его не включить на каждом сервере, игроки просто не смогут зайти.
Когда всё проверено, переключение основной сети занимает немного времени: меняешь прокси, включаешь новый способ передачи данных на серверах и проверяешь вход. Лучше делать это в часы с минимальным онлайном и заранее предупредить игроков о коротком перерыве.
Частые ошибки в сетях
Самая опасная - оставить игровые сервера доступными напрямую. Мы уже говорили об этом выше, но повторим: это главная дыра в безопасности сетей. Вторая ошибка - держать прокси и игровые сервера в разных дата-центрах. Каждый переход и каждое действие игрока проходят через прокси, и лишние миллисекунды между машинами превращаются в заметный пинг.
Третья - отсутствие запасного плана. Если прокси упадёт, упадёт вся сеть. Поэтому за прокси нужно следить так же внимательно, как за самими серверами: мониторинг доступности, бэкап конфигов, быстрый перезапуск.
Нужна ли вообще сеть
Перед тем как строить сеть, честно ответь себе, зачем она. Если у тебя один режим и онлайн до сотни человек, один сервер справится, и прокси добавит лишь сложность. Сеть оправдана, когда режимов несколько или когда один сервер упирается в производительность. Начинать с сети «на вырост» стоит только если ты уверен, что второй режим появится в ближайшее время.
Наш взгляд
Прокси - фундамент любой сети, и выбирать его стоит один раз и надолго. Для новых проектов мы в LumeX советуем Velocity: он быстрее, безопаснее и развивается. А если нужна помощь с настройкой сети - пиши, разберём вместе.
На каком прокси работает твоя сеть и почему выбрал именно его?



