gamemodes_server.txt

Bei Counter-Strike: Global Offensive (CS:GO) hat sich in Sachen Server Hosting etwas getan. Das Konfigurieren des eigenen Gameservers funktioniert etwas anders als bisher. Viele Einstellungen, die die Spielmodi und deren Regeln betreffen, laufen nun über die Datei gamemodes_server.txt und um dort den Überblick zu behalten, haben wir für euch ein Tutorial auf die Beine gestellt.

gamemodes.txt

Als erstes stellt sich natürlich die Frage, was diese Datei eigentlich genau macht. Dazu sollten wir zunächst einen Blick auf die „Eltern-Datei“ (ich nenn sie jetzt mal so) gamemodes.txt werfen. Wie der Name schon verrät, legt diese die Regeln für die verschiedenen Spielmodi in Counter-Strike: Global Offensive (CS:GO) fest. Die darin festgelegten Werte sind sozusagen die offiziellen Regeln von Valve. Diese Datei sollte nicht verändert werden! Man könnte sie schon editieren, doch sobald Valve diese Datei mit einem Update überschreibt, sind alle eigenen Einstellungen verloren.

gamemodes_server.txt

An dieser Stelle kommt nun die gamemodes_server.txt ins Spiel! Hier kann man problemlos eigene Spielregeln (z.B. Rundenzeit, Startgeld, Friendly Fire usw.) festlegen, ohne dass man etwas kaputt machen kann oder die Einstellungen durch Updates verloren gehen können. Diese Datei überschreibt nämlich einfach die Einstellungen, die in Valves gamemodes.txt festgelegt sind, weil sie in der Reihenfolge der ausgeführten Dateien auf dem Server erst danach drankommt. Doch damit am Ende alles fehlerfrei funktioniert, muss man bestimmte Richtlinien befolgen.

Die richtige gamemodes_server.txt muss man selbst erstellen! Diese gehört auf dem Server in das Verzeichnis \csgo\ hinein. Als Orientierungshilfe gibt es eine Datei Names gamemodes_server.txt.example von der man sich einiges abschauen kann. Diese öffnet man einfach mit einem Texteditor oder entfernt die Endung „.example“, damit sie automatisch damit geöffnet wird.

Beispiel

Schauen wir uns dieses Beispiel einer gamemodes_server.txt einmal etwas genauer an.

csgo server gamemodes_server.txt

Hier sieht man wie eine solche Datei aufgebaut sein muss, damit sie richtig funktioniert. Eigentlich erklärt sich schon vieles darin von selbst, oder? Trotzdem gibt es ein paar wichtige Regeln, an die man sich beim Bearbeiten dieser Datei halten muss. Tut man das nicht, kann es zu Problemen mit dem Server führen.

In dieser Beispieldatei werden die Einstellung für die beiden Spielmodi („gameModes“) „casual“ und „competitive“ festgelegt, die beide Teil des Spieltyps („gameTypes“) „classic“ sind.

Maxplayers

Ein sehr wichtiger Punkt. Die Variable „Maxplayers“, die die maximale Spielerzahl auf dem Server festlegt, hat in CS:GO eine Sonderstellung bekommen. Während sie früher ausschliesslich als Startparameter für Server vorhanden war, ist sie nun als Varaible in der gamemodes_server.txt enthalten. Wichtig ist zu erkennen, dass „Maxplayers“ allein steht und nicht Teil einer der Befehlsblöcke ist, die darauf folgen.

Da es vielen Serveranbietern gar nicht gefallen hat, dass Valve während der CS:GO Beta die Maxplayers-Einstellung einfach von den Startparametern in die gamemodes_server.txt verschoben hat und somit jeder daran rumspielen konnte wie er wollte, wurde kurze Zeit später ein neuer Startparameter eingeführt: -maxplayers_override – dieser überschreibt alle anderen Maxplayers-Einstellungen, also auch die in der gamemodes_server.txt!

Configs ausführen

Kommen wir zum nächsten Punkt: „exec“ (= execute, dt. ausführen). Eine sehr praktische Funktion, um Ordnung und Übersichtlichkeit zu bewahren. Damit kann man nämlich einfach weitere Configs ausführen, die man aber vorher auf dem Server im Ordner \csgo\cfg\ ablegen muss. Dort befinden sich auch die Standardconfigs für die verschiedenen Spielmodi, z.B. gamemode_competitive.cfg. Aber auch hier gilt wieder: Diese Dateien sollte man nicht bearbeiten! Stattdessen sollte man den Inhalt kopieren und in eine selbst erstellte Datei einfügen. Dort kann man dann gefahrlos an den Einstellungen herumspielen, wie man möchte.

csgo server gamemodes_server.txtZum Beispiel kann man sich eine eigene Config erstellen und diese „meine_competitive_config.cfg“ nennen. In der gamemodes_server.txt muss man dann nur noch den exec-Befehl wie folgt anpassen:

"exec"
{
"exec" "meine_competitive_config.cfg"
}

Und schon werden die eigenen Einstellungen geladen und die Datei bleibt schön übersichtlich.

Manchmal passiert es, dass der „exec“ Befehl nicht funktioniert und das Spiel die selbsterstellte Config nicht übernimmt. Umgehen kann man das Problem, in dem man die eigene Config je nach verwendetem Spielmodus folgendermaßen benennt:

  • gamemode_armsrace_server.cfg
  • gamemode_casual_server.cfg
  • gamemode_competitive_server.cfg
  • gamemode_deathmatch_server.cfg
  • gamemode_demolition_server.cfg

Auch diese Dateien müssen sich dann im Verzeichnis \csgo\cfg\ befinden. Der CS:GO Server sucht beim Start automatisch nach diesen Dateien und führt sie aus, wenn sie vorhanden sind.

Convars

Es gibt noch eine unschönere Variante, die hier eher der Vollständigkeit halber erwähnt wird. Es ist davon abzuraten diese Methode zu wählen, da viele der hier festgelegten Settings von anderen Dateien einfach überschrieben werden. Das hängt mit der Reihenfolge zusammen, in der ein CS:GO Server die Configs lädt. Man könnte mit dieser Methode die gewünschten Convars in die gamemodes_server.txt direkt einfügen. Das würde dann folgendermaßen aussehen:

"convars"
{
"sv_cheats" "0"
"sv_lan" "0"
"sv_minrate" "20000"
}

Das war jetzt nur ein Beispiel mit drei Befehlen. Man kann theoretisch alles einfügen was man möchte. Alles was hier nicht angegeben wird, bleibt auf den Standardeinstellungen bzw. den Werten, die in anderen Configs gemacht wurden. Doch wie bereits erwähnt ist es ratsam diesen Block komplett wegzulassen und die Einstellungen über externe Configs vorzunehmen, um die Gefahr des überschrieben werdens zu minimieren.

Mapgroups

Wenn man auf seinem Server Custom Maps aus dem Workshop haben möchte, dann sollte man Mapgroups komplett weglassen! Man darf nur eines der beiden Systeme nutzen, ansonsten kann es zu diversen Problemen kommen. Mehr dazu in diesem Artikel: Workshop Maps auf CS:GO Server

Eine weitere Neuerung in CS:GO sind die Mapgroups. Diese müssen ebenfalls richtig konfiguriert werden, sonst kann es unter anderem passieren, dass der Server nicht mehr betreten werden kann, wenn beim Start eine ungültige Map geladen wird. Das praktische: Die Mapgroups werden in der gamemodes_server.txt sowohl angegeben als auch definiert.

csgo server gamemodes_server.txt

Wir machen es der Reihe nach: Zuerst angeben welche Mapgroups für den entsprechenden Modus gültig sind. Das geht ganz einfach und erklärt sich eigentlich von selbst.

"mapgroupsMP" // List of mapgroups valid for this game mode ( casual )
{
"mg_bomb_se" ""
}

Hier wird nun die Mapgroup „mg_bomb_se“ hinzugefügt, die alle Bomb Defusion Maps in ihrer „_se“-Variante enthält. Man kann hier auch mehrere Mapgroups angeben. Welche Mapgroup zum Einsatz kommt, wird per Startparameter an den Server weitergegeben. Das kann in dieser Datei also nicht festgelegt werden.

Der Startparameter für die Mapgroup lautet: +mapgroup namedermapgroup

An dieser Stelle endet der „gameTypes“-Block. D.h. wir haben dem Server hiermit alle Einstellungen mitgegeben, die wir in den entsprechenden Spielmodi haben wollen.

Jetzt kommt der „Mapgroups“-Block. Hier kann man eigene Mapgroups definieren. D.h. man bestimmt an dieser Stelle, welche Maps auf dem Server laufen. Wir führen einmal das Beispiel von oben fort und nehmen alle „_se“-Maps mit Bombenszenario.

"mapgroups"
{
"mg_bomb_se" // mapgroup definition
{
"name" "mg_bomb_se"
"maps"
{
"de_dust_se" ""
"de_dust2_se" ""
"de_nuke_se" ""
"de_train_se" ""
"de_inferno_se" ""
"de_aztec_se" ""
}
}
}

Dadurch weiß der Server welche Map wann kommt. Eigentlich gar nicht so schwer oder? Mann kann hier natürlich beliebig viele Mapgroups erstellen, falls man etwas Abwechslung auf dem Server haben möchte.

Reihenfolge und Priorität der Configs

Wenn man an der gamemodes_server.txt und anderen Dateien herumspielt, dann ist es sehr nützlich zu wissen in welcher Reihenfolge der CS:GO Server die verschiedenen Configs ausführt. Sollten Einstellungen in mehreren Dateien vorkommen, gilt immer der Wert in der zuletzt ausgeführten Datei.

gamemodes.txt
gamemodes_server.txt
autoexec.cfg
server.cfg
gamemode_x.cfg
gamemode_x_server.cfg
any custom „exec“s in gamemodes_server.txt

(Stand 31.08.2012, sollte aber noch so gelten)

gamemodes_server.txt Beispieldatei

Zum Abschluss noch ein Beispiel wie eine komplette gamemodes_server.txt aussehen könnte:

csgo server gamemodes_server.txt

Und damit sind wir auch schon am Ende unseres Tutorials angekommen. Falls noch Fragen offen sind, stellt sie einfach in unserem Server Hosting Forum.

Links:
inCounterStrike.de bei Facebook
inCounterStrike.de bei Twitter
Gameserver by GamerzHost