BATTALION: Legacy – Dedicated Server installieren

WARNUNG: Diese Anleitung ist noch nicht komplett! Ich werde weitere Informationen hinzufügen, sofern sie mir vorliegen 🙂


Mit dieser Anleitung schaffst du es, einen BATTALION: Legacy Dedicated Server zu installieren.
Wir werden hier einen Server auf einer Linux-Plattform einrichten.
Viele Befehle und Einstellungen sind aber identisch zur Windows-Plattform.

Vorraussetzungen:
– Einen Server mit Root-Zugang
– CPU: min 2×2,0GHz
– RAM: min 2GB
– Speicher: min. 10GB frei
– Anbindung: 1Gbits empfohlen

Alles vorhanden?
Dann legen wir mal los!

Diese Anleitung wurde mit Debian / Ubuntu getestet!
Ersetze den Begriff USERNAME in der Anleitung, gegen deinen Nutzernamen auf dem Server!


1. Lege einen Nutzer an, mit dem das Spiel und Steam ausgeführt wird. Mit dem Root-Nutzer sollten wir das NICHT tun!

# adduser USERNAME

2. Lege einen Steam-Ordner im Home-Verzeichnis oder einem anderen Ort an, wo genügend Speicherplatz zur Verfügung steht.

# mkdir /home/USERNAME/steam
# cd /home/USERNAME/steam

2. Lade nun mit dem Nutzer aus Schritt 1 SteamCMD herunter und entpacke alles.

# curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

3. Installiere als ROOT eventuell noch fehlende Pakete, damit SteamCMD ausgeführt werden kann.

# apt install lib32gcc-s1

4. Führe mit dem Nutzer aus Schritt 1 nun SteamCMD aus, um die restlichen Daten herunterladen zu lassen.

# ./steamcmd.sh

5. Haben wir die Eingabe von Steam, beenden wir diesen Prozess mit exit wieder

steam> exit

6. Nun laden wir uns die aktuellen Serverdaten über Steam herunter. Battaltion Legacy ist unter der ID 805140 erreichbar.

# ./steamcmd.sh +login anonymous +app_update 805140 +quit

Die Daten werden jetzt hier rein geladen: /home/USERNAME/Steam/steamapps/common/BattalionServer

7. Um beim Starten keine Fehlermeldung zu erhalten, müssen wir eine Datei verlinken.

# mkdir -p /home/USERNAME/.steam/sdk64
# ln -s /home/USERNAME/Steam/linux64/steamclient.so /home/USERNAME/.steam/sdk64/

Somit haben wir nacher eine Warnung weniger 🙂

8. Den Server können wir nun mit folgendem Befehl starten.

# ./BattalionServer.sh -QueryPort=27015 -SteamServername="Hoerlis Tutorials sind super"

-QueryPort -> Damit können wir den genutzten Serverport bestimmen. Dieser muss in der Firewall freigeschaltet werden, damit der Server öffentlich erreichbar ist.
-SteamServername -> Dies ist der Anzeigename des Servers. Wenn nichts angegeben wird, erhält der Server eine automatisch generierte Nummer als Name.
-ServerPassword=”DeinServerPasswort” -> Schütze dein Server mit einem Passwort. es sollte in Anführungszeichen stehen, damit es korrekt erfasst wird.

Starte den Server nun einmal, um im Log zu sehen, ob es noch irgendwelche Fehler oder Warnungen gibt.
Der Server sollte jetzt erst einmal mit einer Standardkonfiguration starten.
Wenn das geklappt hat, können wir weiter machen.
Mit STRG + C kannst du den Server wieder beenden.


Um den Server zu starten, haben wir zwei Möglichkeiten.
Wir können Screen nutzen, oder den Server als Dienst starten.

Screen:
Wir erstellen uns eine Startdatei, um das Starten so einfach wie möglich zu haben.

# nano /home/USERNAME/Steam/steamapps/common/BattalionServer/Battalion-Server-Screen.sh

Hier bauen wir unseren Startbefehl zusammen, um den Server mit der gewünschten Konfiguration zu starten.

screen -S BattalionServer ./BattalionServer.sh -QueryPort=27015 -SteamServername="Hoerlis Tutorials sind super"

Diese Datei dann noch schnell ausführbar machen und den Server starten.

# chmod +x /home/USERNAME/Steam/steamapps/common/BattalionServer/Battalion-Server-Screen.sh

Und nun den Server starten.

# /home/USERNAME/Steam/steamapps/common/BattalionServer/Battalion-Server-Screen.sh

Mit STRG + A gefolgt von D können wir den Screen minimieren.

Service per SystemD:
Wir wechseln in das SystemD-Verzeichnis.

# cd /etc/systemd/system

Dort legen wir eine neue Service-Datei an. Diese können wir frei benennen. Am besten was aussagekräftiges nehmen.

# nano battalion.service

Diese Datei befüllen wir mit folgendem Inhalt.

[Unit]
Description=TrackMania Autostart Script
After=network.target

[Service]
Type=forking
WorkingDirectory=/home/USERNAME/Steam/steamapps/common/BattalionServer/
User=USERNAME
Group=USERNAME
ExecStart=/home/USERNAME/Steam/steamapps/common/BattalionServer/Battalion-Server-Screen.sh -QueryPort=27015 -SteamServername="Hoerlis Tutorials sind super"
Restart=on-failure
RestartSec=10

[Install]
WantedBy=default.target

Wie du siehst, musst du hier nur den Pfad zum Server anpassen und ggf. die Serverkonfiguration bei ExecStart auf deine Wünsche editieren.

Ist alles angepasst, müssen wir den Dienst aktivieren.

# systemctl enable battalion.service

Nun können wir den Server ganz normal mit folgendem Befehl starten:

# systemctl start battalion.service

Das wars.
Nun läuft unser BATTALION Legacy Server.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.