March 19

Как создать связку серверов

На данный момент, иметь связку серверов очень даже и актуально. Именно с помощью неё вы можете не только распределять потоки игроков, но и защитить свои сервера от ботов и лишней нагрузки.

Что нам нужно знать перед началом работы?

Перед началом, Вам необходимо ознакомиться с таким ядром, как Velocity. Именно с помощью него мы сделаем быструю, корректную и простую логику, которая поможет Вам связать несколько серверов, как одно целое.

Необходимая информация:

Для работы с ядром нам потребуется минимум Java 11 (Версия 1.13)

В данном блоге, мы будем использовать актуальную версию 1.16.5

Нам потребуется минимум 2 сервера.

Скачать ядро: https://papermc.io/downloads/all (В списке слева находите Velocity. Для 1.16.5 потребуется скачать версию 3.1.1, #102)

Начало работы

После установки ядра загрузите его во вкладку "Файлы" и переименуйте в server.jar. После чего, зайдите во вкладку "Запуск", и выберите Java 16.

Вы увидите несколько файлов, но мы будем работать только с одним (как показано на прикрепленном скриншоте).

Первые параметры файла velocity.toml

В первых нескольких строках файла, есть несколько важных настроек.

  1. Bind: Это настройка порта, на котором будет запущен Ваш прокси-сервер. Порт нужно вставить тот, который находится у вас в IP-адресе сервера. Например, ваш IP сервера d1.aurorix.net:12345, а в параметре Bind он может быть написан, как 0.0.0.0:67890. Вам нужно изменить только 67890 на 12345 (он должен выглядеть после этого 0.0.0.0:12345). Если у вас другие порты, Вы меняете их аналогично примеру.
  2. Motd: сообщение, которое будет отображаться в списке серверов. Вы можете его изменить на своё.
  3. Show-max-players: какое максимальное количество игроков будет показывать сервер.
  4. Online-mode: лицензия на сервере. Лучше использовать параметр false, дабы игроки могли зайти с "пиратских" лаунчеров.

Связка серверов с помощью секретного ключа

Прокрутив список ниже, вы можете найти несколько важных параметров, которые необходимо настроить. ВСЁ, ЧТО НЕ УКАЗАНО В СПИCКЕ, НАСТРАИВАТЬ НЕ ОБЯЗАТЕЛЬНО!

  1. Player-info-forwarding-mode: если Вы создали сервер на версиях 1.13+, то используйте режим="modern". (Если Вы делаете всё, как я - используйте его).
    Если же вы создали сервер на версиях 1.12 - вам рекомендуется использовать режим = "bungeeguard". Для этого потребуется установить плагин BungeeGuard на ваш 2 сервер.
    После установить в файле spigot.yml строку bungeecord=true
    И в config.yml плагина BungeeGuard указать ключ из файла forwarding-secret
    Дальше можете следовать инструкции "Перенаправление игроков на сервера".
  2. Forwarding-secret: это секретный ключ для связки ваших серверов. Если он не написан в velocity.toml, значит, он будет в файле forwarding-secret. Не рекомендую его показывать сторонним лицам, иначе ваши сервера могут быть отключены от связки. Чтобы его использовать, зайдите в панель вашего второго сервера и установите ядро Paper на версии 1.16.5 (Java 16). После чего, найдите файл paper.yml, и настройте, как на скриншотах ниже.
Как видно, я взял секретный ключ в файле velocity.toml, ПЕРВЫЙ СКРИНШОТ (на сервере с ядром Velocity), после чего зашел в файл paper.yml, нашёл параметр velocity-support и вставил в него секретный ключ, ВТОРОЙ СКРИНШОТ (на сервере с ядром Paper).

Перенаправление игроков на сервера

Итак, это последняя настройка для нашей связки серверов. Здесь нет ничего сложного, как и в примерах до этого.

  1. [servers]: здесь вам предстоит написать все Ваши названия и айпи серверов, чтобы сервер знал, куда нужно направить игрока. Например, у вас есть параметр lobby. Вместо примера IP-адреса вы просто вводите айпи вашего сервера lobby. Так делаете с factions и minigames. Если у вас нет так много серверов, вы удаляете ненужное название и IP, или меняете его на то, которое хотите. Если у вас больше серверов, чем написано в конфиге, просто копируете пример и пишите его снизу под всеми, меняя на нужные параметры.
  2. [try]: настройка сервера, на которое будет изначально переадресован игрок. Вы можете заменить lobby на любое другое название из списка [servers].
  3. [forced-hosts]: это не совсем важная настройка и вы можете просто удалить её. Если не хотите, то измените первое название сервера на то, которое есть у вас в списке [servers]. Так же, не забудьте поставить это название в квадратных скобках за ссылкой.

ВАЖНО!!! ВЫ ДОЛЖНЫ СДЕЛАТЬ ВСЕ СЕРВЕРА ПО ИНСТРУКЦИИ, как Forwarding-secret!!!

Готово! В случае, если у вас все равно остались какие-то вопросы, то вы можете создать тикет в нашем Discord-сервере и вам обязательно помогут.