opened image

Установка игрового сервера Minecraft: Java Edition на Ubuntu 20.04

Любишь Minecraft и хочешь поиграть со своими друзьями на своем собственном сервере?
Cпециализированные хостинги для Minecraft сильно ограничивают возможности управления сервером?

В таком случае, можно создать свой Minecraft сервер, рекомендую заказать виртуальный сервер общего назначения, на который можно устанавливать любое ПО, любое количество модов и выполнять любые установки/настройки, ограничиваясь лишь техническими характеристиками сервера. Сервер полностью под Вашим контролем.

В этой статье я расскажу, как выполнить базовую установку сервера игры Minecraft: Java Edition 1.18.2 на виртуальном сервере (VPS) с Ubuntu 20.04

1. Для начала нужно определиться с системными параметрами.

Минимальные параметры для 1-3 игроков (учитываются также ресурсы используемые операционной системой):
Операционная система: Ubuntu 20+ (потребляет значительно меньше ресурсов, чем Windows)
Процессор: 2-3 ядра
ОЗУ: 3-4 Гб

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

Для примера я буду использовать тариф VPS Mega с 3 ядрами процессора и 4 Гб ОЗУ.
Заказать такой сервер или любой другой можно по ссылке:
https://zomro.com/rus/vds


2. После активации сервера, нужно подключиться к консоли сервера по SSH протоколу.
Инструкцию, как подключиться к серверу с Linux по SSH можно здесь:
https://zomro.com/rus/blog/faq/218-kak-vojti-na-linux-server-po-ssh

3. Приступим к установке ПО:

Для начала введите команду ниже, чтобы выполнить обновление системы:

apt-get update -y && apt-get upgrade -y


Следующим шагом установим необходимое ПО:

 

apt install -y wget screen
apt install -y openjdk-17-jdk


Проверим, установилась ли Java, для Minecraft: Java Edition 1.18.2 требуется Java версии минимум 17

 

java -version



4. Теперь нужно включить файрволл и открыть порт соединения, который использует Minecraft, а также порт 22 для SSH-подключения:

 

ufw enable
ufw allow 22/tcp
ufw allow 25565


5. Создаем папку и переходим в нее:

 

mkdir /opt/minecraft
cd /opt/minecraft


Теперь нужно скачать файл Minecraft server, последнюю версию которого, можно скачать с официального сайта:
https://www.minecraft.net/en-us/download/server
или найти более старую версию здесь:
https://mcversions.net/

Скачать файл по ссылке можно с помощью утилиты wget, вот пример для скачивания сервера Minecraft версии 1.18.2:

 

wget https://launcher.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar


6. Запускаем Minecraft server:

 

java -Xms2048M -Xmx3472M -jar server.jar nogui


Здесь -Xms2048M - это минимум 2Гб ОЗУ, который может использовать сервер, а -Xmx3472M - максимум 3472 Мб.
Это оптимальная настройка для сервера с 4 Гб ОЗУ, Вам же нужно будет подстроить эти параметры под характеристики выбранного Вами сервера. Оставшаяся часть ОЗУ будет выделена под работу операционной системы.


Если все хорошо и сервер запустился, в конце будут видно сообщения :
[18:12:56] [Server thread/INFO]: Time elapsed: 25957 ms
[18:12:56] [Server thread/INFO]: Done (26.676s)! For help, type "help"

Если увидели ошибку при старте:
# [23:59:37] [ServerMain/ERROR]: Failed to load properties from file: server.properties
# [ServerMain/WARN]: Failed to load eula.txt

введите следующую команду и затем перезапустите сервер еще раз:

 

sed -i.orig 's/eula=false/eula=true/g' eula.txt

java -Xms2048M -Xmx3472M -jar server.jar nogui


На данном этапе уже можно подключаться к серверу через Minecraft приложение, введя ip-адрес и порт сервера в формате ipaddress:25565 и начинать игру.



Если по какой-то причине нужно остановить сервер, нужно нажать сочетание клавиш Ctrl+C и подождать около 30-ти секунд.


7. Если не получается подключиться и возникает следующая ошибка:
# [User Authenticator #1/INFO]: Disconnecting /192.168.1.20:54401: Failed to verify username!
# [User Authenticator #1/ERROR]: Username 'zomro' tried to join with an invalid session

Попробуйте ввести следующую команду и перезапустить сервер снова:

 

sed -i 's/online-mode.*/online-mode=false/g' ./server.properties

java -Xms2048M -Xmx3472M -jar server.jar nogui


Данная команда позволит подключаться к серверу кому-угодно, будь-то злоумышленники или же пользователи без купленной лицензии на игру Minecraft, поэтому будьте осторожны, если выполняете вышеуказанную команду!



8. Также рекомендуется изменить порт подключения с 25565 на любой другой, так как этот порт часто подвергается атакам злоумышленников.
Замените число 25565 в следующих строках на любое число в диапазоне 10000-65000 и выполните эти команды:

 

sed -i 's/server-port.*/server-port=25565/g' ./server.properties
ufw allow 25565



9. Напоследок покажу еще одну полезную фичу.
Как сделать, чтобы при отключении от SSH-консоли, Minecraft сервер продолжал работать и чтобы после перезагрузки виртуального сервера, minecraft сервер запускался автоматически?
Введите поочерёдно эти 2 команды:

 

echo -e '#!/bin/bash\\ncd /opt/minecraft/ && java -Xms2048M -Xmx3472M -jar server.jar nogui' > /opt/minecraft/launch_server.sh && chmod +x /opt/minecraft/launch_server.sh
mv /etc/rc.local /etc/rc.local.backup 2>/dev/null; echo -e '#!/bin/bash\\nscreen -dm -S minecraft /opt/minecraft/launch_server.sh\\nexit 0' > /etc/rc.local && chmod +x /etc/rc.local


Теперь после перезагрузки виртуального сервера, minecraft сервер будет запускаться автоматически в программе screen.
Просмотреть запущенные Minecraft сервер внутри утилиты screen можно командой:

 

screen -r minecraft


Выйти из screen с помощью Ctrl+a и затем нажать d.


На этом все, надеюсь статья была полезна, приятной игры!