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.
На этом все, надеюсь статья была полезна, приятной игры!