Source TV

Transcription

Source TV
Half-Life 2 & Mods
DOSSIER: SourceTV
Sommaire
1 - Présentation
2 - Observer des Parties
3 - Diffuser des Parties
4 - Cameraman
5 – Enregistrer des parties
6 - Console Commands
7 - Command Line Parameters
8 - Final Notes
1 - Présentation
Le SourceTV permet d’avoir un nombre illimité de spectateurs qui regardent un jeu en ligne base sur le moteur
Source Engine. Les spectateurs du SourceTV sont invisibles pour les joueurs et ne peuvent en aucune façon
interagir avec la partie regardée. La vue caméra du SourceTV est contrôlée par une intelligence artificielle
(Auto-director AI) ou par un ‘cameraman’ humain. La diffusion est généralement décalée d’un certain temps.
Cela permet d’empêcher les équipes qui jouent d’utiliser le SourceTV pour obtenir des informations sur le jeu
de leurs adversaires. Le SourceTV peut également enregistrer des démos coté serveur qui contiendront toutes
les informations de jeu, avec tous les points de vue et les évènements.
Fournir un SourceTV pour quelques spectateurs est une tâche aisée, qui requiert seulement quelques
changements de variables sur le serveur. Installer un réseau plus important de SourceTV pour des milliers de
spectateurs prendra beaucoup plus de temps et une bonne expérience des nécessités en bande passante et en
capacités CPU et RAM.
2 - Observer des Parties
Pour observer une partie via le SourceTV, lancez Steam, et dans le menu Steam cliquez sur Serveurs pour
ouvrir le navigateur de serveurs. Cliquez ensuite sur l’onglet Observer. Vous pouvez réduire la liste des
serveurs en cliquant sur Changer les Filtres et en sélectionnant une partie spécifique. Une fois la liste mise à
jour, double-cliquez sur le serveur que vous voulez observer et vous serez connecté.
Si certaines ligues annoncent des diffusions de futurs matchs sur SourceTV, ils fournissent généralement
l’adresse IP de leur serveurs SourceTV (IP:Port). Au lieu de les chercher dans la liste des serveurs, vous
pouvez cliquer sur l’onglet Favoris et ajouter l’adresse du SourceTV à votre liste de favoris en faisant un clic
droit et en choisissant Ajouter serveur par adresse IP. Une autre alternative est d’ouvrir la console Source et
d’utiliser la commande connect pour observer la partie. Par exemple :
connect 192.168.130.42:27020
Le numéro de port par défaut du SourceTV est 27020 mais il peut être changé. Le port devrait toujours être
précisé lorsque l’on donne l’adresse IP d’un serveur SourceTV, car en général le numéro de port est différent
du port par défaut d’un serveur de jeu qui est 27015.
Lorsque l’on regarde une partie diffusée sur SourceTV, la position de la camera ainsi que le point de vue sont
choisis soit par l’auto-director, soit par un cameraman. Les spectateurs ne peuvent pas passer d’un mode à
l’autre ni d’un joueur à l’autre comme c’était le cas avec le HLTV, cette fonction a été supprimée pour réduire
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 1 sur 5
significativement la bande passante utilisée. Les démos SourceTV permettent toujours de passer d’un mode à
l’autre ou d’un joueur à l’autre ou en vue libre pendant la lecture.
3 – Diffuser des Parties
Le SourceTV est complètement intégré au moteur Source Engine, à l’inverse du HLTV qui était un outil
indépendant. Pour commencer à diffuser une partie, le serveur de jeu doit activer le SourceTV avant le début de
la map avec le paramètre tv_enable 1. Cela créera une instance serveur SourceTV qui peut se voir dans la
partie comme un bot rejoignant les spectateurs. Le serveur SourceTV utilise le même processus que le serveur
de jeu et est appelé serveur maître. Le serveur maître reçoit toutes les données du jeu et les évènements de la
partie, et les retransmet avec un temps de décalage pour éviter les possibilités de triche. L’auto-director est un
module spécifique au Mod, qui choisis les positions et mouvements de camera en fonction des évènements
intéressants du jeu (ex : mort d’un joueur, explosion de bombe, …). De plus, un spectateur humain peut devenir
cameraman et outrepasser l’auto-director pour diriger la transmission. Les spectateurs SourceTV peuvent alors
se connecter sur la même adresse IP que le serveur de jeu, mais avec le numéro de port du SourceTV,
généralement 27020. Le numéro de port du serveur peut être modifié avec la variable tv_port XXXXX (ou
XXXXX représente le numéro de port désiré)
Cette configuration est assez simple mais ne convient que pour un faible nombre de spectateurs, du fait qu’un
seul serveur héberge à la fois la partie et le SourceTV, il distribue donc les données à tous les joueurs ainsi qu’à
tous les spectateurs. Pour un nombre important de spectateurs, cela dépassera rapidement la capacité
CPU/bande passante d’une machine classique. Il devient alors nécessaire de distribuer la bande passante
nécessaire et les requêtes CPU par le biais d’un réseau de relais multiples, qui peut être étendu en fonction du
nombre croissant de spectateurs. On le réalise en paramétrant d’autres serveurs SourceTV qui seront connectés
au serveur maître pour retransmettre la diffusion de la partie. Ces serveurs sont appelés relais proxies
SourceTV, ou chaque proxy permet de connecter jusqu’à 255 spectateurs supplémentaires. Les proxies
SourceTV peuvent également être connectés à d’autres proxies SourceTV et créer ainsi un réseau illimité de
stations relais.
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 2 sur 5
Pour lancer un relais proxy SourceTV, lancez un processus de serveur dédié mais sans choisir de map. La
commande tv_relay connecte le proxy à un autre serveur ou proxy SourceTV. Voici un exemple de création
d’un relais SourceTV :
srcds.exe -game cstrike -console +tv_relay 127.0.0.2:27020
Le statut de votre proxy local peut toujours être vérifié grâce à la commande tv_status. Voici un exemple de
résultat de cette commande :
Online 05:15, FPS 75.7, Version 2350 (Win32)
Local IP 207.173.178.143:27020, KB/sec In 2.0, Out 4.1
Local Slots 128, Spectators 1, Proxies 1
Total Slots 256, Spectators 2, Proxies 1
Master, Delay 30
Game Time 05:16, Mod "cstrike", Map "de_dust", Players 4
Le nombre total de slots et de spectateurs est égal au total des spectateurs connectés aux relais proxies. Si un
proxy perd la connexion au serveur, vous pouvez essayer de le reconnecter rapidement avec la commande
tv_retry. Pour arrêter la diffusion et déconnecter tous les spectateurs, exécutez la commande tv_stop.
4 - Cameraman
La vue de la camera du SourceTV est généralement contrôlée par le module auto-director. Un joueur qui aura
rejoint l’équipe des spectateurs sur le serveur de jeu peut aussi devenir cameraman en appuyant sur la touche
UTILISER (généralement ‘E’). Cela activera sa propre vue pour tous les spectateurs du SourceTV. Le
caméraman peut choisir n’importe quel mode spectateur (1ère personne, caméra libre, etc.), passer d’un joueur à
l’autre ou se déplacer librement. La camera peut être eteinte en appuyant de nouveau sur la touche UTILISER
et l’auto-director reprendra la diffusion. Les cameramen devraient avoir une bonne connaissance du gameplay
général et s’entrainer aux mouvements de caméras avant de diffuser en direct. Un joueur mort en mode
spectateur ne peut pas devenir cameraman.
5 – Enregistrer des parties
Le serveur maître SourceTV peut enregistrer des parties sans aucune perte de données ni temps de latence. Tous
les évènements et toutes les entités sont enregistrés, et le fichier de démo peut être lu comme une démo d’un
client (utilisez l’interface demoui pour la lecture). Pour commencer à enregistrer une démo, le SourceTV doit
être activé avant que la map ne soit chargée, ensuite exécutez la commande tv_record demoname.
L’enregistrement de la démo sera stoppé au prochain changement de map, ou avec la commande
tv_stoprecord. Pour enregistrer automatiquement toutes les parties vous pouvez utiliser le paramètre
tv_autorecord 1. Les fichiers démos enregistrés automatiquement seront nommés d’après le nom de la map,
la date et l’heure du début de l’enregistrement (auto-YYYYMMDD-hhmm-map.dem). Les spectateurs d’un
SourceTV peuvent également enregistrer une démo, mais comme pour la démo d’un client normal, vous ne
pouvez changer de joueur suivi ou de mode spectateur pendant la lecture.
Parfois, vous utiliserez le SourceTV seulement pour enregistrer des démos, mais sans diffuser les parties. Vous
pouvez désactiver la diffusion en paramétrant le nombre maximum de clients à zéro (tv_maxclients 0). Pour
activer l’auto enregistrement sur votre serveur, ajoutez ces lignes à votre autoexec.cfg :
tv_enable 1
tv_autorecord 1
tv_maxclients 0
6 – Commandes Console
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 3 sur 5
tv_enable <0|1>
•
Active le SourceTV sur un serveur local, le bot SourceTV apparaîtra comme un client en spectateur
après le prochain changelevel (s’applique au serveur maître seulement).
tv_name <nom>
•
Détermine le nom du SourceTV tel qu’il apparaît dans la liste des serveurs et dans le tableau des scores
(s’applique au serveur maître seulement).
tv_maxclients <0...255>
•
Détermine le nombre de clients maximum sur le serveur ou proxy SourceTV (128 par défaut).
tv_stop
•
Stoppe la diffusion de la partie via le SourceTV.
tv_status
•
Montre les informations spécifiques au serveur SourceTV.
tv_retry
•
Reconnecte le proxy SourceTV à la dernière adresse connue (s’applique aux relais proxies seulement).
tv_delay <secondes>
•
Temps de décalage de la retransmission (s’applique au serveur maître seulement).
tv_port <port>
•
Détermine le numéro de port utilise par le SourceTV (27020 par défaut).
tv_maxrate <bytes>
•
Détermine la bande passante maximum utilisée pour un client, en bytes/seconde (3500 par défaut).
tv_password <motdepasse>
•
Détermine le mot de passe requis pour se connecter au serveur maître.
tv_relaypassword <motdepasse>
•
Détermine le mot de passe requis pour se connecter aux relais proxies.
tv_record <nomfichier>
•
Lance l’enregistrement d’une démo SourceTV qui enregistrera toutes les entités et évènements de la
partie (s’applique au serveur maître seulement).
tv_stoprecord
•
Stoppe l’enregistrement de la démo SourceTV (s’applique au serveur maître seulement).
tv_autorecord <0|1>
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 4 sur 5
•
Enregistre automatiquement une démo de chaque partie, dont le nom est crée sur le mode: autoYYYYMMDD-hhmm-map.dem.
tv_debug <0|1>
•
Montre les messages additionnels de débuggeur.
tv_dispatchmode <0|1|2>
•
Détermine le mode de répartition des clients Source se connectant : 0=jamais, 1=si approprié,
2=toujours.
tv_overrideroot <0|1>
•
Ecrase l’adresse IP du serveur maître diffusée aux spectateurs, par une adresse IP locale.
7 – Paramètres de Ligne de Commande
Ces lignes de commandes ne peuvent être changées depuis la console ni avec le rcon. Ils peuvent être utiles
afin de restreindre les capacités SourceTV sur des serveurs destinés à la location.
-nohltv / -tvdisable
•
Désactive toutes les fonctions SourceTV sur le serveur de jeu.
-tvmasteronly
•
Le SourceTV ne peut server qu’un seul client et ne peut être utilisé en tant que relai proxy.
8 – Notes Finales
SourceTV est toujours en cours de développement, et le design final n’est pas encore complètement
implémenté.
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 5 sur 5