Portal Review

3 User(s) Online





 The Multicast Spectator Mode - December 6 - 2001

Along with the release of Half-Life 1.1.0.8 came Valves new technology referred to as the Multicast Spectating, also known as HLTV. The technology allows hundreds or thousands of people to watch a game of Counter-Strike (or any other Half-Life MOD), and study game strategies, watch their clanmates play or simply enjoy the action. The configuration involves a master proxy which is connected directly to the game and receives all the data. All other proxies, socalled relay proxies, are connected to the master proxy and transmits the game to those who're connected. Learn more about HLTV in our previous article.

Since it's first appearance I've read countless e-mails, forum posts etc. from people who haven't figured out how to view/setup games, and since HLTV is a feature every gamer should be able to enjoy, we've written this in hope to help people using this excellent technology.

Connecting to HLTV Games:

The concept of connecting to a HLTV server is exactly the same as connecting to a normal game of CS. Simply start Counter-Strike and choose "Play CS", and then "View Game". If you want to spectate a random match click "Update" and there'll be loads of servers to choose from. Also make sure to click "Filter" and check "are responding" and "are spectator proxies" (see the screenshots). The filter is quite useful to specify your search for servers.

The HLTV server listThe filter

In case there's one specific game you want to watch, like a clanwar or CPL game, use the "Add IP", paste the IP adress and your game should be showing (remember the correct port - default is 27020). Alternatively you can connect through the console with "connect IP:Port".

Spectating a Game:

When you've entered the game you'll be able to see the connected players, their latency, score etc. and you can propably chat with other spectators (can be enabled/disabled on the HLTV server). Unfortunately you can't see the players health, ammo and a list of spectators. You have these possibilities available:
Fire: Switches between players.

Jumpbutton: Changes viewmode between auto, free look, in eyes and map.

Use: Toggles miniscreen in upper left corner.

Duckbutton: Opens options in the bottom of the screen.

Arrows: Movement.

Even though it doesn't sound like much, it gives plenty of different views and angles to enjoy. Especially the in-eyes is great, and together with the minimap it gives an excellent overview.

Setting up an HLTV server:

If you browse through your Half-Life directory you'll see af file called hltv.exe. This is the proxy server that allows people to spectate games. To connect the proxy to a server simply type "connect IP:port". Remember that the default port for CS servers is 27015 while it's 27020 for the HLTV proxy (meaning you'll usually have to connect to port 27015 with the proxy since you are connecting to a normal CS server)! When you're connected to a CS server with the proxy, you'll have access to some info on the top like FPS, time, number og clients and buffer which shows how much gameplay time are stored due to the delay.


The HLTV Proxy


The are a long line of commands to use with the proxy:

CommandDescription
connect host:portconnect to server/proxy on the given port (default 27015)
disconnectdisconnects the proxy from server/proxy
quitquits the HLTV appliaction
retryreconnects to last server/proxy
name Xset the proxy's client name, X = name
passwordsets the server password
quitquits the HLTV appliaction
clientslists all connected spectator clients with IDs (not players in game)
kick IDkicks a spectator client from proxy
say xsends a text message to all spectators
chatmode 0|1|2if chatmode is 0, spectators can't cheat. If set to 1, only spectators connected to the same proxy can see their chat messages. In chatmode 2 all spectators can chat between each other (then Master and all Relay proxies must have set chatmode 2). Multicast spectators can't chat at all, since they don't have a real connection
ping host:portpings a HL server on the given port (default 27015)
heartbeatsends a status packet to registerd WON master servers
rcon xsends a remote control command to other server/proxy
rcon_address IP:portsets the remote control target address
rcon_password stringsets the password for the remote controlled host
proxypassword xthe proxy's rcon password
rate nbandwith rate the server sends data to the proxy in bytes/second
updaterate nupdates per seconds send from server to proxy
maxclientrate nsets the maximum bandwith rate for spectator clients
delay ndelays the game stream for n seconds on the Master Proxy. The default value is 30 seconds to avoid cheating. A minimum of 10 seconds is needed for the director module
loop 0|1if loop is 1 and the proxy disconnects or the demo file is over, all clients are kept connected and the last game is replayed
multicast 0|1starts or stops multicast on Master Proxy
connectip IP:Portsets the class D IP for the multicast connect group (default 234.5.5.1:27025)
gameip IP:Portsets the class D IP for the multicast game group (default 234.5.5.2:27025)
fullupdateinterval nall n frames an uncompressed packet is transmitted to allow clients to recover from packetloss in multicast (default all 20 frames)
cmdlistshows all registered proxy commands
logfile 0|1starts/stops console logging in hltv.log
statusprints status informations about all active modules
exec filenameexecutes a .cfg file
developer 0|1additional status messages are shown in developer mode
fakeloss nsimulates packet loss, n = probability of a missing unit (default 0.0)
record filenamerecords all following games into files like filename1.dm to filename99.dem
playback filenamestarts broadcasting a previously recorded demo (endless if loop is 1)
stopstops demo file playback

Another cool thing about HLTV is the possibility to spectate games on public servers. Run hltv.exe and connect it to the public server. When the proxy is open run CS and connect to 127.0.0.1:27020 either through "view game" or through the console (it will only work with servers that have free spectator slots and aren't full though).

Another important thing is HLTV used together with Punkbuster. Normally the HLTV Proxy gets kicked for not being a Punkbuster client but it can be awoided this way:
Type "status" in the proxy console to see the name of your proxy. Then add this line to the Punkbuster .cfg file (default pbsvhl.cfg):

ProxyName NAME

If your proxy is called "HLTV Proxy" then add "ProxyName HLTV Proxy" to your PB .cfg. This will cause PB to awoid kicking anyone called HLTV Proxy as long it has zero frags.

Conclusion:

That's about it. This is the most important info on the HLTV technology, allthough there's much more to learn. First of all make sure to read the hltv-readme.txt in your Half-Life directory - it offers further info on the use of HLTV. Below is some of the best links regarding the technology where you, among other things, can learn about the error messages and read interviews with the author of HLTV.

- Garmer

Related Links:

HLTV FAQ & Ressource - By the author of HLTV. It goes in depth with HLTV and explains error messages.

Interview with Martin Otten - The creator of HLTV answering a lot of interesting questions.

Gamespy Article - About HLTV with Erik Johnson from Valve softare.
Copyright 2001 - 2014 Spilzonen.dk - code & design by Garmer