Как открыть консоль сервера службы Minecraft systemd на CentOS 8?

Вы можете указать в переменной WRKOBJDIRкаталог, в котором должна выполняться сборка. Эта переменная описана в bsd.port.mk(5).

Вы можете, например, использовать

cd /usr/ports/lang/gcc/6
doas env WKOBJDIR=/tmp/build make install

или установите переменную в /etc/mk.conf, если вы всегда хотите компилировать порты в другом месте, чем /usr/ports/pobj.

Также имейте в виду, что порт lang/gcc/6был удален из дерева портов сегодня (2019 -04 -25 ), так как он устарел в GCC 8.

]

0
12.10.2020, 18:22
2 ответа

Можно попробовать добавить

Type=oneshot
RemainAfterExit=yes

В раздел [Сервис]

в CentOS сервис должен находиться в /etc/systemd/system

Таким образом, вы должны создать файл minecraft _server.service внутри указанного каталога с содержимым, которое вы указали в своем посте.

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

[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xmx2048M -Xms1024M -jar server.jar nogui
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p mypassword stop
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Затем выполните команду:

sudo systemctl daemon-reload

Это необходимо при добавлении новой службы.

Затем введите команду:

sudo systemctl start minecraft_server.service

Если вы хотите, чтобы служба запускалась во время загрузки сервера, просто включите ее:

sudo systemctl enable minecraft_server.service

Вместо запуска вы также можете использовать команду остановки и перезапуска, чтобы остановить или перезапустить службу.

В Майнкрафт не играл и никогда не буду, не знаком с ним. Я просто знаю, как добавить службу в systemd.

На этом веб-сайте объясняется, как использовать systemctl. Как использовать Systemctl для управления службами и модулями Systemd

-1
18.03.2021, 22:58

Начну с того, что лично я не размещаю серверы Minecraft. Я только что помог своему другу превратить его сервер в службу systemd.

Вы захотите включить RCON в конфигурации вашего сервера (, что, я полагаю, у вас уже есть ), а затем вы можете использовать mcrcon из своего терминала для подключения к вашему серверу после его запуска.

mcrcon -h <ip> -P <port> -t

Это должно дать вам работающий терминал (-t ), который вы обычно видите, когда запускаете сервер не как службу.

Некоторые дополнительные разъяснения для вашего варианта использования, поскольку вы упомянули, что являетесь новичком в Linux:

Команда mcrcon может отсутствовать в вашей переменной PATH. Поэтому, если вы запустите синтаксис в приведенном выше блоке кода, это может привести к ошибке, указывающей, что такая команда не найдена. В этом случае, чтобы сохранить функциональность вашего служебного файла, вы должны символически связать /opt/minecraft/tools/mcrcon/mcrcon (путь к исполняемому файлу mcrcon )к местоположению, которое уже находится в PATH, например, /usr/bin

ln -s /opt/minecraft/tools/mcrcon/mcrcon /usr/bin/mcrcon

Это позволит вам запускать mcrcon из любого рабочего каталога, вместо того, чтобы менять каталоги на /opt/minecraft/tools/mcrcon/ и запускать его как./mcrcon или использовать полный путь /opt/minecraft/tools/ mcrcon/mcrcon для запуска mcrcon.

РЕДАКТИРОВАТЬ

Ваши обычные сообщения журнала STDOUT, которые вы больше не видите при использовании RCON, должны по-прежнему записываться в server.log в подкаталоге logs внутри каталога вашего сервера minecraft.

0
18.03.2021, 22:58

Теги

Похожие вопросы