(Ранее: файл модуля Systemd работает только для одного имени экземпляра, а не для другого)

После нахождения решения для вопроса, указанного выше, мой сервер Minecraft сделал то, что предполагалось. Но сегодня, создавая резервную копию вручную (остановив сервер, скопировав его каталог в другое место и перезапустив), что-то сломалось, и я не знаю что.

Это мой системный файл systemd:

[Unit]
Description=Minecraft Server: %i
Requires=network.target local-fs.target
After=network.target local-fs.target

[Service]
WorkingDirectory=/opt/minecraft/servers/%i
User=minecraft
Group=minecraft
Type=forking
RemainAfterExit=yes

EnvironmentFile=/opt/minecraft/servers/%i/ENV

ExecStart=/usr/bin/tmux new -s %i -d '/usr/bin/java -Xms1G -Xmx${MEMORY_ALLOC} -Dminecraft.instancename=%i -jar forge-universal.jar nogui'

ExecStop=/usr/bin/tmux send -t %i 'say SERVER WILL SHUT DOWN IN 10 SECONDS' ENTER
ExecStop=/bin/sleep 10
ExecStop=/usr/bin/tmux send -t %i 'stop' ENTER

[Install]
WantedBy=multi-user.target

(Файл среды, указанный в модульном файле, содержит строку MEMORY_ALLOC=3G .)

systemctl start minecraft@creative мгновенно возвращается и буквально ничего не делает. Выполнение tmux ls от имени пользователя minecraft выдает бесполезное сообщение no server running on /tmp/tmux-999/default .

Сервер можно запустить вручную, либо внутри, либо вне сеанса tmux, используя java -Xms1G -Xmx3G -jar forge-universal.jar nogui без проблем. Это происходит только при запуске в tmux через systemd.

systemctl --failed отображает это:

0 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

Журнал не содержит никакой информации, как и системный журнал.

Я понятия не имею, что происходит. Из-за возмущения интернетом над tmux-systemd с 2016 года мои результаты в Google в значительной степени бесполезны. Кто-то здесь знает, что я делаю не так?

0