HLTV — это возможность просмотра игры в режиме On-line очень
большим числом зрителей одновременно. Присоединившись к серверу
HLTV, вы можете наблюдать за игрой, как будто вы находитесь
непосредственно на игровом сервере. Игроки не видят зрителей и не
могут с ними взаимодействовать. Сами же зрители могут общаться
между собой по ходу матча.
HLTV поддерживает все наиболее популярные моды Half-Life такие как:
Counter-Strike, Team Fortress Classic, Day of Defeat и многие
другие. Сама система HLTV позволяет контролировать максимальное
количество возможных зрителей, трафик до клиента, может выводить
сообщения на экран (например, рекламу) или какой-либо логотип. По
умолчанию HLTV транслирует игру с задержкой 30 секунд (параметр
настраивается) для исключения возможности читерства (передачи
информации от зрителей игрокам).
Чтобы транслировать игру для 100 зрителей не требуется никаких
дополнительных настроек. Все прекрасно работает с параметрами по
умолчанию. Если планируется обеспечить просмотр для нескольких
тысяч зрителей, то здесь уже необходимо рассчитывать ширину канала,
а также учитывать мощность CPU и количество RAM.
Просмотр игр On-line через HLTV
Запустите Half-Life/CS, зайдите в меню Find Servers, выберите
Spectate и нажмите Refresh All.
Если вы точно знаете адрес HLTV-сервера, с которого будет
транслироваться игра, то можете открыть консоль и набрать в ней:
connect IP:27020, где вместо IP — IP-адрес HLTV сервера (например,
195.201.33.14). По умолчанию HLTV использует порт 27020, который
необходимо указать при присоединении. Но порт HLTV-сервера может
быть и изменен параметром –port. Тогда при присоединении нужно
будет указать другой порт.
HLTV и игровой сервер
HLTV (HLTV Proxy) по сути мало чем отличается от выделенного
сервера. Для предоставления зрителям возможности следить за игрой
необходимо запустить HLTV.EXE и присоединить его к игровому серверу
(connect IP:port, если port по умолчанию 27015, то его можно не
писать).
Теоретически, один HLTV Proxy сервер может дать 255 зрительских
мест. Однако будьте осторожны и учитывайте возможности вашей
техники и ширину канала! Ведь даже прокси со 100 зрителями
потребляет канал в 2 Mbit (по 2-3 Кб на каждого зрителя) и при этом
игра еще идет плавно. Если необходимо более 100 зрителей, то
следует организовывать несколько HLTV Proxy.
Сервер HLTV, который первым приcоединен к игровому серверу,
называется Master, а все остальные, присоединенные к Мастеру,
называются Relay. Relay Proxy могут образовывать цепь или дерево
серверов. Главное, следить, чтобы они использовали разные каналы
(сети) для обеспечения необходимой пропускной способности.
maxclients — максимальное количество зрителей
maxrate — должно быть примерно 3500 kB/sec
chatmode 0 — сбережет часть ширины канала
updaterate 10 — сбережет часть ширины канала (умолч.: 20)
Запись HLTV демок
HLTV-демки — это почти обычные демки, только с бОльшими
возможностями: вы можете следить за действиями любого игрока в
отдельности, можете просто летать по карте как зритель, а можете
наблюдать за тактикой команд на виде сверху.
Запись HLTV-демки: record 123
Просмотр HLTV-демки: playdemo 123
Или просмотр еще: viewdemo 123 (больше функций по управлению)
Во всех приведенных примерах 123 — имя демо-файла, находящегося в
дирректории Cstrike.
Только запись демок без зрителей
Если вам необходимо ТОЛЬКО записать демку, а зрительские места не
нужны, то рекомендуется внести следующие настройки для оптимальной
записи демки:
maxclients 0 // запрещает вход зрителям
delay 0 // запись без задержки
rate 10000 // максимальная скорость передачи данных
updaterate 20 // стандартная частота обновления данных
nomaster 1 // не регистрироваться на Мастер серверах
Все команды HLTV
connect IP:port - присоединить HLTV proxy к игровому серверу
disconnect - отсоединить, но зрители остаются
stop [text] - отсоединить, прервать запись демо, сообщение
(опция)
quit - завершение HLTV как процесса
retry - попытка переподсоединения
autoretry 0|1 - авто retry
name text - имя HLTV proxy в таблице фрагов
hostname text - имя HLTV сервера для зрителей
serverpassword text - пароль на сервер
adminpassword text - пароль на RCON и комментатора
proxypassword text - пароль на другие Relay proxy
spectatorpassword text - пароль для зрителей
clients - список подключенных клиентов
proxies - список Relay proxy
players - список игроков на игровом сервере
kick ID - выкинуть зрителя
bann IP - забанить IP-адрес
clearbanns - РАЗбанить все баны
say text - послать сообщение игрокам на сервере
msg text [(duration) (pos x) (pos y) (color hex rgba)] - посылает
сообщение всем зрителям
localmsg text [(duration) (pos x) (pos y) (color hex rgba)] - то
же, что и выше, но только локальным зрителям
servercmd string - отослать команду на игровой сервер
clientcmd group string - отослать команду всем клиентам группы:
1=зрители, 2=прокси, 3=всем
loopcmd id n string - запуск string каждые n секунд. id - это номер
от 1 до 64. "loopcmd id none" - уберет повторение.
signoncommands string - команда, которая запустится у локального
зрителя сразу после коннекта, можно несколько команд через ;
maxclients n - максимальное количество зрителей (умолч.: 128)
delay n - задержка по времени при просмотре игры. Все, что меньше
10 удалит функцию авто-режисера.
rate n - ширина канала от игрового сервера до HLTV
updaterate n - обновления об игре с сервера на HLTV
maxrate n - максимальная ширина канала для зрителей
maxloss f - допускаемый уровень потерь 0.05 (5%). Если потери выше,
новые зрители не будут допущены.
maxqueries n - максимальное число запросов статуса от браузеров
dispatchmode 0|1|2 - 1 (авто) перенаправит зрителя на другой прокси
для сохранения балланса. 2 (всегда) перенаправит зрителя в любом
случае (сервер работает как расфасовщик зрителей). 0 (выкл)
publicgame 0|1 - если 1, IP игрового сервера будет виден зрителям и
можно будет присоединиться к игре.
offlinetext string - текст, видимый клиентами, которые не смогли
зайти
chatmode 0|1|2 - 0 нет чата. 1 - чат между зрителями одного прокси.
2 - все могут разговаривать (тогда везде должно стоять 2)
bannerfile file - указывает TGA файл (RGBA) в качестве
логотипа.
ping host:port - пингует HL сервер
nomaster 0|1 - если 1, то прокси не будут регистрироваться на
Мастере
forcemaster 0|1 - если 1, прокси будут регистрироваться на
Мастере
heartbeat - высылает данные о статусе на Мастер сервер
region n - регион, где находится HLTV сервер
rcon string - посылает команду на удаленные сервера
rconaddress IP:Port - устанавливает адрес удаленного хоста
rconpassword string - пароль для удаленного хоста
cheeringthreshold f - число игроков для проигрывания звука
аплодисментов (умолч.: 0.25).
cmdlist - показывает все возможные команды HLTV
logfile 0|1 - вкл/выкл лог консоли
status - показывает статус прокси
modules - показывает все загруженные HLTV модули и версии
exec filename - запускает .cfg файл
echo string - выводит текст в консольное окно HLTV
developer 0|1 - дополнительные сообщения
record filename - запись всех последующих игр
stoprecording - стоп записи демки
playdemo filename - начало трансляции демо-файла
Консоль позволяет заканчивать команды нажатием 'TAB'.
Все команды в "hltv.cfg" выполняются в процессе запуска HLTV.
Параметры, задаваемые только из командной строки:
-port n - устанавливает порт HLTV proxy отличный от 27020
-ip IP - заставляет прокси использовать этот IP на хосте с
несколькими IP
-comm filename - устанавливает инфо файл о Мастере отличный от
woncomm.lst
-nodns - запрещает выдачу DNS имен (полезно для LAN проксей)
-maxfps n - максимальное число циклов в секунду (умолч.: 100)
-highpriority - стартует HLTV с высоким приоритетом
-steam - прокси с поддержкой STEAM