HLTV — это возможность просмотра
игры в режиме On-line очень большим числом зрителей одновременно.
Присоединившись к серверу HLTV, вы можете наблюдать за игрой, как будто
вы находитесь непосредственно на игровом сервере. Игроки не видят
зрителей и не могут с ними взаимодействовать. Сами же зрители могут
общаться между собой по ходу матча.
HLTV поддерживает все
наиболее популярные моды Half-Life такие как: Counter-Strike, Team
Fortress Classic, Day of Defeat и многие другие. Сама система HLTV
позволяет контролировать максимальное количество возможных зрителей,
трафик до клиента, может выводить сообщения на экран (например,
рекламу) или какой-либо логотип. По умолчанию HLTV транслирует игру с
задержкой 30 секунд (параметр настраивается) для исключения возможности
читерства (передачи информации от зрителей игрокам).
Чтобы
транслировать игру для 100 зрителей не требуется никаких дополнительных
настроек. Все прекрасно работает с параметрами по умолчанию. Если
планируется обеспечить просмотр для нескольких тысяч зрителей, то здесь
уже необходимо рассчитывать ширину канала, а также учитывать мощность
CPU и количество RAM.
Но мы рассмотрим запись демок: HLTV-демки — это
почти обычные демки, только с большими возможностями: вы можете следить
за действиями любого игрока в отдельности, можете просто летать по
карте как зритель, а можете наблюдать за тактикой команд на виде
сверху, т. е. самому выбирать наиболее подходящий ракурс либо камеру. При
помощи HLTV можно записывать демки игрового процесса в Counter-Strike.
Многие спросят зачем это нужно? А вот зачем: когда вы записываете демку
через консоль~ (record "demka") то при просмотре демки вы сможете
наблюдать за игрой только от первого лица и не сможете переключать
камеру (это очень не удобно, особенно когда запись велась каким-нибудь
ламером, который не умеет играть и приходится вечно глазеть на его
черный экран!). Перейдем к делу.
Сначала создайте сервер в игре (можно и выделенный).
Сверните
Counter-Strike, далее идите в каталог с игрой, в нем вы найдете файл
hltv.exe - запустите его, не пугайтесь когда перед вами вылезет черное
окно DOS'а - это и есть HLTV, в окне пишите connect 127.0.0.1
(127.0.0.1 - это если вы играете дома с ботами, ежели вы играете
например по интернету то вам необходимо уточнить ваш IP адресс).
Заходим обратно в CS.
Можно запускать через Bat'ник, как обычный сервер, с параметрами запуска: start "HLTV" /MIN/HIGH hltv.exe +connect 127.0.0.1:27015 -port 27016 +exec hltv.cfg
Ждем пока HLTV не зайдет к вам на сервер, это не долго, обычно около 10 секунд.
Снова сворачиваем CS, в окне HLTV пишем - record "название_вашей_демки", возвращаемся в CS. Чтобы остановить запись демки необходимо свернуть CS, в окне HLTV написать quit или disconnect. Ваша
демка сохранится в каталоге игры cstrike, с именем которым вы назвали
демку при начале записи. Вот и все! Благодаря этой статье вы научились
писать HLTV демки! stoprecording - остановить запись демки на HLTV Просмотр HLTV-демки: playdemo "demo" Или просмотр еще: viewdemo "demo"(больше функций по управлению)
Все команды 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 - дополнительные сообщения
Консоль позволяет заканчивать команды нажатием 'TAB'.
Все команды в "hltv.cfg" выполняются в процессе запуска HLTV. Вот мой конфиг-пример с пояснениями:
// Пишем имя HLTV, который будет виден при просмотре серверов HLTV. name "el.MEJOR | HLTV"
// set HLTV name, how it should appear in game server browsers hostname "Public HLTV" // защищает паролем сервер, к которому осуществляется подключение password ""
//
пишем текст, который хотим видеть, когда игрок HLTV, но не может зайти
по причине отсутствие сигнала или по причине, что HLTV не до конца
запущен. offlinetext "HLTV MEJORKA.RU Started... Please wait"
//
с помощью этого значения (в секундах; min 10) задаётся
продолжительность задержки в вещании. Делается это для амортизации
сигнала и для того, что бы избежать возможности злоупотребления
различных альтернативных способов общения в игре в целях мониторинга.
Например, во время Clanwars, когда специально нанятый игрок, наблюдая
за игроками команды противника, сообщает их местоположение свом
сокланавцам. // Для лучшего качества лучше поставить 0 (Если пишите просто демку)
delay 10
// Если 1, то будет создаваться HLTV лог-файл, который хранится в папке valve.
// logfile "..\hltv_rec.log" logfile 0
// ChatMode: "0" - отключает, "1" - включает //
"2" - включает в случае использования MasterProxy и нескольких
RelayProxis возможность общения между несколькими Spectactors,
находящихся на разных Proxy (функция должна быть разрешена на всех
задействованных Proxy). chatmode 1
// ввод пароля который
используется на сервере игры (Т.е. если сервер защищен паролем, вводим
его через эту команду и заходить на сервер.) serverpassword "777"
// spectator password // Syntax: spectatorpassword <password> //spectatorpassword "" //
Это, собственно ни что иное, как администрирование сервером c rCon;
открывается консоль и вводится rcon_password пароль. Proxypassword
также применяется для авторизации комментаторов. В этом случае в
консоли вводится commentator пароль, после чего открывается возможность
комментировать ход игры с помощью голосовой поддержки (Voice Chats).
Комментатор может быть только один.
// proxypassword "" // adminpassword ""
// Loopcmd <номер> [время] {действие} {цвет} // Здесь покажем вывод на экран сообщения, которое повторяется через каждые 60 сек продолжительностью 15 сек
// Номер, указывать обязательно
// Действие – например текст (msg, localmsg) // X и Y расположение текста по осям.
// Цвет – RGBA.
loopcmd 1 60 localmsg "Visit our site - MEJORKA.RU" 15 -1 0.85 00AA0000
//
Звук при просмотре демок или заходе на сервер HLTV, регулируются в HLTV
конфиге. Вводится команда «signoncommands». Там есть команды
voice_scale, voice_overdrive, volume – команды, который отвечают за
звук. // signoncommands
// отключает WON-регистрацию и тем самым делает HLTV-Proxies видимым только для тех, кто знает IP адрес. nomaster 1
// поток данных хлтв. Максимальный - 10000кб/с. Всё зависит от скорости Интернета. // rate <байт в секунду> rate 10000
// максимальный поток данных от клиентов. Максимальный – 20000 б/с // maxrate <байт в секунду> maxrate 10000
// рейты обновления, частота (<пакетов в секунду>) updaterate 25
// максимальное количество людей, которые могут подключиться к HLTV серверу. maxclients 5
//
Если 1, то к вашему HLTV серверу сможет подключится любой желающий.
Если 0, то к HLTV можно будет подключиться, только зная HLTV IP. Publicgame 1
//
Когда игроки, зайдя на сервер HLTV, сидят в spectator, у них
отображается GUI HLTV, другими словами стандартный баннер HLTV Proxy.
Чтобы изменить его на свой, нужно положить в папку ctrike\gfx\temp свой
баннер (формат *.tga).
// bannerfile <имя файла> Параметры, задаваемые только из командной строки:
-port n - устанавливает порт HLTV proxy отличный от 27020 -ip IP - заставляет прокси использовать этот IP на хосте с несколькими IP -comm filename - устанавливает инфо файл о Мастере отличный от woncomm.lst -nodns - запрещает выдачу DNS имен (полезно для LAN проксей) -maxfps n - максимальное число циклов в секунду (умолч.: 100) -highpriority - стартует HLTV с высоким приоритетом -steam - прокси с поддержкой STEAM -dev - режим разработчика
Просмотр игр 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)
Только запись демок без зрителей
Если
вам необходимо ТОЛЬКО записать демку, а зрительские места не нужны, то
рекомендуется внести следующие настройки для оптимальной записи демки:
maxclients 0 // запрещает вход зрителям delay 0 // запись без задержки rate 10000 // максимальная скорость передачи данных updaterate 20 // стандартная частота обновления данных nomaster 1 // не регистрироваться на Мастер серверах
|