Потребность создать systemd файл и сбой

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

Я нашел одно учебное руководство, которое помещает systemd .service файл для запуска его на начальной загрузке.Круто. Затем я нашел другой, который использует экран, который поможет мне очень, поскольку у меня теперь есть консольный доступ к нему. И это - то, где я испытываю затруднения.

Я создал файл штамповочного-пресса-server.service в родительском каталоге сервера Forge (позволяет модификации, в случае, если Вы не знали), затем я использовал "ln" для бросания ссылки в/etc/systemd/system. И, этому не удается загрузиться.

Я заставляю code=exited status=1 и сбой запускаться. Я не знаю то, что продолжается. Половина пути вниз, я не получаю экранной найденной сессии. Затем это просто перестало работать.

[Unit]
Description=Forge Server %i

[Service]
WorkingDirectory=/home/<USER>/minecraft/forge-server/%i
User=<USER>
Group=<USER>
Restart=always

ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xmx1536M -jar forge*.jar nogui

ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say SERVER SHUTTING DOWN. Saving map..."15'
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "save-all"15'
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "stop"15'
ExecStop=/bin/sleep 2

[Install]
WantedBy=multi-user.target

Если я не указываю рабочий каталог как таковой, я получаю CHDIR200.

Если я выполняю Forge*.jar на своей сессии SSH/screen, он работает просто великолепно. Можно ли советовать мне, где я пошел не так, как надо и как возможно исправить этот сценарий?

Править: Я понял это. Это - мой новый .service файл;

#!/bin/sh -

[Unit]
Description=Forge Server

[Service]
WorkingDirectory=/home/<USER>/minecraft/forge-server/
User=<USER>
Group=<USER>
Restart=on-failure

ExecStart=/usr/bin/screen -DmS forge /usr/bin/java -Xmx1536M -jar forge-1.10.2-12.18.2.2099-universal.jar nogui

ExecStop=/usr/bin/screen -p 0 -S forge -X eval 'stuff "say SERVER SHUTTING DOWN. Saving map..."15'
ExecStop=/usr/bin/screen -p 0 -S forge -X eval 'stuff "save-all"15'
ExecStop=/usr/bin/screen -p 0 -S forge -X eval 'stuff "stop"15'
ExecStop=/bin/sleep 2

[Install]
WantedBy=multi-user.target
0
задан 23 November 2016 в 21:12

1 ответ

Я понял это. Это - мой новый .service файл;

#!/bin/sh -

[Unit]
Description=Forge Server

[Service]
WorkingDirectory=/home/<USER>/minecraft/forge-server/
User=<USER>
Group=<USER>
Restart=on-failure

ExecStart=/usr/bin/screen -DmS forge /usr/bin/java -Xmx1536M -jar forge-1.10.2-12.18.2.2099-universal.jar nogui

ExecStop=/usr/bin/screen -p 0 -S forge -X eval 'stuff "say SERVER SHUTTING DOWN. Saving map..."15'
ExecStop=/usr/bin/screen -p 0 -S forge -X eval 'stuff "save-all"15'
ExecStop=/usr/bin/screen -p 0 -S forge -X eval 'stuff "stop"15'
ExecStop=/bin/sleep 2

[Install]
WantedBy=multi-user.target

я установил файл банки штамповочного пресса как исполняемый файл (chmod +x) и удалил все переменные (%i из первоначального сценария, который я скопировал). Это теперь работает и запускается в экранном экземпляре при начальной загрузке.

1
ответ дан 28 September 2019 в 03:12

Другие вопросы по тегам:

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