Counter-Strike: HLTV
Что такое HLTV? 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 могут образовывать цепь или дерево серверов. Главное, следить, чтобы они использовали разные каналы (сети) для обеспечения необходимой пропускной способности.
- ISDN 64 Kbps : 2 зрителя - DSL 128 Kbps (upstream) : 5 зрителей - T1 1.5 Mbps : 75 зрителей - LAN 10 Mbps : 500 зрителей - T3 75 Mbps : 4000 зрителей
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).
blockvoice 0|1 - запрещает/разрешает комментирование
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 - режим разработчика