Einrichten und Verwendung von SourceTV

cs_logoBei der Vorgängerversion hieß es noch HLTV. Das aktuelle SourceTV ist eine Funktion von Source Servern. Es muss also nicht extra installiert werden, sondern steht als Funktion schon zur Verfügung und muss lediglich aktiviert bzw. konfiguriert werden. Was kann man damit eigentlich machen?!

1. Spiele aufzeichnen
2. Unendlich (rein theoretisch) viele Zuschauer bei einem Source Spiel

Ich weiß, ihr wollt so schnell wie möglich loslegen, jedoch solltet ihr meinen einleitenden Text erst durchlesen, damit ihr auch etwas über das Grundprinzip erfahren könnt und das Ganze so besser versteht.

Einleitung

Für den Einsatz von SourceTV benötigt ihr einen zusätzlichen freien Slot. Möchtet ihr also ein 5on5 aufzeichnen, muss euer Server mindestens 11 Plätze bereitstellen.
Mit dem Konsolen Befehl record Dateiname.dem kann man das Spiel aus der eigenen Sicht aufzeichnen lassen. Dies geschieht dann aber auf der Client-Seite des jeweiligen Spielers. SourceTV bietet die Möglichkeit, dass die Daten aller Spieler aufgezeichnet werden. Dadurch ist es möglich, sich ein komplettes Spiel aus Sicht jedes einzelnen Spielers im Nachhinein anzusehen. Darüber hinaus kann man sich auch „frei“ in der Perspektive bewegen. Die Wiedergabe erfolgt wie bei allen Demos über die Konsole mit demoui.

Der zweite Einsatzbereich besteht in der Funktion, andere Spieler bei einem War / Match zusehen zu lassen, ohne dass diese aktiv teilnehmen können. Die Namen der Zuschauer werden nicht angezeigt. Lediglich die Nummer der Beobachter wird eingeblendet. Welche Perspektive den Zuschauern angezeigt wird, kann entweder von dem Auto-Director oder einem menschlichen Kameramann gesteuert werden.
Es gibt einen Zeitversatz (delay) zwischen dem Live-Spiel und dem, was die Zuschauer sehen. Dies soll verhindern, dass z.B. ein Zuschauer einem Spieler der Teams Hinweise geben kann!

Natürlich geht die Einrichtung von SourceTV nur auf einem Server, auf dem ihr vollen Zugriff habt. Bei Gameserver Anbietern gibt es mehrere Möglichkeiten. Entweder sie bieten keine größeren Eingriffsmöglichkeiten oder sie stellen Pakete zur Verfügung, bei denen SourceTV nutzbar ist. Ihr werdet also meist nur bei Root-Servern die Möglichkeit haben, dies einzurichten. Bedenkt bitte, dass jeder Zuschauer zusätzlichen Traffic verursacht. Dies nur als Hinweis für alle, die auf ihren Datenverkehr achten müssen. Bedenkt auch bitte, dass mit jedem Zuschauer auch mehr Prozessorleistung des Gameservers in Anspruch genommen wird.

Richtet man auf einem Gameserver einen SourceTV Server ein, so wird dieser auch als SourceTV Master Server bezeichnet. Dieser kann bis zu 255 Zuschauer bedienen. Möchte man mehr Zuschauer zulassen, so muss man mit Relay Proxies arbeiten. Diese greifen auf den SourceTV Master Server zu. Jeder zusätzliche Relay Proxy stellt wieder 255 Plätze bereit. Da man auch Relay Proxies mit bereits verbunden Relay Proxies verknüpfen kann, ist die Anzahl der Zuschauer (theoretisch) nicht begrenzt. Dazu jedoch am Ende mehr!

Ich werde euch hier als Anleitung zuerst eine einfache Konfiguration ohne Relay Proxies vorstellen.

Die Konfiguration

Wir legen im Verzeichnis cstrike => cfg des jeweiligen Counter Strike Source Servers eine neue Datei an. Den Dateinamen können wir frei wählen. Ich nenne die Datei als Beispiel srctv.cfg
Damit die Datei ausgeführt wird, gibt es zwei Möglichkeiten. Entweder ihr startet SourceTV aus der Konsole heraus oder ihr lasst es generell mit starten.
a.) Konsole

Geht in die Konsole und gebt dort Folgendes ein:

rcon_address
rcon_password
rcon exec srctv.cfg
rcon changelevel

b.) Über eine andere Datei (z.B. autoexec.cfg) ausführen lassen

Bei dieser Variante solltet ihr in der autoexec.cfg einfach folgende Zeile hinzufügen: exec srctv.cfg
Habt ihr noch keine autoexec.cfg, könnt ihr diese einfach unter cstrike => cfg eures Gameservers anlegen.
Eine einfache Grundkonfiguration der Beispieldatei srctv.cfg könnte z.B. so aussehen:

tv_enable 1
tv_port 27020
tv_delay 60
tv_maxclients 100
tv_maxrate 3500
tv_name " Unser Clan SourceTV"

Erst nach dem Serverneustart oder einem Mapwechsel, wird SourceTV aktiv.

Hier habe ich für euch alle Befehle für die TV Funktion aufgelistet:

Parameter Möglicher Wert nach dem Parameter
(0 = deaktiviert und 1 = aktiviert)
tv_allow_camera_man 0 oder 1 (Ermöglicht es, dass Zuschauer auf dem Gameserver  zu einem SourceTV Kameramann werden)
tv_allow_static_shots 0 oder 1 (Erlaubt dem Auto-Director feste Kameraaufnahmen auzuwählen)
tv_autorecord 0 oder 1 (Zeichnet automatisch jedes Spiel auf dem Gameserver auf. Die Dateien werden automatisch nach folgendem Muster benannt: auto-YYYY-MM-DD-hhmm-map.dem
tv_autoretry 0 oder 1 (Wenn es aktiviert ist, werden SourceTV Relay Proxies wieder versuchen eine Verbindung mit dem letzten bekannten Server herzustellen, falls diese unterbrochen wurde)
tv_chatgroup <Name> Zuschauer können eine festgelegte Chatgruppe auswählen
tv_chatgroupsize <Anzahl> Begrenzt eine festgelegte Chatgruppe auf die vorgegebene Anzahl von Zuschauern. Nur Zuschauer in derselben Chatgruppe können miteinander reden. Ist die Anzahl auf 0 gesetzt, können sich alle Zuschauer untereinander unterhalten. Der Einsatz von Chatgruppen hilft Bandbreite einzusparen und die Menge an Beiträgen zu reduzieren
tv_chattimelimit <Sekunde> Zuschauer können nur alle x Sekunden eine neue Chatnachrichten senden
tv_clients Zeigt eine Liste aller Zuschauer an, die mit dem SourceTV Server verbunden sind
tv_debug 0 oder 1 (Gibt zusätzliche Informationen bei Problemen aus)
tv_delay <Sekunden> Verzögerung zwischen dem  Live-Spiel und der Anzeige für die Zuschauer
tv_delaymapchange 0 oder 1 (verzögert den Mapwechsel auf dem Gameserver, bis alle zwischengespeicherten Daten an die Zuschauer gesendet wurden)
tv_deltacache
tv_dispatchmode Legt fest ob ein Zuschauer an SourceTV Relay Proxies weitergeleitet werden soll (0 = nie, 1 = falls notwendig, 2 = immer)
tv_enable 0 oder 1 (SourceTV ein-/ausschalten )
tv_maxclients <Zahl> 0 – 255 (maximale Anzahl der Zuschauer, Standardwert ist 128)
tv_maxrate <Zahl> 0 = unbegrenzt, jeder andere Wert setzt die maximale Bandbreite (Bytes/Sekunde) fest (Standard ist 5000)
tv_msg <Text> Sendet einen Text an alle mit dem SourceTV Server verbundenen Zuschauer
tv_name <Name> Bsp. Unser Clan Source TV (legt fest wie der Name von SourceTV in der Spielerliste bzw. in der Serverliste angezeigt werden soll)
tv_nochat 0 oder 1 (Falls aktiviert, blendet es die Chatnachrichten anderer Zuschauer aus)
tv_overridemaster
tv_overrideroot 0 oder 1 (Überschreibt die Master IP Adresse für die Zuschauer, über welche gesendet wird, mit einer lokalen IP)
tv_password <Passwort> Zuschauer müssen dieses Passwort eintragen, um auf den SourTV Server zu gelangen. Ist keines gesetzt, kommt jeder auf den SourceTV Server.
tv_port <Portnummer> Setzt den Port, über den die Zuschauer auf den SourceTV Server sich verbinden (Standard ist 27020) und sollte als SRCDS Startparameter festgelegt werden.
tv_record <Dateiname>.dem Startet eine Aufnahme aller Vorgänge (Spielerdaten usw.) und speichert diese in der mit dem angegeben Namen festgelegten Datei ab. Diese befindet sich dann im cstrike -Verzeichnis eures Gameservers.
tv_relay <IP-Adresse> Verbindet einen SourceTV Relay Proxy mit einem anderen SourceTV Master oder Relay Proxy
tv_relaypassword <Passwort> Setzt ein Passwort, um sich mit SourceTV Relay Proxies verbinden zu können.
tv_relayvoice 0 oder 1 ( Falls es aktiv ist, wird der Voice Chat der Spieler übertragen)
tv_retry Verbindet einen SourceTV Relay Proxy wieder mit der letzen bekannten Adresse
tv_snapshotrate <Zahl> Legt für den SourceTV Master Server fest, wie oft Daten pro Sekunde übertragen werden. Eine höhere Zahl lässt das geschehen „flüssiger“ darstellen, geht jedoch zu Lasten der CPU. (Standard ist 15)
tv_status Gibt diverse Informationen zu SourceTV aus wie z.B. FPS, Name, Delay, Map, Players, Spectators, Local IP usw.
tv_stop stoppt SourceTV
tv_stoprecord Stoppt eine mit tv_record gestartete Aufnahme
tv_timeout <Sekunden> Setzt für einen SourceTV Relay Proxy ein timeout von x Sekunden. Wenn eine Verbindung ein timeout bekommt, versucht der SourceTV Relay Proxy sich automatisch wieder zu verbinden.
tv_title <Titeltext> Bsp. Unser Clan MatchTV (wird jedem Zuschauer oben Links angezeigt, wenn er mit SourceTV verbunden ist)
tv_transmitall 0 oder 1 (Als Standard 0 werden nur die Sicht angezeigt und gesendet, die vom Auto-Director ausgewählt wurde. Setzt man den Wert auf 1 , werden alle Daten gesendet und jeder Zuschauer kann zu einem beliebigen Spieler in der Ansicht wechseln. Dies verbraucht jedoch  2 – 3 mal mehr Bandbreite pro Zuschauer als die Standardeinstellung!)

Verwendung von SourceTV Relay Proxies

Das Grundprinzip von SourceTV Relay Proxies lässt sich grafisch als Beispiel so zusammenfassen:

Srctv_relay_proxies2

Quelle: http://developer.valvesoftware.com/wiki/Source_TV

Um einen Relay Proxy betreiben zu können, müsste ihr einen Dedicated Server Prozess ohne eine zugewiesene Map mit z.B. folgenden Parametern starten:

srcds.exe -game  cstrike -console +tv_relay 192.168.1.1:27020

Für Linux würde es dann natürlich entsprechend so aussehen:

./srcds_run -game cstrike -console +tv_relay 192.168.1.1:27020

Die angegebene IP ist die des SourceTV Master Servers oder eines bereits verbundenen Relay Proxy.

Kameramann

Normalerweise wird die Ansicht für die Zuschauer automatisch vom Auto-Director gewählt. Ihr könnt jedoch auch einen Spieler, der auf dem Gameserver (also nicht als Zuschauer von SourceTV) im Spectator-Team ist, als Kameramann einsetzen. Dieser Spieler muss einfach die Taste für „benutzen“ (Standard ist e) drücken um die Kamerasteuerung zu übernehmen. Durch erneutes Drücken der „benutzen“ Taste übernimmt wieder der Auto-Director. Spieler die „tot“ sind und sich in der Spectator-Ansicht befinden können nicht als Kameramann agieren.

Valve stellt auch in einem Wiki weitere Informationen zu SourceTV zur Verfügung (englisch):
http://developer.valvesoftware.com/wiki/Source_TV

Wichtig: Wurde SourceTV gestartet, steht es erst nach einem Mapwechsel zur Verfügung! Die IP-Adresse für die Zuschauer ist identisch mit der des Gameservers. Nur der Port muss je nach euren Vorgaben angeben werden. Also statt z.B. 192.168.1.1:27015 würde ein Zuschauer die 192.168.1.1:2720 verwenden. Für jeden Port den ihr verwendet, müssen entsprechende Freigaben (z.B. in der Firewall) vorgenommen werden.

Über Torsten
Mein Name ist Torsten. Ich hoffe der Artikel hat dir gefallen und über ein Feedback von dir würde ich mich sehr freuen.

1 Trackbacks & Pingbacks

  1. t3n.de/socialnews

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*


Durch das Fortsetzen der Benutzung dieser Seite, stimmst du der Benutzung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen", um Ihnen das beste Surferlebnis möglich zu geben. Wenn Sie diese Website ohne Änderung Ihrer Cookie-Einstellungen zu verwenden fortzufahren, oder klicken Sie auf "Akzeptieren" unten, dann erklären Sie sich mit diesen.

Schließen