Installations-Anleitung

Dies ist eine Installations-Anleitung zum Erstellen eines Game-Servers für "Garry's Mod - Trouble in Terrorist Town [TTT]". Mit Hilfe der folgenden Punkte lässt sich ein GM/TTT-Server erstellen.
Diese Anleitung ist für die folgenden Linux-Systeme:

  • Debian
  • Ubuntu
Stand: 11.01.2016
Clasimo.de

Vorwort

Diese Anleitung dient zur Orientierung und als Hilfestellung. Es könnte sein, dass in Zukunft die Installationsreihenfolge bzw. Serverbefehle im Einzelnen abweichen könnten. Von daher liegt die Benutzung dieser Anleitung beim Risiko des Verwenders.

Die Installation des Gamesservers betrifft im Eigentlichen die Kapitel Server-Vorbereitung, SteamCMD & GM-Server und GM-Server: Starten. Die anderen Kapitel sollen das Thema abrunden und weitere Informationen zu den Einstellungs-Möglichkeiten des Servers aufzeigen.

1.) Server-Vorbereitung

Übersicht:

  • Screen installieren
  • Benutzer anlegen
  • ia32-libs installieren

Screen:

Mit Hilfe von Screen wird eine virtuelle Konsole geöffnet. Wird die Sitzung bzw. das Terminal (z. Bsp. Putty-Verbingung) geschlossen wird, so läuft der GM-Server weiter und wird nicht beendet. Mehr Informationen zum Theme "Screen" sind auf der Website Screen (Ubuntuusers) zu finden. Sollte Screen noch nicht auf dem Linux-Server installiert worden sein, so lässt sich Screen mit folgenden Befehl installieren:

sudo apt-get install screen

Benutzer

Als nächstes wird ein neuer Benutzer mit Home-Verzeichnis angelegt. Mit diesem Benutzer wird im späteren Verlauf der GM-Server installiert und gestartet.

sudo adduser BENUTZERNAME

ia32-libs

Sollte es sich bei dem Linux-Server um ein 64-bit System handeln, so muss ia32-libs installiert werden, damit 32-bit Server (meist Steam-Server) auch unter einem 64-bit System laufen. Dies funktioniert mit den folgenden Zeilen:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install ia32-libs
Sollte man sich unsicher sein, kann dieser Punkt übersprungen werden. Sollte allerdings beim Starten des Server die Fehlermeldung "./steamcmd.sh: line 29: /home/$USER/Steam/linux32/steamcmd: No such file or directory" erscheinen, so muss ia32-libs installiert werden.

2.) SteamCMD & GM-Server

Übersicht:

  • Benutzer wechseln
  • SteamCMD herunterladen
  • Garry's Mod (Server) installieren
  • Server.cfg / Mount.cfg bearbeiten

Benutzerwechsel

An dieser Stelle wechseln wir von dem Sudo-User auf den neu angelegten User, bevor die weiteren Schritte ausgeführt werden. Der Benutzer kann mit folgenden Befehl gewechselt werden.

sudo su BENUTZERNAME

SteamCMD

Zunächst wechseln wir für die weiteren Schritte in das "Home-Verzeichnis" vom neu angelegten Benutzer, falls dies noch nicht geschehen ist.

cd /home/BENUTZERNAME/

Jetzt wird ein neues Verzeichnis in das Home-Verzeichnis des neuen Benutzers angelegt, um darin anschließend SteamCMD herunterzuladen und zu entpacken.

mkdir steam
cd steam
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

Garry's Mod - Server

Mit den folgenden Befehlen lässt sich der GM-Server installieren. Die Abfolge ist dabei wie folgt: Login, Installationsverzeichnis auswählen und den Gameserver installieren. Die Installation kann einige Minuten in Anspruch nehmen. [Bei einem Update der Server-Files, können die folgenden Schritte erneut ausgeführt werden!]

./steamcmd.sh
login anonymous
force_install_dir /home/BENUTZERNAME/gm_server
app_update 4020

Server.cfg / Mount.cfg

An dieser Stelle kann bereits die Server.cfg bzw. Mount.cfg bearbeitet werden, um weitere Einstellungen am Server vorzunehmen. Allerdings kann dies auch am Ende der Anleitung erfolgen, weshalb dieser Punkt erst am Ende der Seite weiter erläutert wird.

3.) GM-Server: Starten

Übersicht:

  • Screen starten
  • Startparameter
  • TTT-Server starten

Screen-Sitzung

Zunächst muss mit Screen eine Sitzung gestartet werden (Optional: Dies kann zum Testen übersprungen werden!), damit beim Schließen des Terminals der Server nicht gestoppt wird.

screen -S SITZUNGSNAME

Startparameter

Damit der TTT-Server gestartet werden kann, muss die srcds_run ausgeführt werden. Allerdings müssen dafür noch weitere Startparameter angefügt werden.

  • -console
  • -maxplayers SLOTZAHL
  • -game garrysmod
  • +gamemode terrortown
Optional können noch die folgenden Parameter angehängt werden. Zum Beispiel ein Steam-Workshop mit "authkey" und "host_workshop_collection" Addons oder Plugins zu laden oder eine Map mit "+map", die beim Serverstart geladen wird.
  • -authkey NUMMER
  • +host_workshop_collection NUMMER
  • +map MAPNAME
Anhand der SLOTANZAHL wird die Anzahl der zur verfügung stehenden Slots eingestellt. Bei der Nummer vom authkey und host_workshop_collection handelt es sich um die Nummer des Steam-Workshops bzw. dessen Auth-Key. Beim MAPNAME kann der gewünschte Name der Startmap nach Serverrestart eingestellt werden.

TTT-Server: Start

Der "Trouble in Terrorist Town Server" lässt sich mit dem folgenden Befehl starten. Optional kann mit +map MAPNAME eine "Startmap" eingestellt werden, die direkt nach dem Starten des Servers geladen wird. (Zusätzlich kann ein Authkey '-authkey NUMMER' oder Steam-Workshop '+host_workshop_collection NUMMMER' als Startparameter angehängt werden.)
Mit dem folgenden Befehl kann der TTT-Server gestartet werden:

./srcds_run -console -maxplayers SLOTANZAHL -game garrysmod +gamemode terrortown

Oder optional:

./srcds_run -console -maxplayers SLOTANZAHL -game garrysmod +gamemode terrortown -authkey NUMMER +host_workshop_collection NUMMER +map MAPNAME

Die Server.cfg

Server.cfg bearbeiten

Die Server.cfg befindet sich im folgenden Verzeichnis und kann mit dem folgenden Befehl bearbeitet werden. Nach der Bearbeitung wird die Datei mit der Tastekombination STRG+"X", gefolgt mit der Eingabe "Y" (Yes zum Speichern) und durch die Bestätigung mit der "Eingabe-Taste" geschlossen.

nano /home/BENUTZERNAME/gm_server/garrysmod/cfg/server.cfg


Unsere Server.cfg kann hier heruntergeladen werden.

Beispiel-CFG

Mittels der "server.cfg" können weitere Servereinstellungen vorgenommen werden. Der folgende Beispiel-Code kann verwendet werden, um die "server.cfg" für einen TTT-Server einzustellen. Anhand hostname kann dem Server einen Namen zugewiesen werden. Über sv_password kann dem Server ein Passwort gegeben werden, das zum Betreten des Server eingegeben werden muss. Das rcon_password dient zum Administrieren über die Console im Spiel. Dabei sind die Parameter sv_loadingurl und sv_downloadurl optional und können weggelassen werden.
Die Parameter beginnend mit ttt_ sind die Einstellungen, die für das Gameplay von Trouble in Terrorist Town verwendet werden. Hierbei handelt es sich um Beispiel-Einstellungen und können nach Bedarf abgewandelt werden. Bei diesem Parametern handelt es sich nur um ein Auszug. Es gibt noch weitere, die an dieser Stelle nicht weiter beschrieben werden.

hostname "SERVERNAME"
sv_password "SERVER-PWD"
rcon_password "RCON-PWD"
sv_loadingurl "URL-ZUM-LOADINGSCREEN"
decalfrequency 5

sv_lan 0
sv_minupdaterate 64
sv_maxupdaterate 128
sv_downloadurl "LINK-ZUM-FASTDOWNLOAD"
sv_allowdownload 0
sv_allowupload 0

ttt_preptime_seconds 30
ttt_firstpreptime 60
ttt_posttime_seconds 15
ttt_round_limit 10
ttt_time_limit_minutes 90

ttt_traitor_pct 0.3
ttt_traitor_max 5
ttt_detective_pct 0.3
ttt_detective_max 5
ttt_detective_min_players 6
ttt_detective_karma_min 1000

ttt_voice_drain 1
ttt_postround_dm 1
ttt_dyingshot 1
ttt_no_nade_throw_during_prep 1

ttt_karma_starting 600
ttt_karma_max 1337
ttt_karma_low_amount 400
ttt_karma_low_ban 1
ttt_karma_low_ban_minutes 60
ttt_karma_persist 1

ttt_detective_hats 1
ttt_playercolor_mode 3
ttt_locational_voice 1

ttt_spawn_wave_interval 2

Andere Texturen - Mount.cfg

Verwendung der Mount.cfg

Für Trouble in Terrorist Town gibt es viele verschiedene Maps. Hier kann es vorkommen, dass bei einigen Maps Textur-Fehler auftreten können. Dies liegt daran, dass die Texturen aus anderen Spielen wie Counter-Strike für die Map verwendet werden. Damit dieser Fehler behoben wird, muss das jeweilige Spiel, woraus die Texturen benötigt werden, eingebunden (gemountet) werden.

Benötigtes Spiel

Wird ein Spiel zum Einbinden benötigt, müsste dieses ggf. vorher installiert werden. Bei Counter-Strike: Source muss der Server (App-ID: 232330) installiert werden. Wie zuvor beschrieben muss die SteamCMD gestartet werden und folgende Befehle ausgeführt werden. Dabei kann der Installationspfad ggf. abweichen. (Wichtig: Sollten mehrere TTT-Server installiert werden, dann reicht eine Installation zum Einbinden aus!)

login anonymous
force_install_dir /home/BENUTZERNAME/css_server
app_update 232330
quit

Spiel einbinden

An dieser Stelle wird in diesem Fall CSS für den TTT-Server eingebunden. Hierzu müssen wir wie folgt die Mount.cfg öffnen und bearbeiten.

nano /home/BENUTZERNAME/gm_server/garrysmod/cfg/mount.cfg

Nun sollte in etwa folgender Inhalt erscheinen:

"mountcfg"
{
    // "cstrike"   "C:\steamcmd\steamapps\common\Counter-Strike Source Dedicated Server\cstrike"
    // "tf"           "C:\mytf2server\tf"
}
Hier muss die Zeile, worin "cstrike" steht, auskommentiert werden und dann der Pfad zur cstrike-Datei angepasst werden. In unserem Fall müsste die Datei wie folgt verändert werden:
"mountcfg"
{
    "cstrike"   "/home/BENUTZERNAME/css_server/cstrike"
    // "tf"        "C:\mytf2server\tf"
}

Fehlerbehebung

Firewall

Es kann vorkommen, dass der Server richtig installiert und gestartet wurde. Die Console zeigt auch keine Fehlermeldung an, dennoch erscheint der Server nicht in der Serverliste. Dies kann unter anderem an der Firewall liegen. Sollte die Firewall aktiviert sein. So muss der Port vom Spiel für die Firewall freigegeben werden.

Standard-Port: 27015