Запуск своего сервера 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 DaemonAfter=network.target[Service]WorkingDirectory=/opt/minecraftExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar /opt/minecraft/server.jar noguiUser=minecraftRestart=alwaysRestartSec=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