Встановлення зв'язки серверів Minecraft через BungeeCord
У багатьох виникає питання: "Як же все-таки створити власну зв'язку серверів?". Давайте розберемося!
Перед початком встановлення сервера рекомендуємо ознайомитися з такими статтями:
- Встановлення сервера Minecraft Java
- Встановлення Screen
- Встановлення Java: Ubuntu / Debian
У цій інструкції наведено приклад встановлення BungeeCord-сервера на версії Minecraft 1.17. Ми покажемо 2 варіанти встановлення - через sFTP або тільки через SSH.
#Встановлення серверів
Після того як усе потрібне програмне забезпечення встановлене, переходимо до завантаження сервера.
#sFTP
Створюємо новий каталог з довільною назвою.

Заходимо до нього.

Далі потрібно завантажити ядро BungeeCord у цю папку (або створити окрему під кожен сервер). Для завантаження останньої версії BungeeCord використаємо офіційний сайт. Після завантаження надсилаємо файл у наш каталог.

Заходимо у папку нашого сервера через SSH.
cd myservers
Створюємо нове вікно Screen командою:
screen -S bungeecordВікно створено.

Тепер запустимо сам сервер. Це можна зробити SH-скриптом або вручну через аргументи Java.
java -Xms512M -Xmx2048M -jar BungeeCord.jar nogui- - мінімальна кількість ОЗП, що виділяється ігровому серверу.
- - максимальна кількість ОЗП, доступна серверу під час роботи.
- - тип файлу, який треба запустити.
- - назва самого ядра ігрового сервера.
- - аргумент, що вимикає графічний інтерфейс, оскільки він нам не потрібен.
Сервер успішно запустився на порту 25577.

Натискаємо , щоб вийти з вікна Screen.
Чудово, створимо нову папку для ігрового сервера, на якому гратимуть користувачі:

Заходимо в нього. Чудово!

Далі завантажуємо останній білд ядра Paper 1.17. Завантажуємо ядро у наш новий каталог:

Готово!

Створимо нове вікно Screen під цей сервер:
screen -S survival
Переходимо у каталог сервера:
cd myservers/survival
Так само використовуємо SH-скрипт або команду для ручного запуску сервера:
java -Xms512M -Xmx2048M -jar paper-1.17-71.jar noguiЯк зазвичай, підтверджуємо eula, вказавши у файлі , і запускаємо сервер знову:

Сервер успішно запущений.

Натискаємо , щоб приховати вікно.
#SSH
Тепер розглянемо варіант установлення серверів повністю через консоль SSH. Створюємо каталог у кореневій папці для наших серверів і переходимо до нього:
mkdir myservers && cd myserversЗавантажуємо ядро BungeeCord.
wget https://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jarГотово.

Створюємо нове вікно Screen для запуску сервера:
screen -S bungeecord
Запускаємо сервер:
java -Xms512M -Xmx2048M -jar BungeeCord.jar noguiСервер запущений.

Виходимо з вікна сполученням клавіш .

Створимо новий каталог для ігрового сервера, на якому зможуть грати користувачі, і переходимо до нього:
mkdir survival && cd survivalЗавантажуємо останній білд ядра Paper 1.17.
wget https://papermc.io/api/v2/projects/paper/versions/1.17/builds/71/downloads/paper-1.17-71.jarЯдро завантажене.

Створюємо ще одне вікно Screen для нового сервера.
screen -S survival
Запускаємо сервер.
java -Xms512M -Xmx2048M -jar paper-1.17-71.jar noguiЯк зазвичай, підтверджуємо eula, вказавши у файлі , і запускаємо сервер ще раз:

Натискаємо , щоб вийти з вікна.

#Підключення серверів
Спочатку розглянемо файл у папці з BungeeCord.

- server_connect_timeout - час, протягом якого гравець має приєднатися до сервера, інакше його буде відключено.
- remote_ping_cache - дозволяє задати час у мілісекундах, протягом якого BungeeCord кешуватиме кількість гравців на сервері. За замовчуванням вимкнено.
- forge_support - відповідає за роботу Forge на серверах BungeeCord.
- player_limit - реальна кількість слотів на BungeeCord-сервері. Стандартне значення -1 - без обмежень.
- permissions - задає стандартні права для різних груп на серверах.
- timeout - як довго сервер BungeeCord може не відповідати, перш ніж усіх гравців буде відключено.
- log_commands - якщо увімкнено, кожна BungeeCord-команда гравця виводиться у консоль.
- network_compression_threshold - налаштовує поріг стиснення мережі, зазвичай змінюється, якщо хостинг розташований далеко від основної аудиторії.
- online_mode - відповідає за можливість підключення через ліцензійну версію гри. Вимкніть, якщо хочете зробити сервер піратським.
- disabled_commands - тут можна вказати заборонені команди.
- servers - у цій секції налаштовуються сервери, з якими взаємодіє BungeeCord. Докладніше розглянемо нижче. Якщо параметр увімкнено, до сервера зможуть підключитися лише гравці з правом .
- query_port - порт, через який можна отримувати інформацію про сервер.
- motd - опис сервера в основному списку.
- tab_list - налаштування меню TAB на сервері, підтримує кілька значень:
- - показує у табі усіх гравців і оновлює їхній пінг.
- - також показує гравців, але без оновлення пінгу.
- - показує лише локальних гравців на сервері.
- query_enabled - вмикає службу GameSpy4, що дозволяє отримувати інформацію про сервер. Порт задається у .
- proxy_protocol - вмикає протокол HAProxy PROXY для всіх підключень.
- forced_hosts - перенаправляє піддомени на ігрові сервери BungeeCord.
- ping_passthrough - дозволяє query-з'єднанням отримувати MOTD та кількість гравців із бекенду.
- priorities - дозволяє вказати пріоритетні сервери для підключення гравців.
- bind_local_address - чи буде використовуваний IPv4-адрес вказувати на localhost-сервери. Функція корисна лише за наявності кількох IP.
- host - хост сервера з урахуванням порту. Зазвичай локальна адреса.
- max_players - "несправжня" кількість слотів на сервері. Тобто навіть зі значенням 0 гравці все одно зможуть зайти.
- tab_size - максимальна кількість гравців, що можуть відображатися у TAB сервера.
- force_default_server - пов'язаний з . Якщо true - гравець завжди підключається до пріоритетних серверів. Якщо false - повертається на останній сервер.
- ip_forward - пересилання реальної адреси гравця через Proxy.
- remote_ping_timeout - як довго сервер BungeeCord може не відповідати на query-запити, перш ніж з'єднання буде розірвано.
- prevent_proxy_connections - якщо увімкнено, гравці не зможуть підключатися через Proxy.
- groups - дозволяє вказати гравців і групу, яку вони отримають за замовчуванням.
- connection_throttle - час у мілісекундах, який має минути, перш ніж гравець зможе підключитися знову.
- stats - випадково згенерований код для перевірки статистики на сайті MCStats. Не змінюйте його, щоб не втратити статистику.
- connection_throttle_limit - скільки входів може зробити гравець протягом часу, заданого у .
- log_pings - надсилає в консоль інформацію про пінги сервера від користувачів.
#Налаштування серверів
У конфізі вказуємо назву сервера, опис та адресу з портом.

Також вказуємо пріоритетний сервер.

Це необов'язково, якщо у Вас лише один сервер. Це все, що потрібно для звичайного підключення.
Зберігаємо файл і відправляємо на сервер.

Тепер переходимо в папку нашого сервера для гравців (survival).

Відкриваємо файл і встановлюємо значення .

Зверніть увагу, що це налаштування ніяк не впливає на підключення через ліцензію або піратську версію гри. Ми вимикаємо його лише для коректної роботи з BungeeCord. Налаштування ліцензійного підключення проксі здійснюється у BungeeCord-конфізі .
Зберігаємо і відправляємо файл у каталог.
#Запуск серверів
Повертаємося до вікна BungeeCord командою:
screen -x bungeecordМи повернулися у консоль BungeeCord. Зупиняємо сервер командою і запускаємо знову:
java -Xms512M -Xmx2048M -jar BungeeCord.jar noguiСервер запущений.

Виходимо з вікна сполученням .

Підключаємося до вікна сервера Survival:
screen -x survivalБачимо консоль уже запущеного сервера.

Використовуємо команду для зупинки.

Запускаємо його знову:
java -Xms512M -Xmx2048M -jar paper-1.17-71.jar noguiМи запустили сервер.

Перевіримо роботу BungeeCord. Додаємо стандартну адресу з портом 25577 (який BungeeCord використовує за замовчуванням).

Пробуємо зайти.

У консолі BungeeCord відображається момент пінгу сервера через мережевий список Minecraft, процес підключення до самого BungeeCord і перенаправлення на сервер Survival.

Дякуємо, що ознайомилися з нашою статтею. Так Ви можете додати необмежену кількість серверів у зв'язку BungeeCord.
Ваша команда SpaceCore.
Не знайшли відповідь? Ми на звязку 24/7.Написати в підтримку