Запуск своего сервера Minecraft

Увлеклись значит мои детки майнкрафтом. Поиграли по одиночке, потом я научил их заходить в сетевую игру. Но то один не хочет, то другой. В итоге сохранения постоянно меняются и они стали путаться и ругаться.

Погуглив немного нашёл много способов и реализаций: Но так как я в майнкрафте не особо изощрён, то решил пойти самым топорным без всяких дополнительных прослоек.

Для начала создадим пользователя от имени которого будет запускаться наш сервер майнкрафта:

useradd -r -s /bin/nologin minecraft

Установим Java 21, которая требуется для запуска minecraft 1.24+

wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb

dpkg -i jdk-21_linux-x64_bin.deb && rm jdk-21_linux-x64_bin.deb

Создадим папку для хранения сервера и его настроек

mkdir -p /opt/minecraft

Переходим на сайт копируем оттуда ссылку на файл server.jar .

cd /opt/minecraft

wget https://piston-data.mojang.com/v1/objects/4707d00eb834b446575d89a61a11b5d548d8c001/server.jar

назначим владельцем нашего пользователя

sudo chown -R minecraft /opt/minecraft 

в первый раз запускаем как указано в инструкции на официальном сайте

java -Xmx1024M -Xms1024M -jar minecraft_server.1.21.4.jar nogui

Нам выдаст ошибку типа такой

[19:30:33] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

открываем файл eula.txtи меняем строчку elua=false на elua=true

так же редактируем файл server.properties я поменял такие настройки

white-list=false - отключил вайт-лист, потому что сервер будет непубличным

pvp=false - отключил PVP. Нечего детям драться между собой

online-mode=false - отключил идентификацию на серверах MicroSoft

Создал файл /etc/systemd/system/minecraft.serviceс таким содержимым

[Unit]
Description=Minecraft Daemon
After=network.target

[Service]
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar /opt/minecraft/server.jar nogui
User=minecraft
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Перезагружаем список служб systemctl daemon-reload

Запускаем и включем наш сервер systemctl enable minecraft.service --now

Можно подключаться к серверу, по умолчанию используется порт 25565. Его можно поменять в server.properties.

Дополнительные материалы:

https://github.com/brianwarner/minecraft-server-hosting

https://minecraft.fandom.com/ru/wiki/Создание_и_настройка_сервера

https://wiki.spacecore.pro/minecraft/server-properties

https://mmo-dev.info/threads/Знакомство-с-параметрами-серверов-minecraft.14833/

https://docs.spongepowered.org/5.1.0/ru/server/getting-started/configuration/server-properties.html