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 -dev - режим разработчика