Mittels SourceTV lassen sich pro Server maximal 255 Slots für Zuschauer zur Verfügung stellen. Es wird zwischen Masterserver und Relayserver unterschieden. Der Masterserver ist der SourceTV-Server, der durch den Gameserver, auf dem gespielt wird, gestartet wird. Die Relay-Server verbiden sich mit dem SourceTV eines Master-Servers oder andern Relay-Servern und leiten die Informationen an die Clienten weiter. Dadurch lassen sich beliebig viele Slots durch mehrere Relay-Server bereitstellen. In der Regel reicht ein SourceTV-Server aber aus.
Der SourceTV kann mittels der Konsolen-Variable tv_enable „1“
aktiviert werden. Für den SourceTV-Server wird automatisch der Serverport + 5 zugeteilt. Ist der Port belegt, wird der nächste freie Port verwendet. Der Ports, auf dem Server SourceTV läuft, kann aber auch festgelegt werden.
Folgende Konsolen-Variablen sind zum Steuern des Servers vorhanden:
Befehl/Cvar | Standard | Bedeutung |
---|---|---|
tv_enable | 0 | Bei 1 wird der SourceTV-Server gestartet. |
tv_autorecord | 1 | Nimmt automatisch eine Demo für jede Map auf. |
tv_delay | 30 | Legt die Verzögerung, mit der die Spieler das Spiel beobachten können fest. Dadurch ist gewährleistet, dass Zuschauer den teilnehmenden Spielern aktuelle Spielzüge der Gegner verraten können. |
tv_maxrate | 5000 | Legt die maximale Bandbreite pro Spieler fest. Der Wert sollte nicht zu hoch eingestellt werden, da ansonsten bei manchen Spielern Fehler beim Verbinden auftrefen und ggf. sogar die Internetverbindung getrennt wird. Es scheint sich da um einen Bug zu handeln. tv_maxrate sollte auf keinen Fall auf 0 gesetzt werden. Bei 20000 sollte es keine Probleme geben |
tv_maxclients | 128 | Gibt an, wieviele freie Slots für Zuschauer vorhanden sind. |
tv_snapshotrate | 15 | Legt die Tickrate des SourceTV-Servers fest. |
tv_relayvoice | 0 | Bei 1 werden die Gespräche aller Spieler an die Zuschauer auf dem SourceTV-Server übertragen. |
tv_transmitall | 0 | Bei 1 werden alle Positionen der Spieler übermittelt. Die Zuschauer können die Ansicht selber auswählen. |
tv_allow_camera_man | 0 | Bei 1 kann ein Zuschauer auf dem Gameserver die Ansicht für alle Zuschauer auf dem SourceTV festlegen. Wenn der Modus aktiv ist, kann der Zuschauer, der sich auf dem Gameserver befindet, mittels der Taste für Benutzen (Standard: Taste „e“) die Rolle des Kameramanns übernehmen. |
tv_allow_static_shots | 0 | Auto director uses fixed level cameras for shots |
tv_delaymapchange | 0 | Wenn der Wert auf 1 steht, wird nach einem Mapchange die noch verbleibende Zeit auf der alten Map den SourceTV-Zuschauern gezeigt. Dies trifft nur zu, wenn der Server die Map selbständig wechselt. Wird die Map manuell durch den Befehl „changelevel“ gewechselt, fehlen die restlichen Sekunden, die vorher eingestellt worden sind |
tv_dispatchmode | 0 | 0 = Clienten können immer mit dem Haupt-SourceTV-Server verbinden, wenn freie Slots vorhanden sind 1 = Clienten werden nur auf den SourceTV-RelayServer umgeleitet, wenn es erforderlich ist. 2 = Clienten werden immer auf den RelayServer umgeleitet. Wurde der Masterserver mit -tvmasteronly gestartet, können die Clienten nicht automatisch umgeleitet werden. Wenn tv_dispatchmode 2 auf einem SourceTV-Relay-Server verwendet wird, werden die Clienten auf einen weiteren Relay-Server umgeleitet. Ist kein weiterer SourceTV-Relay-Server verbunden, können die Clienten sich mit dem Relay-Server nicht verbinden. Fälschlicherweise bietet die ESL eine Config an, die standardmäßig genau diese Konsolen-Variable auf 2 stehen hat. Dies sollte in der Config geändert werden, falls diese für auch auf einem SourceTV-Relay-Server verwendet wird. |
tv_name | SourceTV | Gibt dem SourceTV-Server, der auf den Gameserver joint, einen Namen |
tv_relaypassword | Legt fest, welches Passwort vom Relayserver verwendet wird, um sich mit dem SourceTV-Server zu verbinden | |
tv_password | Legt das Passwort vom SourceTV-Server fest | |
tv_port | serverport+5 | Der Wert bestimmt, auf welchem Port der SourceTV-Server läuft |
tv_stop | Beendet den SourceTV-Server | |
tv_stoprecord | ||
tv_record demoname | Nimmt eine SourceTV-Demo auf1) |
SourceTV bietet einen Zuschauermodus für Spieler an. Bei normalen Clanwars ist es ganz ok, wenn 6 Slots oder weniger für Zuschauer vorhanden sind. Da SourceTV aber CPU-Leistung und Bandbreite in Anspruch nimmt, ist es bei größerem Aufkommen von Zuschauern ratsam den SourceTV auf einen anderen Host (physikalisch anderer Rechner) auszulagern. Das wird mit dem „SourceTV RelayServer“ gemacht. Gerade bei größeren Veranstaltungen ist das Nutzen der Auslagerung auf andere Server notwendig. Es ist möglich mehere RelayServer mit einem Gameserver zu verbinden oder sogar RelayServer mit RelayServer zu verbinden.
Anmerkung: SourceTV-Demos können nur vom Masterserver aufgenommen werden. RelayServer können keine Demos aufnehmen. Die einzige Ausnahme gilt für tv_autorecord 1 auf dem Relayserver (Quelle)
srctv.cfg:
//tv_port 27100 // Port des SourceTV-Servers. (Bitte einen freien Port angeben) tv_autorecord 0 // Nimmt SourceTV-Demos für jede Map automatisch auf. (0=aus, 1= ein) tv_delay 90 // SourceTV Verzögerung zum Livespiel in Sekunden. ESL erfordert 90 Sekunden. tv_dispatchmode 2 // Clienten zun den RelayServer schicken (0=nie, 1=wenn angebracht, 2=immer) tv_maxclients 1 // Maximale Zuschauerzahl auf dem SourceTV-Server tv_maxrate 5000 // Maximale Bandbreite die für den SourceTV-Server freigegeben wird. (0 = unlimitiert) tv_name "Source TV" // Name des SourceTV-Servers tv_title "Dein SrcTV" // Titel im Zuschauermodus von SourceTV tv_password "123" // SrcTV Passwort fuer alle Zuschauer ( "" = Aus) tv_relaypassword "relaypassword" tv_snapshotrate 16 // Schreibt alle "xx" Serverticks einen Schritt in die Demo. (Nur waehrend SrcTV Demoaufnahmen.) tv_relayvoice 1 // Leitet den Sprachchat weiter tv_transmitall 1 // Übermittelt alle Entitäten (Gegenstände, Spieler, Eigenschaften usw.) und ermöglicht es dem Clienten selber die Ansicht zu wählen tv_enable 1 // SourceTV aktivieren. (1=an 0=aus)
Diese Configdatei muss kann am besten in der autoexec.cfg
mittels exec srctv.cfg
geladen werden.
Der Relay-Server kann auf zwei verschiedene Weisen eingerichtet werden. Die erste Methode ist die Konfiguration über die autoexec.cfg. Bei der zweiten Methode wird einfach alles über den Startbefehl eingestellt.
Wichtig: Mit der Konsolen-Variable password
muss das Relay-Passwort angegeben werden, falls eins vom Masterserver gesetzt wurde.
Der Server verbindet sich bei beiden Methoden automatisch. Man kann sich am Ende direkt mit den Relay-Server verbinden oder versuchen auf den SourceTv-Masterserver zu kommen. Wenn tv_dispatchmode
auf 2 steht, werden die Clienten immer zu den Relayservern umgeleitet. Das funktioniert aber nur, wenn der Server auf dem diese Einstellung gemacht wurde 2) noch einen freien Slot zur Verfügung hat. Wenn der Masterserver mit -tvmasteronly gestartet wurde, kann sich nur ein Relay-Server mit diesem verbinden. Spieler, welche sich versuchen mit diesem Server zu verbinden werden nicht automatisch umgeleitet.
Startparameter Linux:
./srcds_run -game cstrike
Startparameter Windows:
srcds.exe -game cstrike
autoexec.cfg:
name "Name des TV-Clienten (ohne Leerzeichen)" hostname "Hostename des SourceTV-Servers" tv_maxclients 255 tv_port // Port des SourceTV-Relay-Servers password "relaypassword" tv_title "Relay1 by clan.de" tv_retry 1 tv_relay IP:PORT vom SourceTV-Masterserver
Anmerkung: Bei der OrangeBox-Engine darf IP:PORT nicht in Anführungszeichen eingeschlossen sein. Ansonsten wird die Fehlermeldung ausgegeben, dass die Adresse ungültig ist.
Bei dieser Methode muss keine Konfiguration stattfinden. Es kann alles durch den Startbefehl festgelegt werden.
Startparameter Linux:
./srcds_run -game cstrike +hostname "Hostname des Tv-Relay-Servers" +tv_port "Port des TV-Relay-Servers" +name "Name vom Clienten (ohne Leerzeichen)" +tv_maxclients 255 +password "relaypassword" +tv_title "Relay1 by clan.de" +tv_retry 1 +tv_relay IP:PORT vom SourceTV-Masterserver
Startparameter Windows:
srcds.exe -game cstrike +hostname "Hostname des Tv-Relay-Servers" +tv_port "Port des TV-Relay-Servers" +name "Name vom Clienten (ohne Leerzeichen)" +tv_maxclients 255 +password "relaypassword" +tv_title "Relay1 by clan.de" +tv_retry 1 +tv_relay IP:PORT vom SourceTV-Masterserver
Der SourceTV-Server lässt sich auch über Rcon steuern.
Da der SourceTV-Masterserver vom GameServer gestartet wird, muss für die Administration per Rcon der Gameserver-Port gewählt werden. Dazu kann entweder HLSW oder der Befehl rcon
verwendet werden. Soll SourceTV administriert werden, muss man mittels rcon_address IP:PORT
die IP und den Port des Gameservers festlegen. Erst danach kann rcon
connecten.
Einen SourceTV-Relay kann man auch mittels Rcon administrieren. Der SourceTV-Relay verhält sich ähnlich wie der SourceTV-Master, mit dem Unterschied, dass kein Spiel läuft. Aus diesem Grund kann man auch kein HLSW verwenden, da der Server über den Standardport 27015 in HLSW nicht angezeigt wird. Nur aus dem Spiel heraus kann man mit Rcon arbeiten. Dafür muss man sich nichtmals auf dem eigentlichen Server befinden. Mit rcon_address IP:PORT
in der Konsole, legt man fest auf welche IP und Port rcon auf den Server zugegriffen werden soll. Wird der SourceTV-Relay z.B. mit -port 27015 gestartet und der SourceTV-Relay läuft mit 27020, muss dennoch Port 27015 angegeben werden, obwohl der Server so nicht sichtbar ist.