Sie sind auf Seite 1von 6

HLTV Readme 1.

Spectator Section


HLTV offers the ability to have thousands of spectators watch online games. 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 watch the game. You can spectate the game in different modes: Chase Cam, First Person, Free Look and Map Overview, Map Chase. The easiest way to change modes is the spectator menu, which can be enabled by pressing the DUCK key (by default CTRL). Here you can customize your personal view stlye. Hit DUCK to disable the menu again. Don't forget to "cheer", by default bound to "j". All features are also accessible via hot keys, see "Help" in spectator menu for further details. 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 spectate to a certain game. For example: ]connect Don't forget to add the given HLTV port, most commonly 27020.

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 In all configurations, only one HLTV proxy is connected to the game serv er. This HLTV proxy is called the Master Proxy (or Root Roxy). 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 only is done by the Master Proxy. 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. Unfortunately, multicast is disabled by most ISPs. See hltv.cfg for more details. The HLTV proxy's console accepts the following commands: connect <host:port> ault 27015) disconnect ps demo playback quit exit retry autoretry <0|1> ver after any network failure masternode <0|1> ctators to other proxies k tree. Thus several master node proxies manage the load balance for their subtrees. The master proxy is by default a master node. Commentators or o ther relay proxies will not be redirected. public <0|1> - if public is 0, this proxy will be excluded fr om load balancing (default 1). name <string> board hostname <string> browsers serverpassword adminpassword proxypassword spectatorpassword - sets the proxy's host name as shown in server sets the game server password set password for RCON & commentator protects proxy against unwanted relay proxies protects proxy against unwanted spectators lists all connected spectator clients with IDs how many clients can be served by this HLTV pr lists all known proxies for this game sorted b kicks a spectator client from proxy - sets the proxy's player name as shown in score - connect to server/proxy on the given port (def - disconnects the proxy from server/proxy or sto quits the HLTV appliaction same as quit reconnects to last server/proxy if enabled, proxy will retry connection to ser

- if enabled, proxy will redirect connecting spe which are behind this proxy in the HLTV networ

clients (not players in game) maxclients <n> oxy ( default 128 ) proxies y their load (clients/maxclients) kick <ID> -

say <string> - sends a text message to game server (chat with players) msg <text> [<duration> <pos x> <pos y> <color hex rgba>] - sends a text message to all spectators as big HUD text localmsg <text> [<duration> <pos x> <pos y> <color hex rgba>] - same as msg, but only seen by local clients (n ot relay proxies) servercmd <string> - forwards console command to server (eg "timele ft") clientcmd <group> <string> - forwards a console command to all clients in g iven group: 1 = spectators, 2 = proxies, 3 = all loopcmd <id> <n> <string> - loopcmd will execute <string> every <n> second s. <id> is a number between 1 and 64 to identify this loopcmd. "lo opcmd <id> none" will disable a looping command again. loopcmd without any p aramter will list any command in list. offlinetext <string> - info text clients will see as reject reason if HLTV isn't broadcasting yet allowjoingame <0|1> - if enabled, spectators may join game with the 'joingame' command chatmode <0|1|2> - if chatmode is 0, spectators can't chat. If se t to 1, only spectators connected to the same proxy can see their chat messages. In chatmode 2 all spectators can cha t between each other (then Master and all Relay proxies must have set chatmode 2). Multicast spectators can't ch at at all, since they don't have a real connection. decalfile <filename> - all player spray logos will be substituted wit h this .wad file bannerfile <filename> - specifies a TGA file (RGBA) that will be shown as logo in spectator GUI. signoncommands <string> - console commands that will be executed by loca l spectator clients after connection is established. Commands may be seperated by semicolons. ping <host:port> 7015) nomaster <0|1> servers. heartbeat ON master servers rcon <string> /proxy rconaddress <IP:port> rconpassword <string> st - sets the remote control target address - sets the password for the remote controlled ho - if enabled, proxy won't register at WON master - sends manually a status packet to registered W - sends a remote control command to other server - pings a HL server on the given port (default 2

rate <n> he proxy in bytes/second updaterate <n> roxy maxclientrate <n> clients delay <n> ster Proxy. ing. A minimum

- bandwidth rate the game server sends data to t - updates per seconds send from game server to p - sets the maximum bandwidth rate for spectator - delays the game stream for n seconds on the Ma The default value is 30 seconds to avoid cheat of 10 seconds is needed for the director modul

e. slowmotion <t> <p> probability that it's used delayreconnect <0|1> lchange until rest - t is the slow motion timescale, while p is the - if enabled, proxy will delay reconnect on leve

of game in buffer is broadcasted. cheeringthreshold <n> - number of cheering players must be above this threshold to play the cheering sound (by default 0.25). blockvoice <0|1> - if set, all incoming voice data is blocked. Th is is useful to override incoming voice commentators or player voice with own co mmentators voice sendstatus <string> - send a HLTV status message to all players on g ame server. multicast <0|1> - starts or stops multicast on Master Proxy. ISP or LAN must support multicast. mcast_connectgroup <IP:Port> - sets the class D IP for the multicast connect group (default mcast_gamegroup <IP:Port> - sets the class D IP for the multicast game gro up (default mcast_recoverinterval <n> - all n frames an uncompressed packet is transmi tted to allow multicast clients to recover from packetloss in game group (default all 20 frames = 1 second) mcast_connectinterval <n> - every n seconds all necessary connection infor mation is broadcasted in multicast connect group (default 10 seconds). After gat hering this signon data, clients will join the multicast game group. cmdlist logfile <0|1> status version serverversion os, set to '1108' (experimental) exec <filename> developer <0|1> er mode fakeloss <n> ssing unit (default 0.0) shows all registered proxy commands starts/stops console logging in hltv.log shows proxy status information shows proxy version default '1109', to play/re-record old 1108 dem executes a .cfg file additional debug messages are shown in develop simulates packet loss, n = probability of a mi

record <filename> - records all following games to demo files like filename-1.dem to filename-nnn.dem autorecord <0|1> - if enabled, any game will be recorded to (name scheme auto-<date>-<mod>-<map>.dem ) stoprecord - stops recording a demo file playdemo <filename> [<filename>] ... - starts broadcasting a list of demo files in a loop playnextdemo - plays next demo in list

The console tries to complete a command name by hitting 'TAB'. All commands in the config file "hltv.cfg" are executed during startup. Some parameters can only be set in the command line: -bufferlength <n> sting delay must be smaller ffered. -maxfps <n> t 100) -cachesize <n> -ip <IP> d host -port <n> ct to (default 27020) -comm <filename> omm.lst -multicastttl <n> ets -highpriority (Win32 only) -steam - sets the HLTV proxy port that spectators conne - sets a master server info file other than wonc - sets the Time-To-Live value for multicast pack - starts the HLTV proxy as high priority process - proxy enables special Steam support - frame cache size (default 32 frames) - forces the proxy to use this IP on a multihome - sets maximum system cycles per seconds (defaul - sets proxy buffer size in seconds. The broadca than this value. By default 120 seconds are bu

These parameters cannot be changed during runtime, thus they can't be used in the config file. All console commands can be used in the command line, if a "+" is prepen ded to them: hltv.exe +connect localhost:27015 -port 27021 A Half-Life server can set sv_proxies <n>, to determine how many proxies are allowed to connect. If HLTV proxies should be forbidden, set it to 0 , otherwise 1 to allow for a Master Proxy. Other values are experimental. 3. Commentator Section With the new Half-Life voice technology, some clients may comment the game for all other spectators. They can also insert replays, slow motion or spray custom decals. To become a commentator, clients must enable this feature with "commentator 1" in the console (before connecting). Also the proxy must have set an "adminpassword". The commentator client must set this password with the "password" command.

As commentator your voice speech will be broadcasted to all spectators, your 'say' messages will appear in large letters not as normal chat message. As voice commentator make sure to speak slow and clear, otherwise people will only hear some background noise. To spray a new custom decal (like player logos), bind the new "spec_deca l" command to a unused key (eg "bind m spec_decal") and switch to Free Look Mode. You can spray custom decals at up to 32 different locations. This custom decals must be enabled on the proxy with the "decalfile" command. Each proxy may show it's own decal to connected spectators. To show the last scene again, the commentator can use the "drc_replay" command. For example "drc_replay 5 0" will replay the last 5 seconds again with normal speed, "drc_replay 3 0.5" will replay the last 3 seconds in slow motion. It's also possible to play any sound file using the "drc_sound" command. For example "drc_sound ambience/goal_1.wav 1.0" will play a cheering sou nd with full volume. Use this sound command that add more atmosphere to the game.

Thanks to: : for their constant support and excellent testing.