HLTV Readme
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.
In all configurations, only one HLTV proxy is connected to the game.
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 Master
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.
The HLTV proxy's console accepts the following commands:
connect - connect to server/proxy on the given port (default 27015)
disconnect - disconnects the proxy from server/proxy
quit - quits the HLTV appliaction
exit - same as quit
retry - reconnects to last server/proxy
name - set the proxy's client name
password - sets the server password
clients - lists all connected spectator clients with IDs (not players in game)
kick - kicks a spectator client from proxy
say - sends a text message to all spectators
chatmode <0|1|2> - if 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 - pings a HL server on the given port (default 27015)
heartbeat - sends a status packet to registerd WON master servers
rcon - sends a remote control command to other server/proxy
rcon_address - sets the remote control target address
rcon_password - sets the password for the remote controlled host
proxypassowrd - the proxy's rcon password
rate - bandwith rate the server sends data to the proxy in bytes/second
updaterate - updates per seconds send from server to proxy
maxclientrate - sets the maximum bandwith rate for spectator clients
delay - delays 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|1> - if 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|1> - starts or stops multicast on Master Proxy
connectip - sets the class D IP for the multicast connect group (default 234.5.5.1:27025)
gameip - sets the class D IP for the multicast game group (default 234.5.5.2:27025)
fullupdateinterval - all n frames an uncompressed packet is transmitted to allow clients to recover
from packetloss in multicast (default all 20 frames)
cmdlist - shows all registered proxy commands
logfile <0|1> - starts/stops console logging in hltv.log
status - prints status informations about all active modules
exec - executes a .cfg file
developer <0|1> - additional status messages are shown in developer mode
fakeloss - simulates packet loss, n = probability of a missing unit (default 0.0)
record - records all following games into files like filename1.dm to filename99.dem
playback - starts broadcasting a previously recorded demo (endless if loop is 1)
stop - stops demo file playback
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:
-maxframes - sets the minimum buffered frames (default 2400)
-cachesize - frame cache size (default 32 frames)
-port - sets the HLTV proxy port that spectators connect to (default 27020)
-maxclients - how many clients can be served by this HLTV proxy ( default 128 )
-comm - sets a master server info file other than woncomm.lst
-multicastttl - sets the Time-To-Live value for multicast packets
-highpriority - starts the HLTV proxy as high priority process
-nomaster - the HLTV proxy doesn't report to WON master servers at all
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 prepended to them:
hltv.exe +connect localhost:27015 -port 27021 +rate 7000
A Half-Life server can set sv_proxies , 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.
With the new Half-Life voice technology, one client can comment the game
for all other spectators. This commentator has to connect to the
Master Proxy as a normal spectator and then enter:
commentator
The password is the same as the proxy's RCON password. The commentator
then can speak as in a normal game and all other spectators will hear the
commentary at the same time. If a spectator records this game, the speech
is stored within the demo file.
connect - 使用特定端口连接到某个服务器或者***** (默认 27015)
disconnect - 与服务器或者*****断开连接
quit - 退出HLTV系统
exit - 等同于quit
retry - 重新与上次连接过的服务器或者*****连接
name - 设定*****的名称
password - 设定服务器密码
clients - 列出所有进行播放的观战者的名称
kick - 把观战者从*****中踢出
say - 向所有观战者发送文本信息
chatmode <0|1|2> - 如果设定为0,观战者将无法交谈.设定为1,则只有连接到同一*****的观
战者可以互相交谈.如果设定为2,则所有处于同一播放网络内的玩家可以互相交谈.(主*****和
转接*****都必须设定为2).
ping - 测试与服务器特定端口之间的PING值 (默认 27015)
heartbeat - 发送一个状态包到指定的WON主服务器
rcon - 发送一个遥控命令到其它服务器/*****
rcon_address - 发送遥控命令到特定地址
rcon_password - 为遥控的服务器设定密码
proxypassowrd - 重新确认输入的密码
rate - 绑定服务器与*****之间的传输速率为N字节/秒
updaterate - 每N秒钟服务器与*****之间进行一次更新
maxclientrate - 设定观战客户端的最大连接速率
delay - 设定从服务器传来的信息的延迟秒数,默认为30秒,以避免作弊.最小设定为1
0秒.
loop <0|1> - 如果回路设定为1,那么即便*****与服务器断开连接或者录像文件播放结束,
所有与这个*****的连接用户将 保持连接并重播上一个游
戏录像.
multicast <0|1> - 开始或者结束主*****上的多点传输
connectip - 为多点传输组设定D级IP(默认 234.5.5.1:27025)
gameip - 同上
fullupdateinterval - 多点传输时,允许丢包连接客户端每隔N个未压缩帧包重新连接
(默认每20帧)
cmdlist - 列出所有设定的命令
logfile <0|1> - 开始/结束从hltv.log文件中读取的设定命令
status - 打印所有活跃模式的信息
exec - 运行.cfg文件
developer <0|1> - 在高级模式中显示添加的状态信息
fakeloss - 模拟丢包,n=可能的丢包单元(默认0.0)
record - 记录所有的游戏信息,使用文件名为filename1.dem到filename99.de
m
playback - 开始播放上一个录像(如果回路loop设定为1,则反复播放)
stop - 停止录像文件的回放
按下回车键,程序将自动完成整个命令的输入.所有在hltv.cfg文件中设定好的命令语句将在
游戏开始时自动运行.
下边这些变量只能在命令行中输入:
-maxframes - 设定最大的缓存帧数(默认2400)
-cachesize - 帧缓存规格(默认32帧)
-port - 设定观战客户端与HLTV*****的连接端口(默认27020)
-maxclients - 设定可连接到HLTV*****的最大客户端数目(默认128 )
-comm - 设定不同于woncomm.lst文件的服务器信息文件
-multicastttl - 设定多点传输包的Time-To-Live数值
-highpriority - 设定HLTV*****为优先进程
-nomaster - HLTV*****不向WON服务器发送回馈信息
这些变量在运行过程中无法改变,因此他们不可以在设定文件中进行设定.
所有的设定命令都可以在命令行中设定,用"+"号可以同时使用几个命令,例如:
hltv.exe +connect localhost:27015 -port 27021 +rate 7000
Half-Life服务器可以设定sv_proxies , 从而决定多少个*****允许连接.如果HLTV*****要
被禁止,把这个变量设定为0.设定为1则准许主*****连接,其它数值仅供测试使用.
由于Half-Life新版本加入了语音功能,因而可以实现某个客户对游戏进行实时评述.而评述
者必须与主*****连接,需要输入的命令如下:
commentator
这个密码与*****的RCON密码相同.评述者可以跟进行游戏一样进行评述,而所有其它的观战者
都可以同步听到声音.如果观战者录下这个游戏的话,那么评述声音也会被记录在内.