Script automatisch starten Proxmox LXC

Azghul0815

Rear Admiral Pro
Registriert
Dez. 2019
Beiträge
5.902
Hi mal wieder...

ich bekomme das meiste ja mit Google und ChatGPT selbst in den Griff, aber hier fehlt mir so wie es scheint Grundverständnis.

Ich hab einen Valheim Server unter einem Ubunut LXC in Proxmox am laufen. Funktioniert auch alles ohne Probleme, nur nach einem Neustart des LXCs muss ich den Server neu starten.
Das Prodzedere sieht so aus, nachdem ich auf die Shell connecte:
  • Anmeldung der root users mit pw
  • su - vhserver -> wechsel auf den User vhserver
  • ./vhserver start und der server läuft.
Nun dacht ich mir...hach...systemd ist dein freund...und hab mir einen vhs.service erstellt.
dieser liegt in
Code:
/etc/systemd/system/vhs.service

Inhalt der Datei:
Code:
[Unit]
Description=Valheim Server
After=network.target

[Service]
Type=simple
User=vhserver
WorkingDirectory=/home/vhserver
ExecStart=/bin/bash -c '/usr/bin/su - vhserver -c "/home/vhserver/vhserver start"'
ExecStop=/bin/bash -c '/usr/bin/su - vhserver -c "/home/vhserver/vhserver stop"'
Restart=on-failure

[Install]
WantedBy=multi-user.target

Das Verzeichnix in dem die datei "vhserver" liegt ist /home/vhserver
den folgenden Befehlen:
Code:
sudo systemctl daemon-reload
sudo systemctl stop vhs
sudo systemctl start vhs
sudo systemctl status vhs

Erhalte ich folgende Ausgabe:
Code:
root@valheim:/home/vhserver# sudo systemctl status vhs
x vhs.service - Valheim Server
     Loaded: loaded (/etc/systemd/system/vhs.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Thu 2024-08-29 15:58:55 CEST; 2min 19s ago
   Duration: 1.009s
    Process: 3478 ExecStart=/bin/bash -c /usr/bin/su - vhserver -c "/home/vhserver/vhserver start" (code=exited, status=1/FAILURE)
   Main PID: 3478 (code=exited, status=1/FAILURE)
        CPU: 7ms

Aug 29 15:58:55 valheim systemd[1]: vhs.service: Scheduled restart job, restart counter is at 5.
Aug 29 15:58:55 valheim systemd[1]: vhs.service: Start request repeated too quickly.
Aug 29 15:58:55 valheim systemd[1]: vhs.service: Failed with result 'exit-code'.
Aug 29 15:58:55 valheim systemd[1]: Failed to start vhs.service - Valheim Server.

Ist das ein Rechteproblem oder ist das "WorkingDirectory" möglicherweise doch das Falsche?

Hier bringt mich ChatGPT leider nicht weiter...

Oder gibts möglicherweise nen ganz anderen Weg der mehr Sinn macht? CronJob oder so?

Grüsse und Danke
Azze
 
dewa schrieb:
Brauchst du den Teil bei Start und Stop überhaupt?
Bash:
/bin/bash -c '/usr/bin/su - vhserver -c " ....
Keine Ahnung. Ich bin bei sowas immer der Trial and Error Typ.

h00bi schrieb:
Du kannst das auch vom Host aus machen per
Hab mich mit "hookscripts" noch nicht beschäftigt, muss/kann ich mir mal anschauen. Heisst grob, ich sage im host schon, was im "Autostart" des Containers liegt?
StefanArbe schrieb:
Hilft mir leider nicht wirklich weiter.
Ergänzung ()

Mit dem Inhalt bekomme ich den Service zum Laufen, aber der der Server started dennoch nicht.
Code:
[Unit]
Description=Valheim Server
After=network.target

[Service]
Type=simple
User=vhserver
WorkingDirectory=/home/vhserver
ExecStart=/home/vhserver/vhserver start
#ExecStop=su - vhserver -c "/home/vhserver/vhserver stop"'
Restart=on-failure

[Install]
WantedBy=multi-user.target

Ausgabe:
Code:
root@valheim:~# sudo systemctl status vhs
* vhs.service - Valheim Server
     Loaded: loaded (/etc/systemd/system/vhs.service; enabled; preset: enabled)
     Active: inactive (dead) since Thu 2024-08-29 22:11:47 CEST; 2min 16s ago
   Duration: 5.517s
    Process: 250 ExecStart=/home/vhserver/vhserver start (code=exited, status=0/SUCCESS)
   Main PID: 250 (code=exited, status=0/SUCCESS)
        CPU: 2.900s

Aug 29 22:11:41 valheim systemd[1]: Started vhs.service - Valheim Server.
Aug 29 22:11:47 valheim vhserver[250]: [140B blob data]
Aug 29 22:11:47 valheim systemd[1]: vhs.service: Deactivated successfully.
Aug 29 22:11:47 valheim systemd[1]: vhs.service: Consumed 2.900s CPU time.

Wenn ich aber den User ändere und überprüfe ob der Server läuft:

Code:
Change ports by editing the parameters in:
/home/vhserver/lgsm/config-lgsm/vhserver

Useful port diagnostic command:
ss -tuplwn | grep valheim_server.

DESCRIPTION  PORT  PROTOCOL  LISTEN
Game         7777  udp       0
Query        7778  udp       0

Status: STOPPED

vhserver@valheim:~$
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben