Mit Server Variablen (Englisch CVAR oder ConVar, Console Variable) lassen sich Source Engine Server konfigurieren. Beispielsweise kann man mit Server Variablen den Servernamen, das Serverpasswort, die Rundenzeiten und vieles mehr einstellen. Standardmäßig gibt es hunderte Server Variablen in Source Engine Servern. Diese sind durch Plugins und Addons erweiterbar. Die Wichtigsten werde ich in diesem Artikel zusammenfassen.
Dieser Artikel wurde ursprünglich für folgende Spiele geschrieben:
Die hier genannten Dinge könnten auch in anderen Source Engine Spielen funktionieren. Zur Not muss man es einfach ausprobieren.
Allgemein kann man sagen, dass alle Dateien auf dem Server mit der Endung “.cfg” Variablen enthalten. Der Standardordner für diese Dateien ist bei allen Source Servern der gleiche: (Beispiele anhand eine CS:GO Servers erstellt)
Mods wie z.B. Sourcemod erstellen teilweise ihren eigenen Ordner innerhalb dieses Ordners. Weiterhin hat Sourcemod noch einen separaten Ordner, in dem teilweise auch *.cfg Dateien enthalten sind.
Allgemein, alles was der Server von sich aus an Variablen mitbringt, gehört in die server.cfg. Alle Variablen, die durch z.B. ein Plugin hinzugefügt wurden, gehören entweder in die zugehörige Config-Datei oder in z.B. die sourcemod.cfg.
Für viele Variablen ist es zwar nicht zwingend erforderlich, aber bei manchen ist es entscheidend, in welcher Datei die Variable liegt. Der Grund dafür ist, dass z.B. die server.cfg bei Serverstart und bei jedem Kartenwechsel geladen wird, während andere Config-Dateien erst später geladen werden. (z.B. erst, wenn ein Spieler den Server betritt)
Am besten stellt man die Server Variablen ein, indem man in das Webinterface geht und anschließend die server.cfg bearbeitet. Hierzu ruft man den “Config Editor [extended] v2” auf, wählt die Server.cfg des gewünschten Spiels an und klickt auf bearbeiten.
Eine alternative Möglichkeit ist es, die Server Variablen über das sogenannte RCON Protokoll einzustellen. Dies empfiehlt sich allerdings nur, wenn man gerade etwas testet und nicht in das Webinterface gehen möchte. Denn der entscheidene Nachteil ist hierbei, dass die Einstellungen nach einem Serverneustart verschwinden. Ebenfalls werden nach einem Mapchange die Variablen umgeschrieben werden, falls diese bereits in einer Konfigurationsdatei vorhanden sind.
Es kann sein, dass Plugins, insbesondere bei Sourcemod, eigene Konfigurationsdateien haben. Dies wird dann aber im jeweiligen Artikel beschrieben.
Falls viel und häufig mit Konfigurationsdateien gearbeitet wird, kann die entsprechende Datei auch heruntergeladen werden und lokal auf dem PC bearbeitet werden. Hierzu wird eine FTP-Verbindung mit einem Tool wie z.B. FileZilla benötigt und ein einfacher Texteditor. (Notepad / Editor von Windows oder ein extra Programm wie Notepad++)
Es gibt drei Teile der Server Variable in genau dieser Reihenfolge: Variablenname, Leerzeichen und den Wert der Variable. Variablen werden mit einem Zeilenumbruch (Entertaste) getrennt.
Grundlegend kann man sagen, dass Variablen, die Zahlenwerte erwarten, keine Anführungszeichen benötigen. Wenn man Werte mit Buchstaben hat, sollte man diese in Anführungszeichen setzen aufgrund von Sonder-/Leerzeichen. Zwei Beispiele:
hostname "Nitrado Gameserver" mp_timelimit 30
Die erste Variable setzt den Servernamen auf den Wert “Nitrado Gameserver”. Da sich im Wert ein Leerzeichen befindet, muss der Wert in Anführungszeichen gesetzt werden. Die zweite Variable setzt die maximale Zeit, die auf einem Map gespielt wird, auf 30 Minuten. Da es sich um einen Zahlenwert handelt, muss der Wert nicht in Anführungszeichen gesetzt werden.
Sollte man nur den aktuellen Wert einer Variable benötigen, so lässt sich dieser anzeigen, indem man die Variable ohne Wert über die Serverkonsole (z.B. Via Ingame-Konsole oder HLSW) abfragt.
Bevor ich jede Variable in eine Tabelle aufliste, möchte ich nur kurz etwas erklären. In der Tabelle werde ich bei “möglicher Wert” diese drei Bezeichnungen verwenden.
| Variablenname | Möglicher Wert | Auswirkungen und Anmerkungen | Nicht unterstützte Spiele |
|---|---|---|---|
| hostname | String | Ändert den Servernamen | Keine |
| sv_password | String | Setzt ein Serverpasswort, das vor dem Betreten eingegeben werden muss. Wenn der Wert nicht gesetzt ist, muss kein Passwort angegeben werden. | Keine |
| rcon_password | String | Setzt das RCON Passwort, mit dem man auf die Serverkonsole zugreifen kann. Ein sicheres Passwort wählen! | Keine |
| sv_region | Integer (0-255) | In welchem Kontinent soll dein Server im Ingame-Serverbrowser angezeigt werden? 3 = Europa, 255 = Die ganze Welt. Mehr Infos hier. | Keine |
| sv_contact | String | Hier kannst du eine E-Mail Adresse hinterlegen, womit User dich kontaktieren können. (Öffentlich einsehbar) | Keine |
| sv_alltalk | Boolean | Können Spieler in befeindeten Teams miteinander über den Voicechat kommunizieren? 0 = nein, 1 = ja. | Keine |