From 7fa92a14131054d726f9e9a8d93d6bc6dfd947d4 Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Mon, 16 Sep 2024 15:45:39 -0300 Subject: [PATCH] openttd: add auxiliary services to set rcon password and saving services --- services/openttd.nix | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/services/openttd.nix b/services/openttd.nix index 11ed391..162dfca 100644 --- a/services/openttd.nix +++ b/services/openttd.nix @@ -14,10 +14,40 @@ Unit.Description = "OpenTTD Tmux server"; Service = { - ExecStart = "${pkgs.tmux}/bin/tmux new -s OpenTTD -d '${pkgs.openttd}/bin/openttd -D'"; + ExecStart = "${pkgs.tmux}/bin/tmux new -s OpenTTD -d '${pkgs.openttd}/bin/openttd -g /home/wizardlink/.local/share/openttd/save/hyfy.sav -D'"; ExecStop = "${pkgs.tmux}/bin/tmux kill-server"; Restart = "on-failure"; Type = "forking"; }; }; + + systemd.user.services.openttd-rcon = { + Install.WantedBy = [ "default.target" ]; + + Unit = { + Description = "OpenTTD RCON Password set"; + After = [ "openttd.service" ]; + }; + + Service = { + ExecStart = "${pkgs.tmux}/bin/tmux send-keys -t OpenTTD 'rcon_pw aaaa' Enter"; + Type = "oneshot"; + }; + }; + + systemd.user.services.openttd-save = { + Install.WantedBy = [ "default.target" ]; + + Unit = { + Description = "OpenTTD RCON Password set"; + After = [ "openttd.service" ]; + }; + + Service = { + ExecStart = "${pkgs.tmux}/bin/tmux send-keys -t OpenTTD 'save hyfy' Enter"; + Type = "simple"; + Restart = "always"; + RestartSec = "1800s"; + }; + }; }