Сценарий Systemd для сервера Minecraft не работает на CentOS 8 - PullRequest
0 голосов
/ 02 мая 2020

Я установил сервер Minecraft на CentOS 8 и хотел бы, чтобы сервер запускался при загрузке. Я пробовал различные системные сценарии, чтобы это произошло, и, похоже, ничего не работает; нет ошибки при запуске службы, но сценарий не запускает другой сценарий, который я бы хотел запустить.

Пример сценария systemd, который не работает должным образом, называется minecraft.service:

[Unit]
Description=Minecraft Server
Documentation=

Wants=network.target
After=Network.target

[Service]
User=minecraft
Type=forking
ExecStart=/home/minecraft/minecraft/startserver.sh
Restart=always

[Install]
WantedBy=multi-user.target

startserver. sh скрипт (этот работает, если я запускаю его вручную, выполнив cd для / home / minecraft / minecraft и затем ./startserver.sh, но не запускается с помощью скрипта systemd) :

#!/bin/sh
/usr/bin/tmux new-session -s minecraft -d
tmux send -t minecraft "/usr/bin/java -Xmx4096M -Xms2048M -jar /home/minecraft/minecraft/server.jar --nogui" ENTER

Проверка статуса службы возвращает это:

[root@localhost system]# systemctl status minecraft.service
● minecraft.service - Minecraft Server
   Loaded: loaded (/etc/systemd/system/minecraft.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-05-02 03:32:58 EEST; 1s ago
  Process: 6990 ExecStart=/home/minecraft/minecraft/startserver.sh (code=exited, status=0/SUCCESS)
 Main PID: 6993 (tmux: server)
    Tasks: 17 (limit: 26213)
   Memory: 67.9M
   CGroup: /system.slice/minecraft.service
           ├─6993 /usr/bin/tmux new-session -s minecraft -d
           ├─6994 -bash
           └─7021 /usr/bin/java -Xmx4096M -Xms2048M -jar /home/minecraft/minecraft/server.jar --nogui

May 02 03:32:58 localhost.localdomain systemd[1]: Starting Minecraft Server...
May 02 03:32:58 localhost.localdomain systemd[1]: Started Minecraft Server.

Если это как-то связано с startserver. sh Я открыт для предложений, я просто нужно запустить сервер с упомянутыми спецификациями +, чтобы запустить новый экран в tmux под названием minecraft. Пытаясь решить эту проблему в течение нескольких часов и будучи новичком в CentOS на данный момент, у меня заканчиваются вещи, которые нужно попробовать. В настоящее время эта служба не запускает сеанс для tmux и не запускает сервер.

Обновление: иногда сервер запускается, но сеанс tmux не запускается. Однако, если вы убьете это с помощью fuser -k 25565/tcp, а затем запустите minecraft.service вручную, сервер не восстановится.

...