Навіщо і як запустити загальнодоступний Minecraft сервер на Google Cloud
Навіщо
Ну бо можу. А ще під час карантину башка їде і захотілося нам з друзями в minecraft пограти.
Як
Ось тут уже починаються веселощі. Google Cloud це не машина, на якій можна запустити сервер. Тому перше ми стикаємося із hardware проблемою. Що ж для початку організовуємо проект для сервера.
Вибираємо собі хорошу назву і створюємо.
Наступне нам потрібна машина на якій буде запускатися сервер. Це не проблема лізем в менею API і шукаємо Compute Engine API і підключаємо.
Чекаємо сто років поки запуститься API. І створюємо собі віртуальну машину.
Називаємо її вибираємо параметри та на основі якої оперційки буде наша машина, можна вибрати практично будь-яку, але ми програміти і ми обираємо Ubuntu. (Так так можна і інший дистрибутив і хоч голий Debian).
Далі нам необхідно статичну ip адресу. Для цього заходимо в мережу VPC і резервуємо ip адресу, якщо її не зарарезерувало під час створення машини.
Тепер слід погратися із доступом до нашого сереверу і відкрити порти в брандмауері. Пропоную не церемонитися і відкрити усі порти ібо при спробак відкрити конктрний порт доступу до сервера все ще не було. Для цього створюємо правила для вхідного і вихідного трафіку.
По ідеї краще обмежити доступ до портів щоб погані хакери не поламали ваш сервер, але як голосить одна велика мудрість:
Назву вибираємо довільну вона нічого не вирішує і майже не рухається, трафік — вхідний, дія — дозволити. Для того щоб всі могли підключитися до нашого серверу діапазон адрес встановлюємо як 0.0.0.0/0. Ну і вибираємо які порти відкрити. Для нашого сервера це udp-порт але всі спроби його відкрити не давали результати, тому і дідько з ним відкриємо усі.
В подальшому слід аналогічну річ провернути вже на машині. Для цього
sudo iptables -A INPUT -p udp --dport 25565 -j ACCEPT
Далі нам треба вирішити проблему програмного забезпечення, для цього існує Minecraft Server. Детальніше можна ознайомитися і скачати тут.
Спочатку на нашій машині потрібно встановити java, тому підключаються через ssh. Якщо виникають проблеми із підключенням варто спробувати підключитися через cloud shell.
Робимо стандартні
sudo apt-get update sudo apt-get upgrade
Встановлювати ми будемо Java від Oracle, оскільки з openjdk і default виникали проблеми.
Додаємо репозиторій
sudo apt install software-properties-common sudo add-apt-repository ppa:webupd8team/java
І встановлюємо найновішу версію (можна, по ідеї, і старішу, але раніше 8 не рекомендую).
sudo apt update sudo apt install oracle-java13-installer
Після пари підтверджень java в нас в кишені. Тепер свановимо сам сервер.
Копіюємо лінку із вище вкзаного сайту і скачуємо файл через wget.
І нарешті запускаємо сервер
java -jar <file name>.jar
В перший раз сервер скаже, що щось не так і попросить замінити в у файлі eula.txt
eula=false
на eula=true
Через nano або ж vim робимо це. Особиста рекомендація через nano, бо з vim складно вийти.
І запускаємо ще раз сервер наконфігуриться вперше, згенерує і підгрузить карту, після чого можна його стопнути і наконфігурити під себе через файл server.properties. Усі конфіги можна глянути тут.
А для нас найосновніші це:
gamemode=survival | режим гри, вибираємо під себе survival (0) creative (1) adventure (2) spectator (3) |
max-players=20 | Максимальна кількість гравців, теж під себе |
enable-query=false | Дозволяє який протокол, тому ставимо true, інакше не вийде підключитися |
online-mode=true | Перевірка акаунтів, ставимо false, якщо маємо піратських друзів |
Усе, залишилась вишенька на торті — це додати service для автоматичної роботи сервера.
Створюємо bash скрипт nano minecraft-server
і заповнюємо якось так
#!/bin/sh sudo /usr/bin/java -jar <file path>
І додаємо права для виконання sudo chmod u+x minecraft-server
І запускаємо сервіс nohup minecraft-server &
Звісно можна не паритися і просто ранити вручну, але це вже як забажаєте.
Ось так не просто, не легко ми підняли свій персональний сервер.
32 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів