Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

HLTV-Readme.txt 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464
  1. HLTV Documentation Version 3.1.1.1/4.1.1.1
  2. Content
  3. -------------------------------------------------------------------------------
  4. 1. Overview
  5. 2. Spectating Games
  6. 3. HLTV Basics
  7. 4. Broadcasting Games
  8. 5. Recording HLTV demos
  9. 6. Larger Broadcasts
  10. 7. HLTV Configuration
  11. 1. Overview
  12. -------------------------------------------------------------------------------
  13. Half-Life TV offers the ability to have an unlimited number of spectators
  14. watching online games. They can follow the game just like they would as
  15. a spectator on the game server. Spectators are invisible to players and
  16. can't interact with the running game in any way. Each spectator can choose
  17. any view position or choose any player to track individually. To have the
  18. most enjoyable spectating experience, spectators can enable the
  19. Auto-Director mode. Then the camera is changed automatically so that only
  20. interesting scenes are shown from a suitable viewpoint. Thus the spectator
  21. can lean back and won't miss any relevant action. All the time, spectators
  22. may communicate between each other using the standard HL chat system.
  23. Most popular Half-Life MODs are supported like Counter-Strike, Team
  24. Fortress Classic, Day of Defeat and many others. HLTV providers have full
  25. control over their HLTV system, may change number of spectator slots, add
  26. text messages or change the HLTV logo. The broadcast is delayed by a
  27. customizable amount of time, by default 30 seconds. This ensures that the
  28. playing teams can't use HLTV to get any usable information about their
  29. opponents. Providing a single HLTV server for up to 100 spectators is an
  30. easy task and doesn't need any changes in default configurations.
  31. Installing a larger HLTV network for thousands of spectators needs some
  32. more planning time and experience about required bandwidth and CPU/RAM
  33. demands (see chapter 6).
  34. 2. Spectating Games
  35. -------------------------------------------------------------------------------
  36. To watch a HLTV game, start Half-Life, open the Multiplayer menu and select
  37. 'Find Servers'. To search for currently broadcasted games, choose the
  38. 'Spectate' section and hit 'Refresh All'. After the list has been updated,
  39. double click on the server you want to spectate and you'll be connected.
  40. If computer game leagues announce important matches to be broadcasted via
  41. HLTV, they often provide IP:Port addresses of their HLTV servers. Instead
  42. of searching them via the server browser, you can also go to the
  43. 'Favorites' folder and add the HLTV address to your server list by pressing
  44. the right mouse button. Otherwise, you can also open the console window and
  45. use the 'connect' command to spectate a certain game.
  46. For example:
  47. connect 192.168.130.42:27020
  48. The default HLTV port number is 27020, but may be changed. It should always
  49. be included in the given address, since commonly this port number is
  50. different from the default port number 27015.
  51. You can spectate the game in different modes: Chase Cam, First Person, Free
  52. Look, Map Overview and Map Chase. The easiest way to change modes is to
  53. press the JUMP key (default SPACE). Alternatively you can use the spectator
  54. menu, which can be enabled by pressing the DUCK key (default CTRL). Here
  55. you can customize your personal view style and enable the Auto-Director
  56. Mode. Press USE (default E) to cycle through the different
  57. Picture-In-Picture modes.
  58. The following HL console commands can be used to customize spectator
  59. settings:
  60. spec_autodirector <0|1> - turns Auto Director mode on or off
  61. spec_drawcone <0|1> - shows your view cone in map overview mode
  62. spec_drawnames <0|1> - shows player names under their icons
  63. spec_drawstatus <0|1> - shows game information (time, map etc)
  64. spec_pip <0|1> - turns Picture-In-Picture mode on or off
  65. spec_menu - opens the spectator menu
  66. spec_help - shows a help screen
  67. spec_mode <1-6> [<0-4>] - set the main view mode, seconds parameter is
  68. the PIP mode. Not all combinations are valid.
  69. Main modes are:
  70. 1 : Locked Chase 2 : Free Chase
  71. 3 : Free Roaming 4 : First Person
  72. 5 : Map Overview 6 : Chase Map Overview
  73. PIP modes are:
  74. 0 : PIP off 1 : Free Chase
  75. 2 : First Person 3 : Map Overview
  76. 4 : Chase Map Overview
  77. 3. HLTV Basics
  78. -------------------------------------------------------------------------------
  79. The core of the HLTV broadcasting system is the HLTV server, also called
  80. HLTV proxy. The HLTV executable is a console application that works much
  81. like a HL dedicated server. To broadcast a game running on a certain game
  82. server, the HLTV proxy connects to this server just like a normal player.
  83. Spectators connect themselves to the HLTV proxy and the game data stream is
  84. relayed through the HLTV proxy to all connected spectator clients. The next
  85. figure shows a basic HLTV configuration:
  86. HL Game Server -> HLTV Proxy => Spectator Clients
  87. The number of clients that one HLTV proxy can serve depends on available
  88. hardware and network resources. Theoretically, a single proxy can hold a
  89. maximum of 255 spectator clients. But be careful, even a proxy with 100
  90. spectator clients needs a full 2 MBit line to run smoothly. If more
  91. spectator slots are needed, the required network load must be distributed
  92. over multiple HLTV proxies.
  93. The first HLTV proxy connected to the game server is called the Master
  94. proxy, which sets the general broadcast settings like game stream delay or
  95. packet rate. All other HLTV proxies linked to this proxy are the Relay
  96. proxies. Their total number and link order is not restricted, they may form
  97. a chain or tree of proxies. Most important is that their location is in
  98. different networks to ensure a balanced bandwidth usage.
  99. -> HLTV Relay Proxy 1 => Spectator Clients
  100. HL Game Server -> HLTV Master -> HLTV Relay Proxy 2 => Spectator Clients
  101. -> HLTV Relay Proxy 3 => Spectator Clients
  102. 4. Broadcasting Games
  103. -------------------------------------------------------------------------------
  104. Let's assume the most simple configuration, a single HLTV proxy in a LAN
  105. environment. This is a very common situation and the default HLTV settings
  106. doesn't need to be changed. Choose a dedicated computer as your HLTV proxy
  107. and install the Half-Life Dedicated Server, which also includes all files
  108. needed by a HLTV proxy. This isn't needed if Half-Life is already
  109. installed.
  110. Start the HLTV application (HL icon with a small camera) and the HLTV
  111. console will open, showing some initialization messages (if that takes a
  112. long time, HLTV maybe can't resolve some IP addresses, then start HLTV
  113. with the '-nodns' command line option). Then the console is ready to accept
  114. your commands, here we use '>' as the console prompt. First give your HLTV
  115. proxy an unique name:
  116. >name "My HLTV Proxy"
  117. Let's assume you have started the proxy on host 192.168.1.2 and the game
  118. server, you want to spectate is running on host 192.168.1.3:27015. Then
  119. connect the HLTV proxy to this game server by typing:
  120. >connect 192.168.1.3:27015
  121. After a few seconds HLTV will be fully connected and ready to serve
  122. spectator clients. Use the 'status' command to verify that the HLTV proxy
  123. has connected properly :
  124. >status
  125. --- HLTV Status ---
  126. Online 00:23, FPS 79.0, Version 2435 (Win32)
  127. Local IP 192.168.1.2:27020, Network In 1.7, Out 1.0, Loss 0.00
  128. Local Slots 128, Spectators 0, Proxies 0
  129. Total Slots 128, Spectators 0, Proxies 1
  130. Source Game Server 192.168.1.3:27015, Delay 30
  131. Server Name "Half-Life dedicated server"
  132. Time 01:35, Game "valve", Map "maps/rapidcore.bsp", Players 1
  133. The 'status' command shows your own IP address, HLTV system cycles per
  134. second, total incoming and outgoing network traffic in kB/sec. Local slot
  135. and spectator numbers your HLTV proxy is providing, total numbers are the
  136. sum of all slots & spectators on all proxies broadcasting this game. The
  137. game source can be a game server, another HLTV proxy or a demo file.
  138. 5. Recording HLTV demos
  139. -------------------------------------------------------------------------------
  140. HLTV demo files are like normal recorded games in Half-Life, but you can
  141. choose any view point, view mode or player to chase during replay. To play
  142. back a HLTV demo, a HLTV proxy is not needed. Just start Half-Life and type
  143. in console "playdemo <demoname>" or "viewdemo <demoname>" (viewdemo offers
  144. more options during playback like fast forward/backward, pause &
  145. slowmotion). To record a HLTV demo, connect the proxy to a game server (see
  146. last chapter) and type in console:
  147. >record <name>
  148. All games will be recorded after issuing this command. The demo files will
  149. be saved in the current Mod directory, e.g. \cstrike. All demo files have a
  150. special naming convention <name>-<YYMMDDhhmm>-<map>.dem, including the
  151. given name, date/time and map name. Demo files record the same data as send
  152. to spectator clients. That means also, the demo file records the game with
  153. the same delay as used for spectators. To verify, that a demo file is
  154. recorded use the "status" command. The recording may be stopped with
  155. "stoprecording".
  156. Sometimes a HLTV broadcast is not wanted and the HLTV proxy is only used
  157. to record a demo file. In this case, some HLTV settings should be made to
  158. gain optimal recording results:
  159. >maxclients 0 // don't allow any spectator clients
  160. >delay 0 // no game stream delay
  161. >rate 10000 // maximum data rate
  162. >updaterate 20 // standard update rate
  163. >nomaster 1 // don't register at master servers
  164. 6. Larger broadcasts
  165. -------------------------------------------------------------------------------
  166. Setting up a HLTV network that can handle a larger number of spectators
  167. (>1000) is a difficult and time consuming task. The following guide should
  168. help to configure and run such a HLTV network. One of the most important
  169. rule should be "Quality, not Quantity". It's better to offer a smaller
  170. number of spectator slots, than operating at the maximum bandwidth limit,
  171. thus all spectators would suffer from lags and timeouts. Check carefully
  172. your available bandwidth capacity and calculate how many spectators can
  173. be handled by your HLTV servers. The average bandwidth demand per spectator
  174. is between 2 and 3 KB/sec and depends on the current mod, map and number of
  175. players. CPU and RAM shouldn't be a bottleneck on modern PC systems.
  176. This list for common Internet connection types gives a feeling, how
  177. bandwidth demanding HLTV can be:
  178. - ISDN 64 Kbps : 2 spectators
  179. - DSL 128 Kbps (upstream) : 5 spectators
  180. - T1 1.5 Mbps : 75 spectators
  181. - LAN 10 Mbps : 500 spectators
  182. - T3 75 Mbps : 4000 spectators
  183. Use the "maxclients" command to set how many clients should be accepted by
  184. a HLTV proxy. Make sure that the "maxrate" variable is set too a reasonable
  185. value, e.g. 3500 kB/sec. Lower values are possible, but make sure spectators
  186. don't get too much "choke" during a running game. The "maxrate" command
  187. doesn't effect the bandwidth limit between HLTV proxies, only for spectator
  188. clients. To lower the general bandwidth demand, you can turn off the
  189. internal HLTV chat ("chatmode 0") or decrease the game update rate from the
  190. default value 20 to 10 ("updaterate 10"). A lower update rate may save up
  191. to 25% network traffic and is an acceptable tradeoff in this case since
  192. spectators doesn't need a high update rate like real players does.
  193. A very common setup for large broadcasts is to use 2 dedicated HLTV servers
  194. to create a private and a public HLTV segment. Let's assume the game server
  195. is in a closed LAN and not accessible from outside. This ensures a maximum
  196. security against attacks (DOS etc) from outside. The HLTV master server is
  197. started within the LAN and it's IP address should be kept secret. The
  198. second HLTV server is started outside the LAN with a global IP and is
  199. connected to the HLTV master server. This second HLTV server is the public
  200. HLTV dispatcher, which IP address is given to the audience. Any relay
  201. proxies are connected to this HLTV dispatcher. Thus the HLTV master server
  202. is in a secure LAN environment and can be used for demo recording or for
  203. HL clients serving video projectors. Spectators connect to the HLTV
  204. dispatcher and are relayed through the HLTV network to a relay proxy with
  205. a low usage. Thus the total network load is balanced between all connected
  206. HLTV proxies.
  207. +---- Private LAN -----+ +------ Public Internet --------+
  208. -> HLTV Proxy 1
  209. HL Server -> HLTV Master -> HLTV Dispatcher -> HLTV Proxy 2
  210. -> HLTV Proxy 3
  211. The configuration files of HLTV master and HLTV dispatcher are different:
  212. master.cfg:
  213. nomaster 1 // don't register at WON master servers
  214. proxypassword MyPWD // protect HLTV server
  215. publicgame 0 // don't show game server IP
  216. dispatchmode 0 // don't dispatch spectators
  217. dispatcher.cfg:
  218. forcemaster 1 // register at WON master servers
  219. publicgame 0 // don't show game server IP
  220. dispatchmode 2 // dispatch all clients to other proxies
  221. hostname MyGame // public HLTV server name
  222. If you're running 3 or more HLTV servers in total, it's a good idea to
  223. use RCON to manage them via a single server admin tool. To enable RCON
  224. on a HLTV server an "adminpassword" must been set. Also "proxypassword"
  225. should be set to ensure only known HLTV providers can connect to your
  226. HLTV network. Otherwise anybody can connect with slow HLTV proxies and
  227. disturb your network load balancing.
  228. 7. HLTV Configuration
  229. -------------------------------------------------------------------------------
  230. A short note about console command syntax. A command description follows
  231. the following notation:
  232. command <parameter> [<parameter>] - description
  233. A command may have one or more parameters. Parameters in brackets [] are
  234. optional. Common used parameters are :
  235. <string> : text, must be in quotes if text contains spaces "My Name"
  236. <n> : a whole number, e.g. 42
  237. <f> : a floating point number, e.g. 4.2
  238. <IP:Port> : an IP address, e.g. 192.168.130.42:27020
  239. <a|b|c> : a set of options, a or b or c
  240. Note, any of these special characters <, >, |, [ or ] are not part of the
  241. final command as typed in the console. Lots of these commands are boolean
  242. switches, were 1 is meaning ON and 0 is respectively OFF.
  243. connect <IP:Port> - connect HLTV proxy to game server (default port 27015)
  244. disconnect - disconnects proxy from server, but doesn't stop the
  245. broadcast. All spectator clients stay connected.
  246. stop [<text>] - disconnects from server, disconnects all clients and
  247. stops demo recording. Optional goodbye message.
  248. quit - quits the HLTV process
  249. retry - retries the last server connection
  250. autoretry <0|1> - if enabled, proxy will retry connection to server if
  251. connection was interrupted for any reason
  252. name <text> - sets the HLTV proxy scoreboard name
  253. hostname <text> - sets the HLTV host name for game browser list
  254. serverpassword <text> - sets the game server password
  255. adminpassword <text> - sets password for RCON & commentator
  256. proxypassword <text> - sets password for other relay proxies
  257. spectatorpassword <text> - sets spectator password. Will also exclude
  258. proxy from global load balancing
  259. clients - lists connected spectator clients
  260. proxies - lists connected relay proxies
  261. players - lists players on game server
  262. kick <ID> - kicks a spectator client from proxy
  263. bann <IP> - banns an IP address (completely ignored)
  264. clearbanns - removes all IPs from bann list
  265. say <text> - sends a text message to game server (chat with players)
  266. msg <text> [<duration> <pos x> <pos y> <color hex rgba>]
  267. - sends a text message to all spectators as big HUD text
  268. localmsg <text> [<duration> <pos x> <pos y> <color hex rgba>]
  269. - same as msg, but only seen by local clients
  270. servercmd <string> - forwards console command to game server
  271. clientcmd <group> <string> - forwards a console command to all clients of
  272. given group: 1=spectators, 2=proxies, 3=all
  273. loopcmd <id> <n> <string> - loopcmd will execute <string> every <n>
  274. seconds. <id> is a number between 1 and 64 to
  275. identify this loopcmd. "loopcmd <id> none"
  276. will disable a looping command again. loopcmd
  277. without any parameter will list any command
  278. currently in the list.
  279. signoncommands <string> - console commands that will be executed by
  280. local spectator clients after connection is
  281. established. Commands may be separated by
  282. semicolons.
  283. maxclients <n> - set spectator number limit for this proxy (default 128)
  284. delay <n> - delays the game stream for n seconds on the Master Proxy.
  285. The default value is 30 seconds to avoid cheating. If the
  286. delay is set to a value below 10 seconds (e.g. 0), the
  287. auto director function will be disabled.
  288. rate <n> - bandwidth rate the game server sends data to the proxy
  289. updaterate <n> - game updates per seconds send from server to proxy
  290. maxrate <n> - sets the maximum bandwidth rate for spectator clients
  291. maxloss <f> - sets the acceptable packet loss rate, default
  292. value is 0.05 (5%). If packet loss is higher, new
  293. spectator clients will be rejected.
  294. maxqueries <n> - maximum of status queries per second requested by server
  295. browsers
  296. dispatchmode <0|1|2> - Dispatch mode 1 (AUTO) will redirect connecting
  297. clients to other proxies balancing work load between
  298. all proxies. In dispatch mode 2 (ALWAYS) any
  299. spectator clients will be redirected, so this proxy
  300. serves only as dispatcher. Dispatch mode 0 (OFF)
  301. won't redirect any clients.
  302. publicgame <0|1> - if public is 1, game server IP will be visible to
  303. spectators and 'joingame' is allowed.
  304. offlinetext <string> - info text clients will see as reject reason if HLTV
  305. isn't broadcasting yet
  306. chatmode <0|1|2> - if chatmode is 0, spectators can't chat. If set to 1,
  307. only spectators connected to the same proxy can see
  308. their chat messages. In chatmode 2 all spectators
  309. can chat between each other (then Master and all
  310. Relay proxies must have set chatmode 2).
  311. bannerfile <file> - specifies a TGA file (RGBA) that will be shown as
  312. logo in spectator GUI.
  313. ping <host:port> - pings a HL server on the given port (default 27015)
  314. nomaster <0|1> - if enabled, proxy won't register at WON master
  315. servers
  316. forcemaster <0|1> - if enabled, proxy will register at WON master server
  317. heartbeat - sends manually a status packet to WON master servers
  318. region <n> - set the region your HLTV proxy is located in
  319. rcon <string> - sends a remote control command to other servers
  320. rconaddress <IP:Port> - sets the remote control target address
  321. rconpassword <string> - sets the password for the remote controlled host
  322. cheeringthreshold <f> - number of cheering players must be above this
  323. threshold to play the cheering sound (by default 0.25).
  324. blockvoice <0|1> - if set, all incoming voice data is blocked. This is
  325. useful to override incoming voice commentators or
  326. player voice with own commentators voice.
  327. cmdlist - shows all registered proxy commands
  328. logfile <0|1> - starts/stops console logging in "logfile<date>.log"
  329. status - shows proxy status information
  330. modules - shows all loaded HLTV modules and versions
  331. exec <filename> - executes a .cfg file
  332. echo <string> - prints a text to HLTV console
  333. developer <0|1> - additional debug messages are shown in developer mode
  334. record <filename> - records all following games to demo files using name
  335. syntax "filename-<date>-<map>.dem"
  336. stoprecording - stops recording a demo file
  337. playdemo <filename> - starts broadcasting a demo file
  338. The console does auto-completion by hitting 'TAB'. All commands in the
  339. config file "hltv.cfg" are executed during startup.
  340. Some parameters can only be set in the command line:
  341. -port <n> - sets the HLTV proxy port that spectators connect to
  342. (default 27020)
  343. -ip <IP> - forces the proxy to use this IP on a multihomed host
  344. -comm <filename> - sets a master server info file other than woncomm.lst
  345. -nodns - disables any DNS resolving (useful for LAN proxies)
  346. -maxfps <n> - sets maximum system cycles per seconds (default 100)
  347. -highpriority - starts the HLTV proxy as high priority process
  348. -steam - proxy enables special Steam support
  349. -dev - developer mode
  350. These parameters cannot be changed during runtime, thus they can't be used
  351. in config files.
  352. All console commands can be used in the command line, if a "+" is prepended
  353. to them, for example:
  354. hltv.exe +connect localhost:27015 -port 27021
  355. A Half-Life server can set sv_proxies <n>, to determine how many proxies
  356. are allowed to connect. If HLTV proxies should be forbidden, set it to 0,
  357. otherwise 1 to allow for a Master Proxy. Other values are experimental.
  358. -------------------------------------------------------------------------------
  359. For HLTV news, updates and help visit http://hltv.valve-erc.com
  360. Copyright (2003 Valve LLC.)