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


📖 Введение

В этом разделе ознакомимся с терминами и общими положениями текущего состояния прокси-ядер. На момент написания статьи рассматривать стоит только одно ядро - Velocity от PaperMC, так как все остальные ядра основаны на архаичном BungeeCord. Рассмотрим установку этого ядра.

📦 Установка Velocity

  1. Скачайте самую новую версию ядра с официального сайта PaperMC.
  2. Загрузите скачанный файл ядра на ваш сервер.
  3. Переименуйте загруженный файл в server.jar, предварительно удалив существующий файл с таким же названием при его наличии.
    1. Переименование файла ядра 1|350
    2. Переименование файла ядра 2|500
  4. Запустите сервер.
  5. Откройте файл velocity.toml, найдите параметр bind и введите 0.0.0.0:<порт>, как на скриншоте.
  6. Перезапустите сервер. Теперь всё работает.

🔗 Добавление серверов

  1. Откройте файл velocity.toml и найдите категорию servers.
  2. Удалите все существующие сервера. Должно получиться так:
[servers]
# Configure your servers here. Each key represents the servers name, and the value
# represents the IP address of the server to connect to. 
 
# In what order we should try servers when a player logs in or is kicked from a server.
try = []
 
[forced-hosts]
# Configure your forced hosts here.
  1. Теперь добавим сервера. Они задаются по следующему шаблону: <ID названия> = "<адрес сервера>". Например:
lobby1 = "ariel.minerent.net:25588"
surv1 = "io.minerent.net:28645"
  1. Теперь задайте порядок попыток подключения. Например, такая настройка сначала попробует подключить игрока к серверу lobby1, а затем к серверу surv1:
try = ["lobby1", "surv1"]
  1. Сохраните изменения и перезапустите сервер.

📲 Переадресация информации об игроке

Это необязательно, но лучше настроить. Это позволит запретить прямой вход на целевой сервер, если версия выше 1.13 и даст некоторым плагинам возможность работать лучше.

📈 1.13 и выше

  1. Откройте файл velocity.toml, найдите параметр player-info-forwarding-mode и задайте ему значение MODERN.

  2. Откройте файл forwarding.secret и скопируйте всё его содержимое.

  3. Переходим на целевой сервер. Предполагается, что вы используете ядро Paper. Для остальных ядер смотрите официальное руководство.

  4. Откройте файл paper-global.yml из папки config и найдите раздел proxies > velocity.

  5. Задайте значения параметров:

    КлючЗначение
    enabledtrue
    secretСодержимое файла forwarding.secret
    online-modeТо же, что и в velocity.toml
  6. Сохраните изменения и перезагрузите оба сервера.

📉 Ниже 1.13

  1. Откройте файл velocity.toml, найдите параметр player-info-forwarding-mode и задайте ему значение BUNGEEGUARD.
  2. Откройте файл forwarding.secret и скопируйте всё его содержимое.
  3. Переходим на целевой сервер.
  4. Откройте файл spigot.yml, найдите параметр bungeecord и задайте ему значение true.
  5. Установите плагин BungeeGuard.
  6. Откройте файл настроек BungeeGuard (обычно plugins/BungeeGuard/config.yml), найдите параметр allowed-tokens и внесите новое значение. Например:
allowed-tokens:  
- "WjfdKF94OI"
  1. Перезагрузите оба сервера.