mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29:19 -08:00
fix(minecraft): service restart on exit
This commit is contained in:
parent
553f68cb5a
commit
84594aef74
1 changed files with 5 additions and 4 deletions
|
|
@ -148,10 +148,10 @@ in {
|
||||||
execStop = pkgs.writeShellScriptBin "minecraft-java-stop" ''
|
execStop = pkgs.writeShellScriptBin "minecraft-java-stop" ''
|
||||||
echo /stop > ${config.systemd.sockets.minecraft-java-server.socketConfig.ListenFIFO} || true
|
echo /stop > ${config.systemd.sockets.minecraft-java-server.socketConfig.ListenFIFO} || true
|
||||||
|
|
||||||
if [[ -n $1 ]]; then
|
if [[ -n ''${MAINPID-} ]]; then
|
||||||
# Wait for the PID of the minecraft server to disappear before
|
# Wait for the PID of the minecraft server to disappear before
|
||||||
# returning, so systemd doesn't attempt to SIGKILL it.
|
# returning, so systemd doesn't attempt to SIGKILL it.
|
||||||
while kill -0 "$1" 2> /dev/null; do
|
while kill -0 "$MAINPID" 2> /dev/null; do
|
||||||
sleep 1s
|
sleep 1s
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
@ -179,8 +179,9 @@ in {
|
||||||
"${writeWhiteList cfg.allowPlayers}:${cfg.dataDir}/whitelist.json"
|
"${writeWhiteList cfg.allowPlayers}:${cfg.dataDir}/whitelist.json"
|
||||||
"${writeOps cfg.allowPlayers}:${cfg.dataDir}/ops.json"
|
"${writeOps cfg.allowPlayers}:${cfg.dataDir}/ops.json"
|
||||||
];
|
];
|
||||||
ExecStop = ''${getExe execStop} "$MAINPID"'';
|
ExecStop = getExe execStop;
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
|
RestartSec = 3;
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
WorkingDirectory = cfg.dataDir;
|
WorkingDirectory = cfg.dataDir;
|
||||||
RuntimeDirectory = "minecraft-java";
|
RuntimeDirectory = "minecraft-java";
|
||||||
|
|
@ -213,7 +214,7 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
conf.systemd.sockets.minecraft-java-server = {
|
conf.systemd.sockets.minecraft-java-server = {
|
||||||
bindsTo = ["minecraft-java-server.service"];
|
partOf = ["minecraft-java-server.service"];
|
||||||
socketConfig = {
|
socketConfig = {
|
||||||
ListenFIFO = "/run/minecraft-java/stdin";
|
ListenFIFO = "/run/minecraft-java/stdin";
|
||||||
SocketMode = "0660";
|
SocketMode = "0660";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue