Що вам знадобиться
Крок 1: Установка BungeeCord
Крок 2: Налаштування BungeeCord
Крок 3: запуск сервера та його постійне використання
Додавання додаткового сервера
Заходи безпеки
Висновок
Що вам знадобиться
- Vultr VPS з принаймні 1 Гб оперативної пам’яті.
- Доступ по SSH (з
root
/ administrative
привілеями).
Крок 1: Установка BungeeCord
Перш за все, нам потрібно встановити Java, щоб це працювало. Залежно від того, чи використовуєте ви операційну систему на базі Debian чи CentOS, команди будуть дещо відрізнятися для кожної операційної системи. Кожна команда зазначає операційну систему, яка має її використовувати. Якщо всі CentOS 7, Debian 8 і Debian 9 підтримують це, особливе позначення не відображатиметься.
Операційна система: CentOS 7
yum install java-1.7.0-openjdk-devel screen -y
Операційна система: Debian 8 та Debian 9
apt-get update
apt-get install openjdk-7-jdk screen -y
Далі ви захочете створити окремого користувача для запуску сервера. Хоча це необов’язкове, настійно рекомендується ніколи не розміщувати жодну загальнодоступну систему як root
користувач. Це відкриває можливість експлуатації вашого VPS, і це може призвести до припинення роботи вашого сервера тут, на Vultr, якщо він буде використаний у незаконних цілях, навіть якщо це спричинено не вами.
CURRENT_USER='bungeemc'
useradd $CURRENT_USER -m -d /home/bungee
Не соромтеся змінити ім’я користувача з bungeemc
, хоча це буде користувач, який використовується в усій статті.
Потім увійдіть як користувач.
su $CURRENT_USER
Тепер створіть папку для сервера BungeeCord.
mkdir ~/bungeeServer
cd ~/bungeeServer
Завантажте виконуваний файл сервера.
wget http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar
Давайте запустимо його вперше.
java -Xms256M -Xmx512M -jar BungeeCord.jar
Як правило, для команди, показаної вище, вам потрібно залишити принаймні 128 МБ ОЗП вільною, щоб система могла працювати безперебійно. Інакше ви можете зіткнутися з проблемами пізніше, оскільки програма-вбивця операційної системи з низьким рівнем пам’яті вб’є ваш сервер, коли пам’яті закінчиться.
На цьому етапі ви повинні натиснути, CTRL+C
щоб вийти з підказки сервера. Усі необхідні файли згенеровано, тому ми можемо продовжувати налаштування.
Крок 2: Налаштування BungeeCord
У цій статті ми додамо лише один сервер Minecraft для лобі за проксі BungeeCord. Далі в статті буде надано додаткову інформацію про додавання додаткових серверів на додаткові сервери Vultr VPS або на поточну систему.
За допомогою улюбленого текстового редактора відкрийте файл з іменем config.yml
.
Увага: синтаксис файлу YAML дуже важливий. Java дуже вимоглива до інтервалів .
Додайте себе як адміністратора. Змініть md_5
на своє ім’я користувача Minecraft. Для додавання додаткових адміністраторів потрібно спочатку ввести два пробіли, написати ім’я користувача, додати двокрапку, перейти до наступного рядка, додати ще два пробіли та - admin
прапорець.
В кінці це має виглядати так.
groups:
myMCUsername:
- admin
extraAdmin:
- admin
Потім змініть ip_forward: false
на ip_forward: true
. Це дозволить будь-яким цільовим серверам переглядати IP-адресу клієнта, що дозволяє видавати заборони на основі IP.
Перейдіть до рядка за допомогою player_limit
. Змініть значення за замовчуванням 1
на кількість слотів. Якщо це значення встановлено на -1
, необмежену кількість гравців може приєднатися.
Ось як listeners
має виглядати ваш розділ.
listeners:
- max_players: 1000
priorities:
- lobby
proxy_protocol: false
host: 0.0.0.0:25565
tab_size: 60
force_default_server: false
bind_local_address: true
ping_passthrough: false
tab_list: GLOBAL_PING
motd: '&lMy first BungeeCord server'
query_enabled: false
query_port: 25577
Змініть вміст одинарних лапок після, motd:
щоб встановити опис сервера (що гравець побачить, коли вперше подивиться на сервер у клієнті). Переконайтеся, що рядок у listeners
блоці, що починається з, host: 0.0.0.0
містить порт 25565, щоб користувачі могли підключатися без вказавши порт.
Останнє, що нам потрібно зробити для BungeeCord, — це фактично ввести запис для нашого лобі (приєднуються гравці сервера за замовчуванням). Наразі ми будемо використовувати запис за замовчуванням, оскільки він відповідає нашим потребам. Змініть motd на потрібний опис сервера, і зрештою він має виглядати так.
servers:
lobby:
address: localhost:25567
restricted: false
motd: 'My lobby server'
Збережіть і закрийте файл.
Тепер створимо лобі-сервер. На Vultr є багато статей про сервер Minecraft, але рекомендується вибрати ту, яка містить Spigot або CraftBukkit. Дотримуйтесь розділу «Завантаження та використання BuiltTools» у статті « Налаштування Spigot на Ubuntu ». Зупиніться, коли ви досягнете розділу «Необов’язково: працювати у фоновому режимі». Не забудьте правильно встановити обмеження пам’яті для сервера SpigotMC і прийняти ліцензійне угоду.
Потрібно внести одну зміну: увімкнути автономний режим для цільового сервера. Це робиться шляхом відкриття server.properties
та зміни online-mode=true
на false
. Ми обговоримо це в розділі « Заходи безпеки» .
На цьому етапі у вас повинен бути jar-файл SpigotMC.
Крок 3: запуск сервера та його постійне використання
Перше, що ми зробимо, це створимо сценарій, який запустить обидва сервери.
Скопіюйте сценарій, який ви створили в статті «Налаштування Spigot», до нового файлу.
cp ~/server/start.sh ~/bungeeServer/start.sh
Відредагувати ~/bungeeServer/start.sh
та змінити spigot.jar
на BungeeCord.jar
. Після зміни значень пам’яті на потрібний набір, збережіть і вийдіть.
Не забудьте дозволити виконання сценарію.
chmod +x ~/bungeeServer/start.sh
Потрібно створити ще два сценарії, наступний буде на ~/startAll.sh
. Це дозволить нам запустити кожен сервер і запустити його у фоновому режимі.
Вміст ~/startAll.sh
.
#!/bin/bash
for line in $(find ~ -name "start*"); do
echo "Starting $line..."
serverID=$(($serverID + 1))
screen -dmS "server-$serverID" bash $line
done
Це автоматично виконає сценарії запуску в каталозі /home/bungeeServer/
.
Останній створений сценарій буде за адресою ~/stopAll.sh
, а вміст має бути таким.
#!/bin/bash
cd /var/run/screen/S-$USER/
for f in *; do
screen -S $f -X kill
done
Майте на увазі, що це не зберігає світи на вашому сервері, будь ласка, зробіть це заздалегідь.
Додавання додаткового сервера
Кожного разу, коли ви хочете додати новий сервер до конфігурації Bungee, вам потрібно буде відкрити config.yml
та додати наступний запис.
serverName:
address: address.of.minecraft.server:portNumber
restricted: false
motd: 'New server description'
Змініть обмежено до, true
якщо ви хочете обмежити сервер адміністратором. Після завершення збережіть і перезапустіть сервер BungeeCord.
Заходи безпеки
З поточною конфігурацією автономні (також відомі як зламані користувачі) можуть безпосередньо приєднатися до ваших цільових серверів. Існує безліч плагінів для блокування всіх гравців, які не приєднуються через проксі, одним з яких є OnlyProxyJoin .
Завдяки тому, як це налаштовано, ми можемо просто відкрити сервер лобі server.properties
та змінити IP-адресу прослуховування на 127.0.0.1. Це не дозволить будь-яким користувачам підключитися безпосередньо, таким чином, усі користувачі будуть перевірені проксі-сервером.
Висновок
У цій статті ми створюємо невелику мережу Bungee. Він розширюється і дозволяє власникам серверів створювати безліч взаємопов’язаних серверів і режимів гри.
Додаткова інформація доступна в документації BungeeCord .