[TUTORIAL] Steam Pipe Gameserver Installation Linux

05/21/2013 12:06 Killerkarnickel#1
Steam Pipe Gameserver Installation

Ihr benötigt:
Notepad++
WinSCP mit Putty
oder
FileZilla und Putty

Teil 1: Vorbereitung

Als erstes loggt ihr euch per SSH als Root ein. Danach updated ihr den Rootserver und installiert Screen und die ia32-libs (bei 64bit Systemen):

Code:
apt-get update
apt-get upgrade
apt-get install screen
apt-get install ia32-libs
Teil 2: SteamCMD

Nun installieren wir die SteamCMD zentral für alle Server:

Code:
cd /home
mkdir ./SteamCMD
cd /home/SteamCMD
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar xf steamcmd_linux.tar.gz
./steamcmd.sh
Durch das ./steamcmd.sh wird nun das Tool upgedated. Danach gebt ihr in der Steamprompt einfach quit ein.

Nun setzen wir die Rechte der SteamCMD:

Code:
chmod -R 777 /home/SteamCMD
Damit die SteamCMD ohne fehler funktioniert müssen wir nun die Limits für alle user ändern.

Dazu müssen wir die Datei /etc/security/limits.conf bearbeiten. Fügt einfach folgendes ein (Entweder über WinSCP mittels Editor oder über putty mit nano /etc/security/limits.conf):

Code:
* soft nofile 2048
* hard nofile 2048
Damit sind wir mit der SteamCMD fertig.

Teil 3: Gameserverinstallation

Nun kommen wir zur eigentlichen Gameserverinstallation.

Als erstes legen wir uns einen neuen User an (bei mir gameserver). Gameserver sollen nicht über Root installiert werden!:

Code:
useradd -m gameserver
passwd gameserver
2x passwort für den neuen User eingeben
Jetzt loggen wir uns mit dem neuen User via SSH auf den Server ein und erstellen folgende Verzeichnisstruktur (Späteres Installationsverzeichnis):

Code:
mkdir /home/gameserver/server
mkdir /home/gameserver/server/css_27015
Jetzt wechseln wir in dieses Verzeichnis:

Code:
cd /home/gameserver/server/css_27015
Wir erstellen dort nun eine Datei namens update.txt mit folgendem Inhalt:

Code:
login anonymous
force_install_dir /home/gameserver/server/css_27015
app_update 232330 validate
quit
Nun lassen wir die SteamCMD die Installation durchführen:

Code:
cd /home/SteamCMD
./steamcmd.sh +runscript /home/gameserver/server/css_27015/update.txt
Jetzt wird der Gameserver installiert.

Wenn die Installation fertig ist erstellen wir uns ein einfaches Startscript. Dazu wechseln wir wieder in unser Server Verzeichnis:

Code:
cd /home/gameserver/server/css_27015
Erstellt nun eine Datei namens start.sh mit folgendem Inhalt (wenn ihr dies auf eurem Windows PC erstellt und hoch ladet, müsst ihr diese Datei mit einem Linux fähigem Editor erstellen: Bsp. Notepad++):

Code:
#! /bin/bash
screen -AmdSL css_27015 /home/gameserver/server/css_27015/srcds_run -game cstrike -tickrate -maxplayers 32 +map de_dust2 -ip 123.456.789.012 -port 27015 -console -steam_dir /home/SteamCMD -steamcmd_script /home/gameserver/server/css_27015/update.txt -autoupdate
exit 0
Nun erteilen wir dem Script noch die nötigen Rechte:

Code:
chmod 755 /home/gameserver/server/css_27015/start.sh
Jetzt führt ihr das Script aus:

Code:
./start.sh
Nun startet euer Gameserver mittels Screen im Hintergrund und sucht bei jedem Gameserverstart Updates. Den Server könnt ihr über Konsole mittels quit neustarten oder den Screen beenden und das Script erneut ausführen.

Nach dem ersten Start muss der Gameserver neu gestartet werden, da er sonst nicht Online verfügbar ist!

Um andere Gameserver zu installieren müsst ihr einfach die Steam APP-ID austauschen (Bsp. app_update 232250 für Team Fortress 2).

Für die Administration des Servers empfehle ich Sourcemod. Die Installation von Sourcemod wird in vielen anderen Tutorials behandelt. Deshalb gehe ich darauf nicht weiter ein.

Viel Spaß mit dem neuen Server. :cool:
06/05/2013 14:26 Killerkarnickel#2
Windows Beitrag erfolgt in Kürze
06/05/2013 14:54 .Bara.#3
1. Verlinkung zu Debian Wheezy 64 Bit wäre nicht verkehrt, da Wheezy ja released wurde und die Hoster werden auch ihre Image's updaten.
[Only registered and activated users can see links. Click Here To Register...]

2. Das "useradd" und "passwd" kannst du dir mit "adduser" sparen.

3. Fehlt bei bei der start.sh die Tickrate Angabe, wodurch evtl. der Server nicht startet.
06/05/2013 22:55 Killerkarnickel#4
Adduser kenn ich mag ich persönlich nicht und csgo ist das einzige Spiel das eine andere tickrate hat. Das mit wheezy wusst ich nicht, nichtmal das es schon existiert :P
06/18/2013 12:20 Re4ll#5
thx hat mir geholfen!
06/18/2013 12:31 Mevo1907#6
danke hat mir geholfen