Screen Capture Facility (Функция Захвата Экрана) PunkBuster предоставляет администратору сервера возможность затребовать скриншот с мониторов игроков, установивших соединение с игровым сервером. Существует возможность получения скриншотов от одного и более игроков, также можно настроить автоматический захват. Некоторые дополнительные возможности предоставляются администраторам, которые хотят усовершенствовать свои системы. Дефолтные настройки подойдут для большинства администраторов и являются хорошим примером для понимания того, как работает Функция Захвата Экрана (Screen Capture Facility).
Предусмотрено два способа получения скриншотов: «Вручную» и «Автоматически». Некоторые администраторы используют обе возможности. Для того, чтобы Вручную затребовать скриншоты от всех игроков, просто введите "PB_SV_GETSS" в консоли сервера и через несколько секунд вы увидите сообщения с указанием пути и имен сохранения файлов скриншотов. PB в качестве имен полученных файлов изображений использует порядковые номера и расширение PNG. Вместе с каждым изображением скриншота (PNG) создается файл в формате HTM с тем же именем. Эти файлы (с расширением HTM) используются для просмотра скриншотов любым web-браузером. Кроме того, все поступившие скриншоты регистрируются в файле pbsvss.htm. Диапазон имен задается параметрами PB_SV_SSFLOOR - минимальный порядковый номер скриншота, PB_SV_SSCEILING – максимальный порядковый номер.
При необходимости получить скриншоты одного или нескольких игроков в «ручном» режиме используется команда PB_SV_GETSS "подстрока поиска" (подстрока поиска указывается в кавычках). Например: PB_SV_GETSS "Nomad". В этом случае PB затребует скриншоты от всех игроков, в никах которых содержится указанный текст. Существует возможность затребовать скриншот по номеру слота игрока (PB_SV_GETSS Slot#). Для того, чтобы узнать номер слота необходимо ввести в консоли PB_SV_PLIST. Колонка Slot# содержит номер слота.
Для того, чтобы настроить автоматический захват, установите параметр PB_SV_AUTOSS в 1 (дефолтное значение - 0). Для настройки пауз между запросами используются параметры PB_SV_AUTOSSFROM (минимальная пауза - по дефолту 60 сек) и PB_SV_AUTOSSTO (максимальная пауза - 20 минут по умолчанию). Значения этих параметров должны быть указаны в секундах (значения по умолчанию 60 и 1200, соответственно). Это означает, что PunkBuster будет требовать новый скриншот у каждого игрока в игре случайным образом в интервале от 1 минуты до 20 минут после предыдущего запроса.
Независимо от комбинации ручных и автоматических запросов, система PunkBuster ограничивает скрин-шоты двумя способами. Во-первых, каждый отдельный скриншот ограничен 82 000 пикселов, с целью ограничения размера файла и уменьшения нагрузки на канал. При превышении указанного значения, PunkBuster автоматически уменьшит размер изображения до требуемого. Кроме того, PunkBuster ограничивает количество запросов к каждому игроку до 3-х в пределах 10-минутного интервала. У команды PB_SV_PLIST, используемой для отображения информации об игроках, есть колонка "RecentSS", в который указано количество обращений к игроку в течение последних 10 минут.
Так же, администратор должен иметь в виду, что PunkBuster не будет делать скриншот у игрока, который свернул (минимизировал) игру или у которого присутствует еще одно активное приложение кроме самой игры. В этих случаях отсылается пустое черное изображение, сопровождаемое текстом с пояснением. Кроме того, существуют видеокарты, захват кадров с которых не может быть корректно осуществлен.
Для настройки Функции Захвата Экрана используются следующие параметры:
PB_SV_SSWIDTH и PB_SV_SSHEIGHT задают ширину и высоту скриншота в пикселах. По умолчанию - 320 x 240. Если запрашиваемые параметры превышают фактическое разрешение экрана монитора у игрока, то PB автоматически уменьшит соответствующий параметр. Например, если скриншот разрешением 800x600 будет затребован от игрока, разрешение экрана у которого установлено 640x480, то PB автоматически сделает скриншот с разрешением 640x480.
PB_SV_XPCT и PB_SV_YPCT используются, чтобы область захвата в полноэкранном режиме игры. Значения по умолчанию - 50 и 50. Это указывает на то, что должен производиться захват центральной части экрана. При использовании меньших значений область захвата сдвигается влево (PB_SV_XPCT) и вверх (PB_SV_YPCT). А задание бОльших значений перемещает область захвата вправо (PB_SV_XPCT) и вниз (PB_SV_YPCT). Если параметры XPCT и/или YPCT будут установлены в-1, то область захвата будет выбираться случайным образом.
PB_SV_SSSRATE коэффициент захвата (прореживание или сжатие). 1 – нормальное изображение, 2 – сжатие изображения в 4 раза, 4 – сжатие изображения до одной шестнадцатой. Сжатие производится путем пропуска пикселов. Сжатие ухудшает качество изображения. Чем более высокие настройки изображения у игрока, тем выше должно быть сжатие.
PB_SV_SSDELAY указывает клиенту PB ожидать случайное число секунд (до 60) после получения запроса прежде чем фактически захватить изображение.
PB_SV_SSPATH путь сохранения файлов скриншотов. По умолчанию – ..\pb\svss. Допускается upload в ftp.
PB_SV_SSFLOOR, PB_SV_SSCEILING, PB_SV_SSNEXT. Параметры PB_SV_SSFLOOR и PB_SV_SSCEILING описаны выше. Параметр PB_SV_SSNEXT содержит очередной регистрационный номер, который PB будет использовать для следующего имени файла. Например, если PB_SV_SSNEXT = 250, то следующему файлу изображения будет присвоено имя pb000250.png, а файлу HTM формата - pb000250.htm. Используя параметр PB_SV_SSPATH администраторы нескольких серверов могут организовать единое хранилище файлов скриншотов. А параметры PB_SV_SSFLOOR и PB_SV_SSCEILING позволяют задать каждому серверу PB свой собственный уникальный диапазон имен файла.
PB_SV_SSCMD задает имя исполняемого файла (например, скрипта), который PB выполнит автоматически после успешного сохранения скриншота. Значение по умолчанию этого параметра - "" (пусто). PunkBuster передает полное имя файла изображения с путем сохранения в качестве параметра скрипта. Этот параметр предусмотрен для администраторов, желающих автоматизировать обработку, архивирование, и публикацию скриншотов.
Источник