README.md

Сборка и запуск контейнера:

$ cd docker
$ env UID=$UID docker compose up -d --build

Далее нужно остановить контейнер и отредактировать конфигурационный файл:

$ docker compose stop
$ docker compose start

Источник исходников:

https://www.minecraft.net/ru-ru/download/server/ https://getbukkit.org/download/vanilla

Устанока XRay (устанавливается только на клиенте!)

Качаем нужную версию https://www.9minecraft.net/xray-mod/ запускаем установщик $ java -jar XRay-Mod-v67-1.14.4.jar При запросе создаем новый профиль, тоб не портить оригинальную версию.

Unit файл (инсталяция без Docker):

#https://www.spigotmc.org/threads/stop-spigot-server-gracefuly-best-practices.68798/
[Unit]
Description=Minecraft Server
After=network.target

[Service]
User=admin
Group=admin

WorkingDirectory=/home/admin/minecraft/1.14.4-vanilla

Type=simple
ExecStartPre=/usr/bin/mkfifo ./daemon.in

#use sh for redirecting input
# open daemon.in by redirecting stream 3 (unused) to it and exec java using stream 3
# ( ; seems to have special meaning. Enclosing the whole sh script in '' doesn't matter either... )
#ExecStart=/bin/sh -c 'exec /usr/bin/java -server -Xmx1024M -Xms408M -jar ./spigot-1.11.2.jar 3<>./daemon.in -<&3'
ExecStart=/bin/sh -c 'exec java -Xmx1024M -Xms1024M -Dfile.encoding=utf-8 -jar server.jar nogui 3<>./daemon.in -<&3'

KillMode=none

#took me hours to figure out the double escape. \r works so I don't even want to try \n .
ExecStop=/bin/sh -c 'echo stop$(printf \\\\r) > ./daemon.in'
ExecStopPost=/bin/rm ./daemon.in

StandardOutput=journal

[Install]
WantedBy=multi-user.target

#sudo ln -sf /home/admin/minecraft/minecraft.service /usr/lib/systemd/system/minecraft.service
Описание

Сервер Minecraft в Docker'е

Конвейеры
0 успешных
0 с ошибкой