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, который первым присоединен к игровому серверу, называется Master, а все остальные, присоединенные к Мастеру, называются Relay. Relay Proxy могут образовывать цепь или дерево серверов. Главное, следить, чтобы они использовали разные каналы (сети) для обеспечения необходимой пропускной способности.
maxclients — максимальное количество зрителей. maxrate — должно быть примерно 3500 kB/sec. chatmode 0 — сбережет часть ширины канала. updaterate 10 — сбережет часть ширины канала (умолч.: 20).
· Запись HLTV демок.
HLTV-демки — это почти обычные демки, только с бОльшими возможностями: вы можете следить за действиями любого игрока в отдельности, можете просто летать по карте как зритель, а можете наблюдать за тактикой команд на виде сверху.
Запись HLTV-демки: record [имя]. Просмотр HLTV-демки: playdemo [имя]. Или просмотр еще: viewdemo [имя] (больше функций по управлению).
Во всех приведенных примерах [имя] — имя демо-файла, находящегося в дирректории игры.
· Только запись демок без зрителей.
Если вам необходимо ТОЛЬКО записать демку, а зрительские места не нужны, то рекомендуется внести следующие настройки для оптимальной записи демки:
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. -dev — режим разработчика.