Professional Documents
Culture Documents
1. Spectator Section
HLTV offers the ability to have thousands of spectators watch online gam
es.
To watch a game, start Half-Life, open the Multiplayer menu and
select 'Spectate Games'. Half-Life will search for currently broadcasted
games and show them in a list like normal game servers. You recognize
HLTV games by the little eye icon (and the green text). Select the game
in
the list that you would like to spectate and click on 'Spectate' to watc
h
the game.
You can spectate the game in different modes: Chase Cam, First Person,
Free Look and Map Overview. To change modes press JUMP (by default SPACE
key). Each time you enter a new mode, HLTV automatically chooses the
most interesting player to follow. If you want to chase a particular pla
yer
press FIRE to choose next player. You can also enable a small inset
window by pressing DUCK (by default the CTRL key), showing a different
view then the main view. A brown view cone shows you your position
in the overview map. The overview map can be rotated with mouse, zoomed
in/out with FORWARD/BACK or moved with MOVELEFT/MOVERIGHT keys. Player
names under their icons can be disabled with 'cl_drawnames 0'.
If important games are announced to be broadcasted via HLTV, they often
provide IP:Port addresses of HLTV proxies. Instead of searching them via
the internal server browser, you can also lower the console and
use the 'connect' command to connect to a certain game. For example:
]connect 192.168.130.42:27020
Don't forget to add the given HLTV port, most commonly 27020.
While spectating a game using HLTV, you can join the game by entering
the 'joingame' command. But this feature must be enabled by the HLTV
proxy administator. Anyway, spectators can see the game server IP and
other information using the 'status' command.
2. Administator Section
The core of HLTV is the hltv.exe proxy application. To broadcast a game
running on a certain game server, the HLTV proxy connects to this game
server and collects all the needed data. Spectator clients join a
multicast stream that is used by the HLTV proxy to broadcast this game.
If multicast technology is not available because the LAN or ISP routers
do not support multicast, clients can connect directly to the HLTV
proxy. The number of clients that one HLTV proxy can serve depends on
available hardware and network resources. HLTV proxies can also connect
to each other to offer more spectator slots.
A HLTV base configuration looks like this:
Players <-> HL Game Server -> HLTV Master Proxy
The Master Proxy relays the game to other proxies or spectators:
Master Proxy -> Spectators
Master Proxy -> Relay Proxy -> Spectators
Or if multicast is available, the Master Proxy broadcasts into the
multicast network and spectators just listen to these data streams:
Master Proxy -> Multicast Network -> Spectators
In all configurations, only one HLTV proxy is connected to the game serv
er.
This HLTV proxy is called the Master Proxy. This Master Proxy sets the
game delay and analyzes the game data to position the camera in directed
spectator mode. All other HLTV proxies that are connected to the Master
Proxy as described above (called Relay Proxies) form a chain, or tree.
Each Relay Proxy transmits the game only to spectator clients that are
connected to itself. The Relay Proxies can not delay the game or alter
how the game is viewed; this is done by the Master Proxy. Only the Maste
r
Proxy is allowed to send to a multicast group (Class D IP). It is very
important that each proxy uses its own multicast group, otherwise the
different game streams interfere with each other.
The HLTV proxy tells the WON master servers about its broadcasted game.
Thus, users can spectate a game simply by using the built-in Half-Life
server browser, connecting to a HLTV proxy the same way as connecting to
a normal game. Users also can use the console to connect to a HLTV proxy
with the 'connect' command, the same way as connecting to a normal game.
If the HLTV proxy broadcasts the game via multicast, the client
automatically tries to join the multicast stream, if possible.