7 Days To Die Dedicated Server auf Debian Linux via Kommandozeile installieren: Unterschied zwischen den Versionen

Aus Knowledgebase
Zur Navigation springen Zur Suche springen
(→‎Weblinks: Genauer)
Zeile 96: Zeile 96:
Durch den nachfolgenden Cronjob wird der Server nach einem Reboot automatisch gestartet. Muss mit <code>crontab -e</code> als Benutzer ''sdtd'' eingefügt werden:
Durch den nachfolgenden Cronjob wird der Server nach einem Reboot automatisch gestartet. Muss mit <code>crontab -e</code> als Benutzer ''sdtd'' eingefügt werden:
  @reboot  cd ~/Steam/steamapps/common/'7 Days to Die Dedicated Server' && ./startserver.sh -configfile=serverconfig.xml
  @reboot  cd ~/Steam/steamapps/common/'7 Days to Die Dedicated Server' && ./startserver.sh -configfile=serverconfig.xml
Mit der o.&thinsp;G. Zeile als Benutzer ''sdtd'', ohne das ''@reboot'' vornedran kann der Server dann gestartet und die Shell alsdann geschlossen werden (logout).
== Debugging ==
Im Unterordner ''7DaysToDieServer_Data'' findet sich ein ''output_log'' mit Timestamp hintendran, da landen die Ausgaben vom Server drin.


== Weblinks ==
== Weblinks ==

Version vom 11. März 2019, 00:13 Uhr

Die Installation eines 7 Days To Die Dedicated Servers auf auf Debian Linux via Kommandozeile ist nicht ganz trivial. Das gilt vor allem für die Inbetriebnahme des Steam-Clients für die Kommandozeile.

Dass besagter Client nicht unbedingt hilfreiche numerische Fehlermeldungen von sich gibt, ist alles andere als hilfreich.

Der Server benötigt rund 6,4 GiB Platz auf der Platte und rund 2 GiB RAM (ohne Spieler).

Steam-Client

Als Grundvoraussetzung für alle Steam-Themen muss zuerst mal der Client installiert und grundkonfiguriert werden. Das passiert am Besten als root, um den Client systemweit für alle Benutzer anbieten zu können.

Download und Auspacken

Im Zielverzeichnis müssen rund 250 MiB Platz vorhanden sein.

cd /tmp
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
mkdir /opt/steamcmd
cd /opt/steamcmd
tar xzf /tmp/steamcmd_linux.tar.gz && rm -f /tmp/steamcmd_linux.tar.gz

Initialer Start

./steamcmd

Hier scrollt nun eine Menge Text durch mit Hinweisen über Downloads und Pakete. Am Ende muss ein fett gedruckter Prompt da stehen:

Steam>

Der Client kann an dieser Stelle mit quit verlassen werden.

Berechtigungen einrichten

groupadd steam
chgrp -R steam /opt/steamcmd
find /opt/steamcmd -type d -exec chmod 2775 {} \;
chmod 2770 /opt/steamcmd

Suchpfad ergänzen

vi /etc/profile

Natürlich kann man den Editor seiner Wahl verwenden. Letztendlich kommt es darauf an, in den Zeilen, in denen die PATH-Variable gesetzt wird, den Pfad zum Steam-Client zu ergänzen.

Vorher
if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
fi
Nachher
if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/opt/steamcmd"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/opt/steamcmd"
fi

Optional können nun bereits auf dem System angelegte Benutzer in die Gruppe steam aufgenommen werden.

useradd reiner steam

(Im Beispiel heißt der vorhandene Benutzer reiner.)

Damit sind die vorbereitenden Arbeiten für den Client abgeschlossen.

Server

Sinnvollerweise richtet man den Server so ein, dass er unter einem eigenen Benutzer läuft. Dazu fügen wir den Benutzer sdtd hinzu:

adduser --ingroup steam --disabled-password --gecos 'Seven Days To Die Dedicated Server Account' sdtd

Installation

Nun installieren wir den Server. Ganz wichtig ist, dass in /home genügend freier Platz zu Verfügung steht. Ausgepackt bringt der Server derzeit 6,4 GiB an Daten mit!

su - sdtd
steamcmd.sh

Ab hier ist nun nach jeder Eingabe der Steam>-Prompt sichtbar.

login anonymous
app_update 294420 validate

Der Download wird nun durchgeführt und dauert seine Zeit. Falls das Kommando mit der Meldung Error! App '294420' state is 0x202 after update job. abbricht, ist nicht genügend freier Platz in /home/sdtd/Steam vorhanden!

Nach dem Update kann der Client wiederum beendet werden:

quit

Konfiguration

Die Konfiguration findet sich in ~/Steam/steamapps/common/"7 Days to Die Dedicated Server"/serverconfig.xml.

Weiteres wird noch ergänzt.

Automatischer Start

Damit der Server nach dem automatischen Start ordnungsgemäß im Hintergrund weiterläuft, muss im Startscript eine Anpassung vorgenommen werden:

Vorher
if [ "$(uname -m)" = "x86_64" ]; then
 ./7DaysToDieServer.x86_64 -logfile 7DaysToDieServer_Data/output_log__`date +%Y-%m-%d__%H-%M-%S`.txt -quit -batchmode -nographics -dedicated $PARAMS
else
 ./7DaysToDieServer.x86 -logfile 7DaysToDieServer_Data/output_log__`date +%Y-%m-%d__%H-%M-%S`.txt -quit -batchmode -nographics -dedicated $PARAMS
fi
Nachher
if [ "$(uname -m)" = "x86_64" ]; then
 ./7DaysToDieServer.x86_64 -logfile 7DaysToDieServer_Data/output_log__`date +%Y-%m-%d__%H-%M-%S`.txt -quit -batchmode -nographics -dedicated $PARAMS &
else
 ./7DaysToDieServer.x86 -logfile 7DaysToDieServer_Data/output_log__`date +%Y-%m-%d__%H-%M-%S`.txt -quit -batchmode -nographics -dedicated $PARAMS &
fi

Durch den nachfolgenden Cronjob wird der Server nach einem Reboot automatisch gestartet. Muss mit crontab -e als Benutzer sdtd eingefügt werden:

@reboot  cd ~/Steam/steamapps/common/'7 Days to Die Dedicated Server' && ./startserver.sh -configfile=serverconfig.xml

Mit der o. G. Zeile als Benutzer sdtd, ohne das @reboot vornedran kann der Server dann gestartet und die Shell alsdann geschlossen werden (logout).

Debugging

Im Unterordner 7DaysToDieServer_Data findet sich ein output_log mit Timestamp hintendran, da landen die Ausgaben vom Server drin.

Weblinks