This article's documentation is for anything that uses the Source engine. Click here for more information.

SourceTV

From Valve Developer Community
< Pl
Jump to navigation Jump to search
English (en)Polski (pl)中文 (zh)Translate (Translate)

SourceTV - system oferujący możliwość oglądania gier na silniku Source(en) przez teoretycznie nieograniczoną liczbę obserwatorów. Obserwatorzy będący na SourceTV są niewidoczni dla graczy ani nie mogą prowadzić z nimi żadnej interakcji. Transmisja jest zawsze opóźniona o pewien okres czasu. Jest to spowodowane tym, aby uniemożliwić przekazywanie użytecznych informacji graczom na temat ich przeciwników. SourceTV potrafi także nagrywać dema zawierające informacje każdego zdarzenia mającego miejsce na mapie.


Prowadzenie transmisji SourceTV dla kilku\kilkunastu obserwatorów jest stosunkowo proste, sprowadza się do wpisania jednej komendy na serwerze. Transmisje gdzie mają być tysiące obserwatorów wymagają już pewnego zaplanowania czasu, doświadczenia oraz sporego zaplecza technicznego (porządne łącza, szybkie procesory i dużo pamięci RAM).

Obserwowanie Gier

Aby oglądać grę przez SourceTV trzeba uruchomić Steam, wybrać opcję Serwery, kliknąć na zakładce Obserwuj. Po odświeżeniu się listy dostępnych serwerów trzeba kliknąć dwa razy na wybranej pozycji aby się połączyć.

Jeśli gdzieś została podana informacja na temat możliwości oglądania meczu za pomocą SourceTV, jest tam najprawdopodobniej podany adres IP serwera SourceTV (IP:Port). Aby połączyć się z tym serwerem można dodać go do zakładki Ulubione, przez wybranie opcji Dodaj IP serwera. Innym rozwiązaniem jest podłączenie się do serwera za pomocą konsoli w grze, w konsoli trzeba uzyć komendy connect. Na przykład:

connect 192.168.130.42:27020

Standardowym portem SourceTV jest 27020, ale może zostać zmieniony. Jeśli port został ustawiony na inny należy go podać razem z adresem IP, w przeciwnym wypadku może to uniemożliwić podłączenie się z SourceTV.


Transmisja Gier

SourceTV nie jest już osobnym narzędziem jak HLTV, jest w pełni zintegrowany z silnikiem Source(en). Aby zacząć transmitować grę SourceTV musi zostać aktywowane przy pomocy komendy tv_enable 1 przed zmianą mapy. To stworzy serwer SourceTV, który będzie widoczny jako Bot będący w trybie obserwatora. SourceTV będące tym samym procesem co serwer gry nazywa się głównym serwerem (master server) SourceTV. Główny serwer SourceTV buforuje wszystkie zdarzenia oraz wysyła je z opóźnieniem zapobiegając oszustwom. Auto-Reżyser jest modułem, którego zadaniem jest pokazywanie najciekawszego zdarzenia. Dodatkowo obserwator może samemu kierować kamerą, unieważniając sterowanie kamerą przez Auto-Reżysera. Port SourceTV może zostać zmieniony za pomocą komendy tv_port.

Network topology for direct SourceTV connections

Taka konfiguracja jest w miarę prosta, ale nadaje się tylko dla małej ilości obserwatorów. Dla większej ilości obserwatorów szybko wyczerpią się dostępne zasoby sprzętowe. Aby dystrybuować usługę dla dużej ilości obserwatorów wymagane są łącza o dużej przepustowości oraz szybkie procesory na wielu serwerach. Taką struktura jest możliwą dzięki łączeniu kilku serwerów SourceTV do serwera głównego SourceTV. Serwery podłączone do głównego serwera nazywają się serwerami pośredniczącymi (relay proxies). Serwery pośredniczące mogą się łączyć w strukturę drzewiastą i każdy z nich może pomieścić do 255 obserwatorów, w ten sposób można zbudować teoretycznie nieograniczoną ilość miejsc dla obserwatorów.

Network topology for relayed SourceTV connections.

Aby ustawić serwer pośredniczący SourceTV trzeba uruchomić Serwer Dedykowany Source bez uruchamiania mapy. Komenda tv_relay łączy serwer pośredniczący z innym serwerem SourceTV. Poniżej przykład jak stworzyć serwer pośredniczący SourceTV:

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

Status twojego lokalnego serwera pośredniczącego zawsze można sprawdzić wpisując komendę tv_status. Tutaj przykład użycia:

--- SourceTV Status ---
Online 05:08, FPS 253.8, Version 2841 (Win32)
Master "SourceTV", delay 30
Game Time 05:01, Mod "cstrike", Map "de_dust", Players 7
Local IP 255.255.179.38:27020, KB/sec In 0.0, Out 0.0
Local Slots 128, Spectators 8, Proxies 0
Total Slots 128, Spectators 0, Proxies 0

Całkowita ilość miejsca dla obserwatorów jest sumą wszystkich podłączonych serwerów pośredniczących. Jeśli serwer pośredniczący straci połączenie z serwerem nadrzędnym można szybko podłączyć je na nowo używając komendy tv_retry. Aby zatrzymać nadawanie tzreba wpisać tv_stop.

Widok z Kamery

Widok z kamery w SourceTV jest zazwyczaj kontrolowany przez moduł Auto-reżysera. Jednakże jeśli gracz się połączy na serwer i wejdzie w tryb obserwatora będzie mógł zmieniać kamerę za pomocą przycisku UŻYJ (zazwyczaj 'E'). Będzie to skutkowało tym że wszyscy obserwatorzy patrzący się na niego będą widzieć tak jak on. Osoba sterująca kamerą może używać każdego dostępnego trybu podglądu (z oczy gracza, zza pleców gracza oraz wolna kamerę), zmieniać na dowolnego gracza. Tryb sterowania kamerą może zostać wyłączony przez ponowne użycie przycisku 'UŻYJ', wtedy kontrolę przejmuje Auto-Reżyser. Osoba obsługująca kamerę powinna mieć wiedzę na temat gry jak i praktycznego poruszania się kamerą zanim zacznie nadawać na żywo. Martwy gracz na trybie obserwatora nie może zostać operatorem kamery.

Nagrywanie Gier

Główny serwer SourceTV może nagrywać dema bez żadnych strat danych ani opóźnienia. Wszystkie wydarzenia są nagrywane a plik wynikowy może być odtworzony dokładnie jak zwykłe demo gracza (użyj demoui do otwarcia). Aby zacząć nagrywać demo wpierw trzeba uruchomić SourceTV, wtedy trzeba wpisać tv_record nazwadema. Nagrywanie dema zostanie zakończone gdy zakończy się mapa lub zostanie wpisana komenda tv_stoprecord. Do automatycznego nagrywania dem na każdej mapie trzeba ustawić tv_autorecord 1. Automatycznie nagrane dema zostają zapisane w momencie rozpoczęcia się mapy, nazwa dema zawiera nazwę mapy oraz datę i godzinę rozpoczęcia nagrywania (auto-YYYYMMDD-hhmm-map.dem). Obserwatorzy będący na SourceTV mogą także nagrywać dema używając komendy record, ale to będą normalne dema klienta.

Czasami można użyć SourceTV tylko i wyłącznie do nagrywania dem. Można wyłączyć nadawanie przez ograniczenie ilości slotów do zera (tv_maxclients 0). Aby ustawić automatyczne nagrywanie dem na serwerze trzeba dodać poniższe linie do autoexec.cfg:

tv_enable 1
tv_autorecord 1
tv_maxclients 0

Jak to zrobić...

Uruchamianie serwera pośredniczącego na Windows bez Steam
Zainstaluj Serwer Dedykowany (srcds.exe) używając HldsUpdateTool, możesz go ściągnąć tutaj. Po instalacji serwera upewnij się że jest on w najnowszej wersji, jak robić uaktualnienie przeczytasz w pliku hldsupdatetool_readme.txt. To zajmuje sporo miejsca na dysku, ale jeśli chcesz uruchamiać tylko SourceTV możesz bez problemu skasować wszystkie modele, mapy, materiały oraz pliki dźwiękowe. Teraz możesz uruchomić SourceTV ez działającego Steam w tle.
Zdalna kontrola serwera pośredniczącego
SourceTV obsługuje te same zdalne komendy (RCON) co normalny serwer SRCDS. Użyj "rcon_address <ip:port>" oraz "rcon_password <haslo>" aby dostać się do pożądanego serwera i wykonywać zdalne komendy za pomocą "rcon <komenda>", np. "rcon tv_status". Notka, domyślny port RCON to standardowy port serwera (zazwyczaj 27015) a nie port SourceTV.

Komendy

tv_enable <0|1>
Aktywuje SourceTV na lokalnym serwerze gry, SourceTV będzie aktywne dopiero po zmianie mapy.
tv_name <nazwa>
Ustawia nazwę SourceTV jaka będzie wyświetlana w przeglądarce serwerów oraz na tablicy wyników.
tv_title <tekst>
Ustawia nazwę SourceTV pokazywaną w grze.
tv_maxclients <0..255>
Ustawia maksymalną ilość obserwatorów na SourceTV (default 128).
tv_stop
Zatrzymuje nadawanie zdarzeń przez SourceTV.
tv_status
Pokazuje informacje na temat SourceTV.
tv_clients
Pokazuje listę obserwatorów podłączonych do lokalnego serwera SourceTV.
tv_msg <tekst>
Wysyła wiadomość do wszystkich obserwatorów na SourceTV.
tv_retry
Ponawia połączenie do ostatniego znanego serwera (tylko serwery pośredniczące).
tv_autoretry <0|1>
Jeśli włączone SourceTV ponawia połączenia do ostatnio znanego serwera gdy komunikacja zostanie zerwana.
tv_timeout <sekund>
Ustawia czas nieaktywności połączenia po jakim SourceTV się rozłączy i spróbuje połączyć się ponownie.
tv_delay <sekund>
Czas opóźnienia pomiędzy tym co jest wyświetlane obserwatorom a tym co się dzieje na serwerze.
tv_delaymapchange <0|1>
Opóźnia zmianę mapy na serwerze dopóki reszta zbuforowanej gry nie zostanie odtworzona.
tv_port <port>
Ustawia port na którym pracuje SourceTV (standardowo 27020). Musi być parametrem startowym SRCDS(en).
tv_maxrate <bajtów>
Ustawia maksymalną przepustowość przypadającą na obserwatora w bajtach/sekundę (standardowo 5000).
tv_snapshotrate <n>
Ustawia ilość zrzutów transmitowanych na sekundę przez SourceTV.
tv_password <hasło>
Ustawia hasło wymagane do podłączenia się obserwatorów.
tv_relaypassword <hasło>
Ustawia hasło wymagane do podłączenia się pośredniczących serwerów SourceTV.
tv_relay <IP>
Łączy SourceTV do innego serwera SourceTV.
tv_record <nazwa pliku>
Rozpoczyna nagrywanie dema SourceTV które nagrywa wszystkie zdarzenia na serwerze (tylko STV główne).
tv_stoprecord
Zatrzymuje nagrywanie dema.
tv_autorecord <0|1>
Automatycznie nagrywa każdą grę, nazwa dema jest w następującym formacie auto-YYYYMMDD-hhmm-map.dem
tv_debug <0|1>
Pokazuje wiadomości o debugu.
tv_overrideroot <0|1>
Nadpisuje adres IP serwera SourceTV adresem lokalnym obserwatora.
tv_relayvoice <0|1>
Jeśli włączone chat głosowy będzie transmitowany do obserwatorów.
tv_transmitall <0|1>
Standardowo informacje na temat zdarzeń nie pokazywanych przez auto-reżysera nie są transmitowane w celu oszczędzania łącza. Jeśli tv_transmitall jest włączone, wszystkie zdarzenia będą transmitowane a zużycie łącza się zwiększy.
tv_chattimelimit <sekund>
Ogranicza możliwość chatowania obserwatorów raz na 'n' sekund.
tv_chatgroup <nazwa>
Pozwala obserwatorom na wybranie odpowiedniej grupy chatu.
tv_nochat <0|1>
Wyłącza możliwość chatu na SourceTV.
tv_allow_static_shots <0|1>
Zezwala auto-reżyserowi na wybieranie stałych ujęć kamery.
tv_allow_camera_man <0|1>
Zezwala obserwatorom na serwerze gry na bycie reżyserami.

Komendy Linii poleceń

Te komendy nie mogą być używane za pomocą konsoli lub rcona. Są one przydatne jeśli chcesz ograniczyć możliwości SourceTV dla serwerów płatnych.

-nohltv
-tvdisable
Wyłącza możliwość postawienia SourceTV na serwerze
-tvmasteronly
Do SourceTV nie może się podłączyć pośredniczące SourceTV.