Server Variablen - Source Engine

Aus Nitradopedia
Wechseln zu: Navigation, Suche
Garrysmod header.png
Miete dir jetzt deinen eigenen prepaid Garrys Mod Server auf nitrado.net

Was sind Server Variablen?

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.

Über welche Spiele handelt dieser Artikel?

Dieser Artikel wurde ursprünglich für folgende Spiele geschrieben:

  • Half-Life 2: Deathmatch
  • Counter-Strike: Source
  • Counter-Strike: Global Offensive
  • Team Fortress 2
  • Left 4 Dead
  • Left 4 Dead 2
  • Garry’s Mod

Die hier genannten Dinge könnten auch in anderen Source Engine Spielen funktionieren. Zur Not muss man es einfach ausprobieren.

Die Variablen und die zugehörigen Dateien

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)

  • /csgo/csgo/cfg

Mods wie z.B. Sourcemod erstellen teilweise ihren eigenen Ordner innerhalb diesem Ordner. Weiterhin hat Sourcemod noch einen separaten Ordner in dem teilweise auch *.cfg Dateien enthalten sind.

  • /csgo/csgo/cfg/sourcemod
  • /csgo/csgo/addons/sourcemod/configs

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)

Wo stelle ich Server Variablen ein?

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 grade 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 verschiedensten 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++)

Wie stelle ich eine Server Variable ein?

Es gibt drei Teile der Server Variable in genau der selben 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.

Häufig genutzte Servervariablen

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.

  • String (Wert mit Zahlen-/Zeichenwerten z.B. "Dies ist mein toller N!tr4do Server.", Immer in Anführungszeichen (") setzen!)
  • Boolean (Wert der nur zwei Zustände haben kann, 0 oder 1)
  • Integer (Wert der nur einen Zahlenwert haben kann. Die Limits werden in der jeweiligen Zeile genannt.)
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