Electronic Sports
Broadcast TV Manager
Index of this file
-
Introduction
-
General use
-
Modules
-
TV Auto Dispatch Feature
-
Features summary
-
Understanding Passwords in BTV
-
BTV and XML
-
Data Exporting with BTV
-
BTV Links
-
Licence
-
Contacts and Links
Introduction
What is Electronic Sports Broadcast TV Manager ? It's a win32 software designed
to manage a great number of HLTV, GTV, WolfTV etc, the easiest way possible.
"Manage" involve connecting the TV to eachother, monitor that every TV is up
and operationnal, visually see "who is connected on who", Number of spectators
on the TV etc.
Who should use this software ? This software was designed to be used by LAN
administrators. If you are just a player wanting to join or watch some matches,
BTV is not the appropriate tool.
Layout, layers and objects
"Layout" refers as zones and groups only implemented in order to let you order
and sort your TV and Servers. They have no impact on anything on theses except
for 1 thing : the connection across different zones.
Layers are a way to put severall group on the same level. Groups or Zones of the
same layer value will be displayed stacked on the same column. Groups or Zones
with differents layers will be displayed next to each other on different
column.
Objects refers genericaly as every game instances : HL servers with or without
mods, HLTV, Q3 servers, GTV etc etc. Theses objects are treated internally the
same way except for specific treatment. There are some objects that you can
drag, some others that u don't.
General use
To connect a TV to another object, simply drag the TV and drop on the desired
target. If the target has a password (password for servers, proxypassword for
HLTV), BTV manager will set the serverpassword of the TV dragged before sending
to "connect" order (as long as the password stored in Broadcast TV Manager is
correct).
A dotted line will appear between the two objects connected until the TV finish
its connection to its target. Once connected, a bold line will replace the
dotted line. (GTV rarely show dotted lines as they just add a new room)
Sometimes when the stream is broken somewhere on the chain, all TV seems to be
disconnected, so only dotted lines will be displayed. As soon as the whole
chain is up again, the bold lines will come back with no user action needed.
Connection across different zones / Forwarded port support
When you connect a TV to an object that is outside its own zone, the TV will
use the EXTERNAL address to connect. If no external address was provided, BTV
Manager will use the internal one.
This feature is to be used to export TV from LAN to the Internet while LAN has
NAT (masqerading) to access to Internet.
Simple Example
Suppose you have the following settings:
-
A LAN with local addresses like 10.20.30.0/24
-
An internet connection whose public IP is 212.40.40.40
-
Some HL servers 10.20.30.x
-
One local HLTV 10.20.30.100:27020
-
One public HLTV (outside the lan) 213.45.46.47:27045
-
Your network administrator configured a port-forward from 212.40.40.40:27030 to
10.20.30.100:2720 (UDP)
|
-
Create a LAN Zone
-
Create a "Server" group Layer 1 and add your servers in it
-
Create a "HLTV" group Layer 2
-
Add your local HLTV to the "HLTV" group
-
Internal Address: 10.20.30.100:27020
-
External Address: 212.40.40.40:27030
-
Create an Internet Zone
-
Create a "Public HLTV" group
-
Add your public HLTV to the "Public HLTV" group
-
Internal Address: 213.45.46.47:27045
-
Make sure everything is up
-
Drag&drop your local HLTV to one of your HL Server. This action will
perform a "connect" to the server address.
-
Now drag&drop your Public HLTV to the local one. BECAUSE THEY ARE NOT IN
THE SAME ZONE, the Public HLTV will perform a "connect
212.40.40.40:27030" instead of "connect
10.20.30.100:27020". Thus, if your network is well configured, your
public HLTV will soon show a bold line to your local HLTV.
-
Now tell your friends that you are a HLTV expert.
Modules
Modules are extra features added to the overall TV network management. Modules
have to be activated because they usually need some extra external stuff to
work.
AutoWeb Module
Requirement : FTP server (login, password etc)
The AutoWeb module is used to export information from inner data of BTV Manager
to a website, providing usefull information to players that want to connect to
TVs to view some matches.
The AutoWeb module, once configured and activated, collect information on
Objects that have their "Export to web" checkbox checked. The AutoWeb module
will not reveal the entire network with IP and port to the public. Only the one
that you checked as "Export to Web".
The module will create an HTML file with all public TV and display IPs, ports,
detected clans on it, available slots and so on. The module displays also some
interesting stats about overall TV capacity and bandwith used.
AdminBot Module
Requirement : HLTV Only. The HL servers need to have the
Adminbot-MX pluggin
AdminBot is NOT AdminMod !
The Adminbot-MX pluggin, created by Syam is a tool that automate a CS match. It
can talk to the player, restart the map if necessary, report the score on a
database etc. Please see the URL in the contact section for more information.
The Adminbot module can detect (on a server) if the players are on warmup or in
real match. Furthermore, Adminbot can provide the real team names.
Features:
-
Auto record match for HLTV. Once activated, BTV Manager look at the server the
HLTV is currently connected on. If the HLTV is connected on another HLTV, BTV
Manager will follow all the hops until it finds the initial game server. If the
server is in match mode, BTV Manager will launch the recording of this match
creating a demo file with "inteligent name" with date,hour, map and team names.
Thus, don't worry anymore about recording matches. Put a HLTV on all your
server, switch "Auto record match" ON and go hunting for your favorite team's
cheerleader.
-
The AutoWeb Module change a little with adminbot module ON. Instead of trying
to detect the clan names (based on player names), it will display the real Team
names (as typed in adminbot web pages). It will display current scores and
match status (Warmup, fighting etc)
GTV network auto-detection module
Requirement : GTV Only
This module will scan every GTV of your layout and try to find if there is some
other GTV connected that you don't currently have in your layout. If it finds
some of theses, the module will create the GTV in the provided zone and
immediately begin to monitor it. Few seconds later this new GTV will be scanned
too, to discover if there some other GTV connected. This process will
re-iterate forever, discovering the entire GTV network.
In optional properties of this module, you have the opportunity to set the new
GTV as "Export to Web", thus publishing the whole network IP, which could be
interesting
The module uses groups to sort the GTV. The rule is : for a "parent" GTV in a
level n group, the "child" GTVs connected on the parent will be store on a
level n+1 group. The module will try to re-use groups in the provided zone. If
it needs more groups it will create them automaticaly. Note that afterwards,
you can change a GTV's group, like any other object here. I recommand creating
a virgin zone to separate the GTV you control from the one that you don't.
TV Auto Dispatch Feature
Requirement : Adminbot
Introduction
This feature is restricted to HLTV only for now but will soon expand on all TV.
The AutoDispatch feature is to be used when you want to always broadcast
something on your HLTV. For example, let's imagine you are in a tournament with
6 servers and 3 HLTV relayed on Internet. The tournament is going well but you
always have to keep an eye on your HLTV to make sure they are always connected
to a server where a real match is occuring. People on internet don't care much
about watching an empty server with no player on it or a bunch of noob doing
FFA to warmup :(. What people want are real matches. AutoDispatch was made to
feed theses fight-hungry people called "Spectators".
How does it work ?
Basicaly, the autodispatch works with groups. So put your HLTV in one group,
then Activate the AutoDispatch function (right-click on a group). The
configuration asks you a "target" group. The target group is the group where
BTV will search for matches. If BTV finds a match in the target group, it will
immediately search for an idle TV and connect this TV where it found the match.
For every match found, BTV will try to connect a TV on it. Of course, once all
TV are busy on a match, BTV can't do anything if an extra match starts (add
more TV). When the match stops, BTV wait some time and then "release" this TV
to watch another match if there is one not covered yet.
Note : Why waiting at the end of a match ? Well,
remember that TV streams are delayed a bit (delay param for HLTV) so if BTV
moves the TV away as soon as the match is over on the server, spectators will
miss the last seconds of the match and will surely kick your ass/kill your
familly/steal your GF. So BTV waits the number of seconds that you set in the
Autodispatch settings. It is default to 30s, raise it if you put a longer delay
for your TVs.
In the target group, you basicaly put servers, but you can put other HLTVs too,
providing that theses HLTV are connected to a server. In this last case, BTV
will automatically analyse the network and see if the HLTV in the target group
are connected to a server that is playing a match. Look at theses examples
(AutoDispatch groups have a Purple border):
| Direct Auto-Dispatching on servers |
Indirect Auto-Dispatching with HLTV in the middle |
 |
 |
| Here, Target is "My Servers" Group |
Here target is "my demos TV" Group |
Extra options
In the configuration panel, you can customize BTV behaviour concerning the
remaining unused TV. Of course, it is only in the case where you have more TV
than matchs at this point.There is 4 behaviours that you can choose:
-
Disconnect and wait in case another match starts elsewhere.This
is the recommended setting. Basically, this will set one TV per match and keep
all other disconnected. The advantage of that is that you keep TV ready in case
a new match appear. The drawback is that maybe a lot of your TV will not
broadcast anything. This settings works well with the beginning of tournament
where a lot of matchs must be played.
|
 |
| |
 |
-
Agregate in Target group. This settings will make
BTV to connect every remaining TV on some matchs in the target group. BTV will
try to load-balance the TV so that the TV are spread equaly on each match.
Advantage: Your TVs have always something to show. Drawback: If a new match
popup somewhere, BTV will take back some TV to put on the newly created match.
Thus every spectator that were watching a match will be switched to another one
without warning. This setting is good when a tournament is near the end and a
lot of spectators wants to follow rouglhy the same match. Warning:
Do not put this setting if the targets are servers directly!. Most
servers are limitted in their number of HLTV that can connect on them (cvar for
that is sv_proxies for HL servers). And it is not a good idea to connect and
disconnect HLTV all the time during some important match. If your targets are
servers, prefer the next option.
|
| |
-
Agregate in Dispatch group. This settings is
exactly the same that before, but instead of connecting the TV in the target
group, BTV will connect the TV between each other in the original Dispatch
group. Advantage: Same than before but Targets are not overloaded with many
connections any more. Drawback: same than before and the fact that the link
between TV are not very "visually" clear in BTV screen.
|
 |
| |
 |
-
Connect to a specific object. Use this setting if
you dont like your TV being disconnected. This will make BTV put every idle TV
on a specific object (kinda waiting room).Advantage : The HLTV streams are
never broken (sometimes the whole HLTV network is a bit confuse when the master
source is disconnected). Drawback: uuhhh. dunno.
|
Visuals meanings
Status icons
 |
Rcon Controled : You have full rcon control over your object |
 |
Monitoring : You do not have rcon control but you may access some public
informations |
 |
Timeout : The object is not responding |
 |
Recording : The object is currently recording a demo |
 |
AutoRecord : The object is in Auto-Match-Record mode but the match is finished
so it records few seconds more not to cut the end of match (due to HLTV delay) |
 |
AutoRecord : The object is in Auto-Match-Record mode but is currently not
recording anything |
 |
Match detected : The server is detected as playing a real match |
 |
Match preparing : Match is scheduled but not started yet (or intercourse
between sets) |
Bar colors
 |
Blue : Number of players for
this stream. Full bar means server is full (for HLTV full bar means 14 players
or more)
Green : Number of spectators.
Full bar means TV has every spectator slot used
Red : Bandwidth. Logarithmic
scale up to 1.5MBps
|
BTV Manager Features summary
| |
HLTV |
GTV |
WolfTV |
UTV |
|
Drag&Drop |
connect |
add room |
(X) |
|
|
rcon control |
X |
X |
(X) |
|
|
Game Server monitor |
X |
X |
|
|
|
Game Server rcon |
X |
X |
|
|
|
Game Server match detect | with AdminBot-MX |
with OSP |
|
|
|
External address |
X |
X |
(X) |
|
|
AutoWeb Integration |
X |
X |
(X) |
|
|
Automatic password |
Server and HLTV |
Server and GTV |
|
|
|
Clan name autodetect |
X |
|
|
|
|
Demo start/stop/status |
X |
X |
|
|
|
Automatic match record |
with AdminBot-MX |
X |
|
|
|
Whole network detection | |
X |
|
|
|
Auto Dispatch |
X |
|
|
|
|
XML Data export |
X |
|
|
|
(X) = Experimental
Understanding Passwords in BTV
Before explaining how passwords works with BTV i must clarify one point.
BTV objects are kind of mirrors of the real HLTV, GTV etc programs. The
properties of theses programs are continuously updated in real time to keep BTV
synchronized with theses programs, but for technical reasons, there is some
properties that cannot be extracted from the programs. Passwords are concerned.
The rule about password in BTV is that : All passwords in BTV
are, unless specificaly explained, LOCAL TO BTV ! What does it means
? It means that Changing a password in a BTV object will never change that
password on the real program. If you change the rcon password of an HLTV object
in BTV, this will not change the real HLTV rcon password. This will change the
local rcon password used to communicate with the real program. Therefore, if
you enter a rcon password that is not equal to the rconpassword of the real
HLTV, this simply won't work, u won't have rcon control on your object. Same
for all other passwords. To prevent entering every password each time, there is
some situation where BTV can ask to the program its password.
|
Object type |
Password |
Can BTV syncronize itself with this password ? |
| HL Server |
serverpassword |
Yes
(if rcon controled) |
| HLTV |
spectatorpassword |
don't need |
| proxypassword |
No |
| Q3 Server |
password |
Yes
(if rcon controled) |
| GTV |
password |
Yes
(if rcon controled) |
| gtv_adminPass |
don't need |
| gtv_cameraPass |
don't need |
In BTV, passwords are used automaticaly whenever it is required. For example,
when you connect an object to another object, BTV manager need to know the
target object password. For example, if you connect an HLTV "A" to another HLTV
"B", BTV need the proxypassword of "B". If you connect a GTV to a Quake3
server, BTV need the Quake3 password. Like i wrote just before, in some
situation, BTV can "guess" this password automaticaly, but there is some case
where BTV cannot guess this password even with rcon control. In this last case,
you must manualy provide this password before connecting the objects together,
otherwise connection will fail because of bad password (and usually console is
pretty quiet about that unfortunately).
To be clear this is how you can correctly connect any object in a passworded
environment.
|
From |
To |
Password variable used |
Required actions before Drag&Droping |
| HLTV |
HL server |
HLTV's "password" must be equal to
server's "serverpassword" |
-
If you have server's rcon, NOTHING, BTV can synchronize automaticaly with
server's "serverpassword"
-
If you don't have server's rcon, use Right click on server then enter password
|
| HLTV A |
HLTV B |
A's "password" must be equal to B's "proxypassword" |
Use right click on B and enter proxypassword |
| GTV |
Q3 Server |
when u use the "gtv_connect <target_ip>
<password>" command the password argument must be equal to Q3
Server's "password" |
-
If you have server's rcon, NOTHING, BTV can synchronize automaticaly with
server's "password"
-
If you don't have server's rcon, use Right click on server then enter password
|
| GTV A |
GTV B |
when u use the "gtv_connect <target_ip>
<password>" command the password argument must be equal to B's
"gtv_password" |
-
If you have B's rcon, NOTHING, BTV can synchronize automaticaly with B's
"gtv_password"
-
If you don't have B's rcon, use Right click on B then enter the gtv_password
|
| HLTV |
GTV |
stop drinking |
BTV and XML
Broadcast TV Manager has now a feature that enable to load a full layout (objects, groups, zones, modules options etc) from a XML document.
the XML format used is quite obvious, just look at this example, this should give you enough information on how
btv xml format works. BTV can load the xml from a file or directly from a URL.
Data Exporting with BTV
To address some system integration issue, Broadcast TV Manager can now export some information to external systems. This feature has been made for this kind of common situation:
You are at a big LAN event, you are in charge of the HLTV stuff and some partners have connected their own HLTV slots to your network to broadcast the matchs that are occuring here in your LAN. The main problem
for the HLTV provider is that he has no idea of whats going on on his own HLTV (name of the teams are the most common request from them).
In order to provide some information to theses external partners, BTV can now export the match information for some selected HLTV.
How to use it ?
- First you must assign the objects you want to export to a stream number. Do that into the Property dialog window of each object by clicking into the apropriate checkbox. Or use the right-click menu on a group to assign all objects from that group.
- Once you have assigned your objects to a stream, open the Exports menu, select the approriate stream number to configure and select the method you want to use for that stream.
Export methods supported
So far there is 2 different methods to export a stream:
- XML sent with a POST : With that method, BTV will search for all objects that are assigned to that stream, build a XML document and will make a HTTP/POST call to the URL provided by adding the parameter xmlmsg= to the url.
On the distant webserver that handle the POST request, the programmer can get the variable xmlmsg and process the XML. You can also configure BTV to add a reference to a XSL file, but BTV will not POST that XSL file.
- XML sent with FTP : With that method, BTV will search for all objects that are assigned to that stream, build a XML document and upload it to a ftp server using the credentials provided. You can also configure BTV to add a reference to a XSL file, but BTV will not upload that XSL file.
Mini FAQ
How many streams can BTV support ?
BTV can support up to 16 different streams. If more are needed, drop me a mail.
All network operations are serialized in background thread so it should not disturb normal BTV behaviour.
What is the specification of the XML provided ?
There is a DTD file here. You have a typical example here and
exacly the same example but with a reference to a basic XSL file.
Can i assign an object to severall stream ?
Yes.
Do you plan to add more export method in the future ?
Not really. The previous features "Export to web" and "Export to local file" will be converted into generic export method. Apart from that, if you need special export method, please let me know.
BTV Links
Broadcast TV Manager package provide an .reg file to register btv:// links just like this one. You have to customize the .reg file before
running it. Once btv links are registered, any click on a btv link will open BTV, download the XML file targeted by the link and open it as a new document.
License
Broadcast TV Manager is Freeware, feel free to copy and distribute it as much
as you want. If you do big LANs with it, take a screenshot and send it to me, I
will add it to my collection :)
Contacts and Links
Author : Crimy@ifrance.com
Website : http://btvmanager.webhop.net
For HLTV see www.slipgate.de
For GTV see www.geeteevee.com
For Adminbot-MX see
http://adminbot.nexen.org/index.php?&lang=EN
For OSP see www.orangesmoothie.org