- прокси нового поколения для создания связки серверов. В связи с тем, что BungeeCord устарел как морально, так и физически, появилось ядро Velocity, которое изначально являлось прокси для серверов на базе ядра Paper. Главным преимуществом над BungeeCord является наличие более тонкой конфигурации. Например, вы можете более точно настроить метод передачи данных между серверами или передаваемые данные при пинговании сервера.
. После загрузки в вашей папке с загрузками должен появиться файл с названием
. Вы должны переместить его на свой прокси сервер через FTP или любой другой удобный для вас метод.
После этого, в зависимости от того, какого типа ваш сервер, вы либо создаёте загрузочный скрипт (если у вас VDS), либо запускаете ядро в панели (если у вас хостинг с панелью). Далее, после запуска сервера, в директории с ядром должны появиться файлы. Самым важным для нас будет файл velocity.toml - основная конфигурация прокси сервера. Если вам нужна помощь в настройке конфигурации, то переходите к этапу 2.
int Версия конфигурации
Данный пункт трогать нельзя, иначе ядро будет функционировать неправильно.
config-version = "x.x.x"
int IP и порт
0.0.0.0 рекомендую заменить на IP адрес вашего сервера, т.к. автоопределение не всегда срабатывает корректно
25577 замените на тот порт, который собираетесь использовать для своего сервера
bind = "0.0.0.0:25577"
str MOTD
Вы можете сделать описание сервера прямо через конфигурацию прокси, но я рекомендую использовать для этого другой плагин
motd = "*"
int Отображаемые слоты
В этой строке вы можете указать отображаемое количество макс. слотов. Фактического ограничения по онлайну в Velocity
не существует! Вы можете ограничить слоты в конфигурациях backend серверов (серверов, к которым Velocity будет подключать ваших игроков)
show-max-players = 111
bool Online mode
Как и на обычных серверах вы можете разрешить игрокам без лицензии заходить на ваш сервер, указав значение false.
online-mode = true
bool Новый стандарт безопасности для online mode
Используйте только в том случае, если
online-mode у вас
trueforce-key-authentication = true
bool Запрет на использование прокси на стороне клиента
Не совсем доделанная функция
prevent-client-proxy-connections = false
str Метод передачи данных
Пожалуй, самое важное поле в конфигурации, так как от него зависит метод работы самого прокси сервера.
Рассмотрим все три метода:
1.legacy - никакой защиты, стандартный метод передачи данных из Bungee.
Для 1.12.2 и ниже.
2.bungeeguard - тот-же legacy, но требует установки BungeeGuard на backend сервер. После установки плагина задайте ключ в файле из секции forwarding-secret-file и введите этот же ключ в конфигурации BungeeGuard.
Для 1.12.2 и ниже.
3.modern - самый лучший и безопасный метод, использует специальный ключ, который вы задаёте в специальном файле. Не требует установки доп. плагинов для своей работы. Ключ задаётся в файле
forwarding.secret.
Для 1.13 и выше.
player-info-forwarding-mode = "NONE"
str Файл с ключом
В этой строке можно задать название файла с ключом для BungeeGuard и modern методов
forwarding-secret-file = "forwarding.secret"
bool Поддержка forge
Установите на true для корректного отображения на клиентах с forge
announce-forge = false
bool Стандартное окружение
Если игрок будет кикнут с сервера, то вместо сообщений Velocity будут отображаться сообщения ядра backend сервера
kick-existing-players = false
str Метод передачи данных при пинговании
По факту, вам эта функция может понадобиться только в том случае, если на backend серверах есть моды. Всего есть три метода: mods, description и all. Если вы будете ставить моды на сервера, то используйте метод description, если же нет, то оставляйте disabled
ping-passthrough = "DISABLED"
bool Логирование IP адресов
Здесь вы можете указать должно ли ядро логировать IP адреса игроков, которые входят в игру
enable-player-address-logging = true
В этой секции вы добавляете свои сервера и выстраиваете порядок. Они вписываются в формате названиесервера = ''айпи:порт''.
Например:
[servers]
lobby = "127.0.0.1:25566"
survival = "127.0.0.1:30014"
Теперь вы должны указать, на какой сервер прокси должен вас подключать изначально (обычно это лобби)
try = [
"lobby"
]
Так же вы можете настроить вход на определённый сервер по определённому домену, вот пример:
"lobby.example.com" = [
"lobby"
]
Пожалуй, одна из самых важных секций, т.к. от правильности её настройки зависит производительность всего вашего проекта.
int Сжатие пакетов
ВАЖНО На backend серверах вы должны заменить это значение на -1
compression-threshold = 256
int Степень сжатия
Оставьте -1 и система подберёт наилучшее значение
compression-level = -1
int Задержка перед подключением
Через сколько милисекунд клиент сможет снова зайти на сервер после выхода
login-ratelimit = 3000
int Таймаут при подключении
Не рекомендую редактировать
connection-timeout = 5000
int Таймаут при чтении
Не рекомендую редактировать
read-timeout = 30000
bool HAProxy
Если вы не умеете это использовать, то оставляйте false
haproxy-protocol = false
bool Быстрое TCP
Ставьте true только в том случае, если прокси запущен на ос Linux
tcp-fast-open = false
bool Bungee стандарт сообщений от плагина
Не рекомендую редактировать
bungee-plugin-message-channel = true
bool Отображение пингов от клиентов
Должно ли ядро оповещать вас об пинговании сервера со стороны клиентов
show-ping-requests = false
Настройка backend серверов будет напрямую зависеть от выбранного вами метода передачи данных. В случае, если вы используете legacy метод, вы должны настроить сервер как будто настраиваете его для bungeecord. Если вы выбрали BungeeGuard, то вам нужно помимо базовой настройки создать ключ для вашей связки и ввести его в конфигурации BungeeGuard на backend серверах и в файле с ключом на прокси. Если же вы используете метод modern, это означает что ваши backend сервера выше версии 1.13 и их ядра это форки PaperMC или же сам PaperMC. Вам необходимо активировать поддержку velocity в конфигурации paper.yml или же в paper-global.yml если у вас очень новая версия ядра.
proxies:
proxy-protocol: false
bungee-cord:
online-mode: true
velocity:
enabled: false # меняем на true
online-mode: false
secret: "" # вводим сюда ключ из forwarding.secret
Там же вы должны указать ключ из forwarding.secret. После выполнения конфигурации запустите всю связку и протестируйте работоспособность.
Надеюсь, что мой полугайд-полусоветник дал вам базовое понимание о том, нужен ли вам вообще velocity и как его более-менее правильно настроить. Спасибо за прочтение этой новости!