- [frame]
- Данная статья является интеллектуальной собственностью сайта CSMania.RU.
- Копирование и распространение допускается только со ссылкой на первоисточник!
Не указывая ссылку на первоисточник, Вы препятствуете информационному развитию сообщества!
- Копирование и распространение допускается только со ссылкой на первоисточник!
- В этой теме обсуждается исключительно содержание статьи.
- Статья не идеальна и нуждается в доработке, так что буду рад любой помощи.
Остальные сообщения будут расценены как флуд, а авторы наказаны.
- Статья не идеальна и нуждается в доработке, так что буду рад любой помощи.
- Скачать пакет со статистикой: "HLstatsX Community Edition"
- Установить и настроить HTTP сервер:*win WampServer
- Скачать и установить "WampServer" "WampServer".
- Указать браузер, используемый по умолчанию.
- Указать SMTP сервер и адрес электронной почты, для использования в соответствующих функциях.
- Запустить ярлык "start WampServer", появится иконка в системном трее.
- Кликнуть на иконке "WampServer" > "phpMyAdmin".
- В закладке "Priveleges", выбрать "Edit Priveleges" для одного из пользователей "root".
- Создать пароль в разделе "Change password".
- Повторить операцию для второго пользователя "root".
- Кликнуть на иконке "WampServer" > "Stop All Setvices".
- В директории с установленным "WampServer", открыть файл apps\phpmyadmin...\config.inc.php и заменить строкуна
Код: Выделить всё
$cfg['Servers'][$i]['password'] = '';
Код: Выделить всё
$cfg['Servers'][$i]['password'] = 'установленный пароль';
- Кликнуть на иконке "WampServer" > "PHP" > "php.ini", отредактировать необходимые строки в соответствии с кодом приведенном в спойлере "php.ini" 4 пункта и настроить часовой согласно 5 пункту.
- Кликнуть на иконке "WampServer" > "Apache" > "httpd.conf" и отредактировать необходимые строки в соответствии с кодом приведенном в спойлере "httpd.conf" 4 пункта.
- Добавить расширение FreeType, согласно 3 пункту.
- Перезапустить "WampServer".
- Кликнуть на иконке "WampServer" > "Start All Services".
- Кликнуть на иконке "WampServer" > "Put Online".
- Рекомендуется добавить "WampServer" в автозапуск.
- Я не стал лишний раз напоминать о необходимости сохранения внесённых изменений.
- Скачать и установить "WampServer" "WampServer".
- Добавить расширение FreeType для PHP:*win WampServer
- Скачать архив с бинарниками (Binaries) с проекта "GnuWin32".
- Извлечь *.dll файл из папки "bin", скачанного архива.
- Пример: freetype-2.3.5-1-bin.zip\bin\freetype6.dll
- Переименовать извлеченный файл в формат расширений "WampServer".
- Пример: php_freetype.dll
- Скопировать переименованный файл в каталог "bin\php...\ext".
- Пример: X:\WampServer\bin\php5.2.9-2\ext\php_freetype.dll
- Добавить в файл "php.ini", к остальным расширениям строку:
Код: Выделить всё
extension=php_freetype.dll
- Расширение "FreeType" понадобится для работы "HeatMaps", 15 пункт.
- Перед внесением изменений в файл "php.ini", необходимо остановить все службы согласно пункту 2.4.
- Доступ к файлу "php.ini", описан в пункте 2.6.
- После внесения добавления расширения в файл "php.ini", рекомендуется перезапустить "WampServer".
- Привести конфигурационные файлы HTTP сервера к указанному виду:php.ini
Код: Выделить всё
allow_call_time_pass_reference = On error_reporting = 2039 register_globals = On register_long_arrays = On register_argc_argv = On magic_quotes_gpc = On magic_quotes_runtime = Off file_uploads = On extension=php_gd2.dll extension=php_freetype.dll
httpd.confКод: Выделить всё
LoadModule rewrite_module modules/mod_rewrite.so
- Настроить часовой пояс для PHP:*win / *nix
- Определить по списку "List of Supported Timezones" свой часовой пояс.
- Раскомментировать (убрать символ ";" в начале строки) в файле "php.ini" переменную "date.timezone" и указать свой часовой пояс.
- Пример:
Код: Выделить всё
[Date] ; Defines the default timezone used by the date functions date.timezone = Europe/Moscow
- Пример:
- Установить и настроить Perl:*win ActivePerl
- Скачать и установить "ActivePerl".
- Отметить пункты "Add Perl to the PATH environment variable" и "Create Perl file extension association".
- Запустить ярлык "Perl Package Manager".
- В разделе "Installed Packages" найти пакеты, указанные в 7 пункте.
- Если этих компонентов нет, перейти в раздел "All Packages" и установить их.
- Так же не повредить обновление, уже установленных компонентов в разделе "Upgradable Packages".
- Скачать и установить "ActivePerl".
- Добавить в Perl необходимые пакеты:*win / *nix
- DBD-mysql
- Geo-IP-PurePerl
- Создать и заполнить базу данных, создать нового пользователя и указать его привилегии, оптимизировать базу:phpMyAdmin
- Открыть "phpMyAdmin".
- Открыть закладку "Базы данных".
- Под заголовком "Новая база данных", указать название базы для статистики.
- "Сравнение", заменить на "utf8_general_ci".
- Нажать "Создать".
- Автоматически откроется окно с вновь созданной базой.
- Открыть закладку "Импорт".
- После поля "Выбор файла", нажать "Обзор..." и указать путь к файлу "sql\install.sql" из пакета со статистикой.
В поле "Кодировка файла:" оставить "utf8" - Нажать "ОК".
- После поля "Выбор файла", нажать "Обзор..." и указать путь к файлу "sql\install.sql" из пакета со статистикой.
- Перейти на начальную страницу "phpMyAdmin".
- Открыть закладку "Привилегии" и выбрать "Добавить нового пользователя".
- В разделе "Информация учетной записи", заполнить поля:
- Имя пользователя:
Имя пользователя для доступа к базе данных. - Хост:
Хост или IP адрес, сервера со статистикой. - Пароль:
Пароль для доступа к базе данных. - Подтверждение:
Подтверждение пароля для доступа к базе данных.
- Имя пользователя:
- Нажать "ОК".
- Автоматически откроется окно редактирования привилегий для вновь созданного пользователя.
- В разделе "Привилегии уровня базы данных", в поле "Добавить привилегии на следующую базу:" вместо "Использовать текстовое поле" выбрать созданную базу.
- Автоматически откроется окно редактирования привилегий для выбранной базы.
- В разделе "Привилегии уровня базы данных", нажать "Отметить все".
- Нажать "ОК".
- Открыть закладку "SQL".
- В поле "Выполнить SQL-запрос(ы) к базе данных <название_базы>:" ввести следующий запрос:
Код: Выделить всё
ALTER TABLE `hlstats_Actions` ENGINE = INNODB; ALTER TABLE `hlstats_Awards` ENGINE = INNODB; ALTER TABLE `hlstats_ClanTags` ENGINE = INNODB; ALTER TABLE `hlstats_Clans` ENGINE = INNODB; ALTER TABLE `hlstats_Countries` ENGINE = INNODB; ALTER TABLE `hlstats_Games` ENGINE = INNODB; ALTER TABLE `hlstats_Games_Defaults` ENGINE = INNODB; ALTER TABLE `hlstats_Games_Supported` ENGINE = INNODB; ALTER TABLE `hlstats_Heatmap_Config` ENGINE = INNODB; ALTER TABLE `hlstats_HostGroups` ENGINE = INNODB; ALTER TABLE `hlstats_Maps_Counts` ENGINE = INNODB; ALTER TABLE `hlstats_Mods_Defaults` ENGINE = INNODB; ALTER TABLE `hlstats_Mods_Supported` ENGINE = INNODB; ALTER TABLE `hlstats_Options` ENGINE = INNODB; ALTER TABLE `hlstats_Options_Choices` ENGINE = INNODB; ALTER TABLE `hlstats_PlayerNames` ENGINE = INNODB; ALTER TABLE `hlstats_PlayerUniqueIds` ENGINE = INNODB; ALTER TABLE `hlstats_Players` ENGINE = INNODB; ALTER TABLE `hlstats_Players_Awards` ENGINE = INNODB; ALTER TABLE `hlstats_Players_Ribbons` ENGINE = INNODB; ALTER TABLE `hlstats_Ranks` ENGINE = INNODB; ALTER TABLE `hlstats_Ribbons` ENGINE = INNODB; ALTER TABLE `hlstats_Roles` ENGINE = INNODB; ALTER TABLE `hlstats_Servers` ENGINE = INNODB; ALTER TABLE `hlstats_Servers_Config` ENGINE = INNODB; ALTER TABLE `hlstats_Servers_Config_Default` ENGINE = INNODB; ALTER TABLE `hlstats_Teams` ENGINE = INNODB; ALTER TABLE `hlstats_Weapons` ENGINE = INNODB; ALTER TABLE `hlstats_Players` ADD INDEX ( `game` ); ALTER TABLE `hlstats_Players_Awards` ADD INDEX ( `playerid` ); ALTER TABLE `hlstats_Actions` ADD INDEX ( `game` );
- Нажать "ОК".
- В поле "Выполнить SQL-запрос(ы) к базе данных <название_базы>:" ввести следующий запрос:
- Закрыть "phpMyAdmin".
- Подготовить Perl модуль статистики для сбора информации с игрового сервера:*win / *nix
- Скопировать содержимое папки "perl" из пакета со статистикой в любое удобное место.
- *win Пример: X:\HLStatsX\
*nix Пример: /home/user/hlstatsx/
- *win Пример: X:\HLStatsX\
- Перейти в созданную директорию.
- Любым текстовым редактором файл внести необходимые изменения в файл "hlstats.conf":
Код: Выделить всё
## ## Параметры базы данных ## # DBHost - Сервер базы данных "адрес" или "адрес:порт". В качестве адреса может быть указан # IP адрес или хост. MySQL по умолчанию использует порт 3306 (TCP). DBHost "" # DBUsername - Имя пользователя для доступа к базе данных. DBUsername "" # DBPassword - Пароль для доступа к базе данных. DBPassword "" # DBName - Название базы данных со статистикой. DBName "" # DBLowPriority - Использование INSERT DELAYED и DELETE LOW_PRIORITY для некоторых запросов. # Этот параметр улучшает производительность, но статистика начинает собираться # не совсем в реальном времени. 1 = включить. 0 = выключить. DBLowPriority 1 ## ## Параметры UDP Сокета (переменные игровых серверов: "logaddress" или "logaddress_add") ## # BindIP - Получение данных только с определенного IP адреса. # Оставьте пустым для получения данных с нескольких IP адресов. BindIP "" # Port - Прослушиваемый порт для сбора информации с игрового сервера. Так же учитывается в proxy-daemon.pl. Port 27500 # DebugLevel - 1 выведет на экран отладочную информацию. Значение выше 1, позволит получить # больше информации. 0 скроет всю отладочную информацию. При первом запуске # рекомендуется устанавливать 1,для обнаружения возможных проблем. DebugLevel 1
- Под *win, любым текстовым редактором внести изменения во все "*.pl" файлы:
- В первой строке поставить пробел после символа "#".
- Пример: # !/usr/bin/perl
- У переменной "$opt_configfile" указать абсолютный путь до файла "hlstats.conf".
Внимание: Убедитесь, что используете слеш "/", а не бэкслеш "\"!- Пример: $opt_configfile = "X:/HLStatsX/Perl/hlstats.conf";
- У переменной "$opt_libdir" указать абсолютный путь до своей "perl" директории.
Внимание: Убедитесь, что используете слеш "/", а не бэкслеш "\"!- Пример: $opt_libdir = "X:/HLStatsX/Perl/";
- В первой строке поставить пробел после символа "#".
- Под *nix назначить исполняемыми, все необходимые файлы:
Код: Выделить всё
chmod 744 *.pl chmod 744 run_hlstats chmod 744 run_hlstats_autorestart chmod 744 run_hlstats_multi chmod 744 run_proxy
- Проверить работоспособность файлов "hlstats-awards.pl" и "hlstats.pl", поочередно запустив их.
- Если не возникло ошибок, установить в файле "hlstats.conf" значение переменной "DebugLevel" на "0".
- Скопировать содержимое папки "perl" из пакета со статистикой в любое удобное место.
- Подготовить игровой сервер для передачи информации на статистику:GoldSource
- Установить и настроить на сервере плагин "Metamod-P" или "Metamod".
- Установить и настроить на сервере плагин "AMX Mod X".
- Скопировать папку "amxmodx" из пакета со статистикой, в директорию "игра\addons" сервера.
- Добавить в файл "игра\addons\amxmodx\configs\plugins.ini" плагин статистики:
Код: Выделить всё
; Custom - Add 3rd party plugins here hlstatsx_commands_игра.amxx ; HLstatsX CE Ingame Plugin
- Активировать (убрать символ ";" в начале строки) в файле "игра\addons\amxmodx\configs\modules.ini" необходимые модули.
- Counter-Strike:
Код: Выделить всё
cstrike csx cellarray fakemeta
- Day of Defeat
Код: Выделить всё
engine dodx dodfun cellarray fakemeta
- Natural Selection:
Код: Выделить всё
engine ns cellarray fakemeta
- Team Fortress Classic:
Код: Выделить всё
engine tfcx cellarray fakemeta
- Counter-Strike:
- В файл "игра\server.cfg" добавить строки:
Код: Выделить всё
log on logaddress "ip порт"
- Вместо "ip" у переменной "logaddress", указывается IP адрес компьютера, на котором находится содержимое папки "perl" из пакета со статистикой.
- Вместо "порт" у переменной "logaddress", указывается порт указанный у переменной "Port" в файле "hlstats.conf".
Source- Установить и настроить на сервере плагин "Metamod:Source".
- Установить и настроить на сервере плагин "SourceMod".
- Скопировать папку "sourcemod" из пакета со статистикой, в директорию "игра\addons\" сервера.
- В файл "игра\cfg\server.cfg" добавить строки:
Код: Выделить всё
log on logaddress_add "ip:порт"
- Вместо "ip" у переменной "logaddress_add", указывается IP адрес компьютера, на котором находится содержимое папки "perl" из пакета со статистикой.
- Вместо "порт" у переменной "logaddress_add", указывается порт указанный у переменной "Port" в файле "hlstats.conf".
- Подготовить GeoLiteCity модуль статистики для обработки информации о местонахождении игроков:
*win Посредством базы данныхИспользование данного метода, допускает внесение в базу данных, собственных диапазонов адресов. Может пригодится администраторам, работающим в объединённых локальных сетях.
- Скачать "HLX CE Maxmind GeoLiteCity DB Importer BETA3".
- Распаковать его содержимое в любое, удобное место.
- Запустить "HLXCEGeoLiteImporter.exe".
- По порядку указать:
- Хост или IP адрес сервера с базой данных.
- Порт для доступа к базе данных (по умолчанию 3306).
- Имя пользователя для доступа к базе данных.
- Пароль для доступа к базе данных.
- Название базы данных со статистикой.
- Скачаются необходимые данные и внесутся в базу данных.
- Данные "GeoLiteCity" обновляются ежемесячно.
- Для данного метода, в разделе "GeoIP data & Google Map settings", секции "General Settings" > "HLstatsX:CE Settings" - необходимо указать параметр "GeoTP lookup via database" (описание в спойлере "GeoIP data & Google Map settings", 14 пункта).
*nix Посредством базы данныхИспользование данного метода, допускает внесение в базу данных, собственных диапазонов адресов. Может пригодится администраторам, работающим в объединённых локальных сетях.
- Внести необходимые данные в файл "GeoLite_Import.sh" в папке "GeoLiteCity", своей "perl" директории.
- Пример: /home/user/hlstatsx/GeoLiteCity/GeoLite_Import.sh
- DBHOST=""
Указать в кавычках хост или IP адрес сервера с базой данных. - DBNAME=""
Указать в кавычках название базы данных со статистикой. - DBUSER=""
Указать в кавычках имя пользователя для доступа к базе данных. - DBPASS=""
Указать в кавычках пароль для доступа к базе данных.
- Назначить исполняемым файл "GeoLite_Import.sh":
Код: Выделить всё
chmod 744 GeoLite_Import.sh
- Запустить файл "GeoLite_Import.sh".
- Скачаются необходимые данные и внесутся в базу данных.
- Данные "GeoLiteCity" обновляются ежемесячно.
- Для данного метода, в разделе "GeoIP data & Google Map settings", секции "General Settings" > "HLstatsX:CE Settings" - необходимо указать параметр "GeoTP lookup via database" (описание в спойлере "GeoIP data & Google Map settings", 14 пункта).
Посредством бинарного файлаИспользование данного метода, снимает часть нагрузки с сера базы данных.
- Скачать файл "GeoLiteCity.dat.gz".
- Распаковать его содержимое в папку "GeoLiteCity", своей "perl" директории.
- *win Пример: X:\HLStatsX\Perl\GeoLiteCity\
*nix Пример: /home/user/hlstatsx/GeoLiteCity/
- *win Пример: X:\HLStatsX\Perl\GeoLiteCity\
- Данные "GeoLiteCity" обновляются ежемесячно.
- Для данного метода, в разделе "GeoIP data & Google Map settings", секции "General Settings" > "HLstatsX:CE Settings" - необходимо указать параметр "GeoTP lookup via binry file" (описание в спойлере "GeoIP data & Google Map settings", 14 пункта).
- Подготовить Web модуль статистики и создать учетную запись администратора:*win / *nix
- Скопировать содержимое папки "web" из пакета со статистикой в любое удобное место корневой web директории.
- *win Пример: X:\Servers\www\stats\
*nix Пример: /www/localhost/htdocs/stats/
- *win Пример: X:\Servers\www\stats\
- Перейти в созданную директорию.
- Установить возможность записи у директории "hlstatsimg/progress":
Код: Выделить всё
chmod 777 hlstatsimg/progress/
- Создать файл ".htaccess", содержащий:
Код: Выделить всё
Options -Indexes <Files config.php> Order deny,allow Deny from all Allow from 127.0.0.1, localhost </Files> RewriteEngine On RewriteRule sig-(.*)-(.*).png$ sig.php?player_id=$1&background=$2 [L]
- Любым текстовым редактором внести необходимые изменения в файл "config.php":
Код: Выделить всё
// DB_NAME - Имя базы со статистикой. define("DB_NAME", ""); // DB_USER - Имя пользователя для доступа к базе данных. define("DB_USER", ""); // DB_PASS - Пароль для доступа к базе данных. define("DB_PASS", ""); // DB_ADDR - Сервер базы данных в формате "хост:порт". // MySQL по умолчанию использует порт 3306 (TCP). define("DB_ADDR", "localhost"); // DB_TYPE - Тип базы данных. Поддерживается только "mysql". define("DB_TYPE", "mysql"); // DB_PCONNECT - 1 установит постоянное соединение с базой данных. Постоянное // соединение увеличит производительность, но может перегрузить // сервер с базой данных. 0 отключит постоянное соединение. define("DB_PCONNECT", 0); // INCLUDE_PATH - Путь до директории includes, относительно hlstats.php. // Возможно указание относительного пути. // // Под *win, убедитесь, что используете слеш "/", а не бэкслеш "\" // и при возникновении проблем укажите абсолютный путь. define("INCLUDE_PATH", "./includes"); // PAGE_PATH - Путь до директории pages, относительно hlstats.php. // Возможно указание относительного пути. // // Под *win, убедитесь, что используете слеш "/", а не бэкслеш "\" // и при возникновении проблем укажите абсолютный путь. define("PAGE_PATH", "./pages"); // IMAGE_PATH - Путь до директории hlstatsimg, относительно hlstats.php. // Возможно указание относительного пути. // // Под *win, убедитесь, что используете слеш "/", а не бэкслеш "\" // и при возникновении проблем укажите абсолютный путь. // // Внимание: для папки progress в директории hlstatsimg // должна быть установлена возможность записи!!! define("IMAGE_PATH", "./hlstatsimg"); // Как часто должны обновляться динамически генерируемые изображения (в секундах). define("IMAGE_UPDATE_INTERVAL", 300);
- Открыть в браузере адрес: https://адрес_статистики/hlstats.php?mode=admin
- Войти, используя стандартные учетные данные
- Username: admin
- Password: 123456
- Перейти в секцию: "General Settings" > "Admin Users"
- Создать нового пользователя с правами "Administrator".
- Удалить стандартного пользователя.
- Я не стал лишний раз напоминать о необходимости нажатия соответствующих кнопок, для активации изменений.
- Скопировать содержимое папки "web" из пакета со статистикой в любое удобное место корневой web директории.
- Выбрать игру, добавить и настроить игровой сервер для сбора статистики:*win / *nix
- Открыть в браузере адрес: https://адрес_статистики/hlstats.php?mode=admin
- Войти, используя созданные учетные данные.
- Перейти в секцию: "General Settings" > "Games"
- Установить "Show" в колонке "Visibility" для строки с необходимой игрой.
- Установить "Hide" в колонке "Visibility" для строк с остальными играми.
- В секции: "Game Settings" > "Игра" открыть "Add Server" и ввести необходимые данные:
- Server Address
IP адрес игрового сервера, указанный у переменной "+ip" в ярлыке сервера или "hostip" в файле "server.cfg" игрового сервера. - Server Port
Порт игрового сервера, указанный у переменной "-port" в ярлыке сервера или "hostport" в файле "server.cfg" игрового сервера. - Server Name
Название игрового сервера, установленное у переменной "+hostname" в ярлыке сервера или "hostname" в файле "server.cfg" игрового сервера. - Rcon Password
Пароль указанный у переменной "rcon_password" в файле "server.cfg" игрового сервера. - Public Address
Адрес для подключения игроков к серверу в формате "адрес:порт", в качестве адреса может быть указан IP адрес или хост - Game Mod
Административный плагин, установленный на игровом сервере.
- Server Address
- В секции: "Game Settings" > "Игра" > "Edit Servers" установить порядковый номер сервера (начиная с 0 для каждой игры) в колонке "Sort Order".
- Открыть "CONFIGURE" в строке сервера и ввести необходимые изменения:
- Admins
Идентификаторы администраторов сервера (SteamID, IP, Ник), разделенные запятыми. - AutoBanRetry
Автоматический бан игрока на 5 минут после отключения от сервера. Препятствует переподключению игроков для выбора лучшей команды или потери меньшего количества очков. 1 = вкл. 0 (по умолчанию) = выкл. - AutoTeamBalance
Если указан rсon пароль, анализирует команды и балансирует игроков, для уравновешивания уровня команд. Присваивает командам номера и при начале раунда размещает игроков по командам, основываясь на полученном ими опыте. 1 = вкл. 0 (по умолчанию) = выкл. - BonusRoundIgnore
Игнорирование фрагов и действий после окончания раунда, в играх поддерживающих бонусные раунды. 1 = вкл. 0 (по умолчанию) = выкл. - BonusRoundTime
Значение указанное у переменной "mp_bonusroundtime" в файле "server.cfg" игрового сервера (для предотвращения ошибочных записей при не обнаружении события "round_start"). - BroadCastEvents
Объявление во время игры информации практически обо всех событиях на сервере, через rcon. Вы сразу же увидите сколько очков получили за убийство, установку бомбы и т.д. 1 = вкл. 0 (по умолчанию) = выкл. - BroadCastEventsCommand
Команда для объявления событий. По умолчанию 'say'-command. - BroadCastEventsCommandAnnounce
Команда для анонсирования внутриигровой статистики, почты администратора и т.д. По умолчанию 'say'. - BroadCastPlayerActions
Активация объявлений об игровых действиях игрока (например начал спасение заложника, выбросил бомбу). 1 = вкл. 0 (по умолчанию) = выкл. - ConnectAnnounce
Активация отображения информации о каждом подключившемся игроке: очки, убийства, ранг, страна. 1 (по умолчанию) = вкл. 0 = выкл. - DefaultDisplayEvents
Активация объявлений об убийствах игрока. 1 (по умолчанию) = вкл. 0 = выкл. - DisplayResultsInBrowser
При активации, запросы игроков будут отображаться в игровом браузере, в качестве небольших *.html файлов. Поддерживается не всеми играми и административными плагинами. 1 = вкл. 0 (по умолчанию) = выкл. - EnablePublicCommands
При активации игроки смогут выставить свою статистику на всеобщее обозрение через чат. 1 = вкл. 0 (по умолчанию) = выкл. - GameEngine
Движок игрового сервера. 1 = GoldSource. 2 = Source. 3 (по умолчанию) = Orange Box. - GameType
Режим игры. 1 (по умолчанию) = Нормальный. 2 = Deathmatch (необходим только если игроки не разбиты на команды, как например в CSS Deathmatch) - HLStatsURL
Адрес статистики (без указания файла, режима и завершающего слеша). Будет отправлен на мастер сервер и отображен в игре. - IgnoreBots
При активации, не будут отслеживаться действия ботов. 1 (по умолчанию) = вкл. 0 = выкл. - MinimumPlayersRank
Максимальный ранг игрока, необходимый для его отображения на суммарной статистике серверов (например на Top-500 Servers). - MinPlayers
Минимальное количество игроков на сервере, при котором начинают учитываться их большинство их действий (выполнение миссии, убийство и т.д.). Предотвращает накручивание игроками опыта на пустом сервере, без противников (например за захват флага). - Mod
Указывает административный плагин, установленный на сервере. Может принимать значения: SOURCEMOD, MINISTATS, BEETLE, MANI и AMXX. - PlayerEvents
Разрешает игрокам вызов отображения внутриигровой информации (например /skill). 1 (по умолчанию) = вкл. 0 = выкл. - PlayerEventsAdminCommand
Команда для отображения администратору некоторых сообщений (например балансера команд). По умолчанию ''. - PlayerEventsCommand
Команда для отображения событий игрока. По умолчанию 'say'-command. - PlayerEventsCommandHint
Команда для отображения действий балансера команд в стиле 'hint'. По умолчанию ''. - PlayerEventsCommandOSD
Команда для отображения меню в стиле amx на запросы '/rank', '/session', '/kpd'. По умолчанию ''. - ShowStats
Активирует периодическое отображение внутриигровой статистики совместно с broadkast командами. 1 (по умолчанию) = вкл. 0 = выкл. - SkillMode
Режим изменения опыта, в зависимости от фрагов. 0 (по умолчанию) = Жертва теряет все очки полученные убийцей. 1 = Жертва теряет 3/4 очков полученных убийцей. 2 = Жертва теряет 1/2 очков полученных убийцей. 3 = Жертва теряет 1/4 очков полученных убийцей. 4 = Жертва не теряет очки. 5 = Только для ZPS, жертва из выживших теряет 1/2, а из инфицированных 1/4 очков полученных убийцей. - SuicidePenalty
Наказание за самоубийство. По умолчанию: 5 очков. - SwitchAdmins
Разрешает перемещение администраторов при балансировке команд. 1 = вкл. 0 (по умолчанию) = выкл. - TKPenalty
Наказание за убийство соратников. По умолчанию: 50 очков. - TrackServerLoad
Каждые 5 минут сохраняет количество игроков, присутствующих на сервере. 1 (по умолчанию) = вкл. 0 = выкл. - UpdateHostname
Автоматическое обновление названия сервера в соответствии с переменной "hostname" в файле "server.cfg" игрового сервера.
- Admins
- Для вступления в силу внесенных изменений, необходимо перезапустить процесс "hlstats.pl"!
- Использование Rcon пароля описано в спойлере "Daemon Settings", 14 пункта.
- Порядковые номера имеет смысл указовать, только при обработки информации с нескольких серверов для одной игры.
- Способы идентификации пользователей описаны в спойлере "Daemon Settings", 14 пункта.
- Значения практически всех переменных - устанавливаются автоматически, в зависимости от выбранной игры и при выборе "Game Mod" во время добавления сервера.
- Настроить раздел "General Settings" > "HLstatsX:CE Settings" статистики:Site Settings
- Название сайта, на котором установлена статистика:
- Пусто (по умолчанию).
- Адрес домашней страницы сайта, на котором установлена статистика:
- Пусто (по умолчанию).
- Адрес электронной почты администратора статистики:
- Пусто (по умолчанию).
- Отображение баннера:
- Не отображать (по умолчанию);
- Отображать на каждой странице;
- Отображать только на странице выбора игры.
- Полное (с расширением) имя файла баннера, находящегося в директории "hlstatsimg":
- hlxbanner3.png (по умолчанию).
- Использование закладок для отображения/скрытия части информации на некоторых страницах или отображение всей информации на одной странице:
- Новый стиль (разбиение на закладки) (по умолчанию);
- Старый стиль (отображение в одном окне).
- Использование AJAX раскрывающегося списка серверов на главной странице каждой игры (результат будет виден только у игр с несколькими серверами):
- Включено (по умолчанию);
- Отключено.
- Отображение в меню ссылки на лог чата:
- Показать (по умолчанию);
- Скрыть.
- Отображение в меню ссылки на список забаненных игроков:
- Скрыть (по умолчанию);
- Показать.
- Отображение Hitbox на flash, вместо стандартной html таблицы меткости (css, dods, & cstrike):
- Flash Hitbox (по умолчанию);
- HTML таблица.
- Отображение графика суммарной загруженности всех прослушиваемых серверов:
- Скрыть;
- Показать (по умолчанию).
- Отображение внизу страницы фразы "Executed X queries, generated this page in Y Seconds.":
- Нет (по умолчанию);
- Да.
- Фоновое изображение у подписи для форумов используемое по умолчанию (числа от 1 до 10 или random):
Фоновые изображения подписей находятся в директории "sig".- random (по умолчанию).
- Использование модуля rewrite позволяет генерировать подписи в виде изображений, делая их совместимыми с большинством форумов.
Для реализации этой функции на сервере должен быть активирован rewrite_module и фале ".htaccess", находящимся рядом с "hlstats.php" должны быть строки:[frame]RewriteEngine On
RewriteRule sig-(.*)-(.*).png$ sig.php?player_id=$1&background=$2 [L][/frame]- Отключено (по умолчанию);
- Включено.
- Активация модуля rewrite описана в спойлере "httpd.conf", 4 пункта.
- Создание файла ".htaccess" описано в пункте 12.4.
GeoIP data & Google Map settings- Отображение информации, требующей данные GeoIP:
- Показать (по умолчанию);
- Скрыть.
- Отображение карты мира Google:
- Показать (по умолчанию);
- Скрыть.
- Ключ API, для карты Google:
- Открыть "API Карт Google".
- Войти, используя свой аккаунт Google (если такового не имеется, зарегистрироваться).
- Подтвердить ознакомление и согласие с условиями и положениями.
- В поле "URL-адрес моего веб-сайта:", указать адрес статистики без указания "hlstats.php".
- Пример: https://your.server.here/stats/
- Нажать "Сгенерировать ключ API".
- Взять ключ из поля "Your key is:".
- Регион карты Google:
- Для правильного отображения карт в разделе "Countries", рекомендуется выбирать World.
- Тип карты Google:
- Карта со спутника с наложением политической карты (по умолчанию);
- Политическая карта;
- Физическая карта;
- Карта со спутника.
- * Способ обработки данных "GeoLiteCity":
Для обработки посредством бинарного файла необходимо наличие файла "GeoLiteCity.dat" в папке "GeoLiteCity", "perl" директории и установленого модуль "Geo::IP::PurePerl".- Посредством базы данных (по умолчанию);
- Посредством бинарного файла.
- Для вступления в силу внесенных изменений у пунктов отмеченных знаком "*", необходимо перезапустить процесс "hlstats.pl"!
- Способы обработки данных GeoLiteCity, описаны в 11 пункте.
Awards settings- Отображение списка обладателей ежедневных наград на главной странице каждой игры:
- Скрыть (по умолчанию);
- Показать.
- Количество колонок на странице "Awards" > "Daily Awards":
- 4 (по умолчанию).
- Количество колонок на странице "Awards" > "Global Awards":
- 5 (по умолчанию).
- Количество колонок на странице "Awards" > "Ranks":
- 5 (по умолчанию).
- Количество колонок на странице "Awards" > "Ribbons":
- 5 (по умолчанию).
Hit counter settings- Время ожидания cookie посетителя, в минутах:
- 5 (по умолчанию).
- Текущее количество посещений:
- Заполняется автоматически.
- Текущее количество переходов:
- Заполняется автоматически.
- Для сброса счетчиков, необходимо установить "0" у двух последних переменных.
Paths- Отображение ссылки для скачивания карты под ее изображением (%MAP% = имя файла карты, %GAME% = код игры):
Оставьте пустым, для скрытия ссылки.- https://your.server.here/fastdownload/%G ... P%.bsp.bz2 (по умолчанию).
- Тег "%GAME%" можно узнать в колонке "Game Code", секции "General Settings" > "Games".
- После тега "%MAP%" указывается расширение файла карты.
Visual style settings- Полное (с расширением) имя файла с фоновым изображением графика "Player Trend" на странице игрока, находящегося в директории "hlstatsimg\graph":
Оставьте пустым, для использования белого фона.- trendgraph1.png (по умолчанию).
- Цвет фона у графика загруженности серверов на главной странице каждой игры, в шестнадцатеричном формате (RRGGBB):
- 000000 (по умолчанию).
- Цвет шрифта на графике загруженности серверов на главной странице каждой игры, в шестнадцатеричном формате (RRGGBB):
- 0066CC (по умолчанию).
- Цвет фона у графика "Player Trend" на странице игрока, в шестнадцатеричном формате (RRGGBB):
- 000000 (по умолчанию).
- Цвет шрифта на графике "Player Trend" на странице игрока, в шестнадцатеричном формате (RRGGBB):
- 0066CC (по умолчанию).
- Название листа стилей для использования:
- Classic (по умолчанию).
Ranking settings- * Способ присвоения ранга:
- По опыту (по умолчанию);
- По количеству убийств.
- * Количество дней, по истечение которых статистика спрячет игроков не заходящих на сервер (по умолчанию 28 дней):
- 28 (по умолчанию).
- Для вступления в силу внесенных изменений у пунктов отмеченных знаком "*", необходимо перезапустить процесс "hlstats.pl"!
Daemon Settings- * Способ идентификации игроков:
Steam ID - Рекомендуемое значение для публичных серверов, доступных через интернет;
Имя игрока - Указывается при использовании компьютеров сети несколькими игроками, например для компьютерных клубов;
IP адрес - Указывается для локальных сетей со статическими IP адресами и не обладающих доступом в интернет для присвоения игрокам уникальных Steam ID.- Steam ID (рекомендуемое, по умолчанию);
- Имя игрока;
- IP адрес.
- * Обработка информации только с серверов, указанных в разделе "Game Settings":
Остальные серверы, отсылающие информацию на статистику, не будут автоматически добавлены в список и обрабатываться.
Эта переменная очень важна для обеспечения безопасности.- Да (рекомендуемое, по умолчанию);
- Нет.
- * Автоматическое удаление событий происходивших позднее указанного количества дней из таблицы с историей событий, базы данных:
Эта переменная очень важна для улучшения производительности.
Уменьшите значение при обработке большого количества игровых серверов или при сильной загруженности MySQL сервера.- 28 (по умолчанию).
- * Преобразование IP адресов игроков в хосты:
Необходим работающий DNS.- Да (по умолчанию);
- Нет.
- * Время ожидания обработки DNS запросов, в секундах:
Увеличьте значение при медленном соединении или при большом количестве не преобразованных IP.
Во время ожидания преобразования IP адресов "hlstats.pl" не обрабатывает статистику с игровых серверов.- 3 (по умолчанию).
- * Адрес электронной почты для отправки информации об ошибках базы данных:
- Пусто (по умолчанию).
- * Путь до почтовой программы:
Обычно на хостингах, располагается в директории "/usr/sbin/sendmail".- /usr/sbin/sendmail (по умолчанию).
- * Отсылка Rcon команд на игровые сервера:
- Да (по умолчанию);
- Нет.
- * Игнорирование (исключение из логирования) Rcon команд отсылаемых с IP адреса статистики (полезно при запуске скриптов мониторинга, отсылающих на игровой сервер запросы с использование Rcon пароля):
- Да (по умолчанию);
- Нет.
- * Запись Rcon команд в таблицу истории событий администратора:
Может быть полезно для наблюдения за действиями администраторов сервера, но использование программ наподобие "PB" засорит таблицу бесполезным мусором.- Нет (по умолчанию);
- Да.
- * Использование времени из лога игрового сервера для записи событий в базу данных:
Полезно при внесении в базу данных информации из старых лог-файлов игрового сервера или при отличии временной зоны хоста от игрового сервера.- Нет (по умолчанию);
- Да.
- * Сохранение и отображение на графике ежедневной информации о количестве игроков, убийств и т.д.:
- Да (по умолчанию);
- Нет.
- * Объединение информации о банах для всех игровых серверов:
Навечно забаненные игроки, будут автоматически скрыты из статистики всех серверов.- Нет (по умолчанию);
- Да.
- * Запись в базу данных чата игроков:
- Да (по умолчанию);
- Нет.
- * Запись в базу данных чата администраторов:
- Нет (по умолчанию);
- Да.
- * Отображение во время игры, чата игроков с других серверов:
- Никому (по умолчанию);
- Всем;
- Администраторам.
- Для вступления в силу внесенных изменений у пунктов отмеченных знаком "*", необходимо перезапустить процесс "hlstats.pl"!
- Добавление Rcon пароля, описано в пункте 13.4.
- Добавление администраторов, описано в пункте 13.6.
- Изменение часового пояса, описано в 5 пункте.
Point calculation settings- * Максимальное количество очков опыта, получаемое игроком за фраг:
- 25 (по умолчанию).
- * Минимальное количество очков опыта, получаемое игроком за фраг:
- 2 (по умолчанию).
- * Количество убийств, необходимое игроку для получения нормального количества очков опыта:
До достижения этого порога убийца получает, а его жертва теряет минимальное количество очков опыта.- 50 (по умолчанию).
- * Начисления опыта лучшим убийцам по методу "*XYZ*SaYnt":
Разработан таким образом, чтобы лучшие игроки получали опыт в соотношение 2:1 против нубов для удержания своего ранга.- Нет (по умолчанию);
- Да.
- Для вступления в силу внесенных изменений у пунктов отмеченных знаком "*", необходимо перезапустить процесс "hlstats.pl"!
Proxy Settings- * Ключ использующийся при передаче удаленных команд процессу:
Оставьте пустым, для отключения.- Пусто (по умолчанию).
- * Дополнительные процессы в формате "ip:порт" с которых обрабатывается информация, разделенные запятыми:
- Пусто (по умолчанию).
- Для вступления в силу внесенных изменений у пунктов отмеченных знаком "*", необходимо перезапустить процесс "hlstats.pl"!
- В этом разделе можно указывать для обработки дополнительные адреса компьютеров, на которых запущен процесс "hlstats.pl".
- Название сайта, на котором установлена статистика:
- Подключить HeatMaps:*win / *nix
- Скопировать папку "heatmaps" из каталога "extras", пакета со статистикой в свою "perl" директорию.
- *win Пример: X:\HLStatsX\
*nix Пример: /home/user/hlstatsx/
- *win Пример: X:\HLStatsX\
- Скачать архивы:
- Извлечь содержимое архивов в свою "perl" директорию.
- *win Пример: X:\HLStatsX\
*nix Пример: /home/user/hlstatsx/
- *win Пример: X:\HLStatsX\
- Перейти в директорию "heatmaps".
- *win Пример: X:\HLStatsX\heatmaps\
*nix Пример: /home/user/hlstatsx/heatmaps/
- *win Пример: X:\HLStatsX\heatmaps\
- Любым текстовым редактором файл внести необходимые изменения в файл "generate.php":
Код: Выделить всё
// Сервер базы данных "адрес" или "адрес:порт". В качестве адреса может быть указан IP адрес или хост. MySQL по умолчанию использует порт 3306 (TCP). define('DB_HOST', 'localhost'); // Имя пользователя для доступа к базе данных. define('DB_USER', 'ИЗМЕНИТЬ'); // Пароль для доступа к базе данных. define('DB_PASS', 'ИЗМЕНИТЬ'); // Название базы данных со статистикой. define('DB_NAME', 'ИЗМЕНИТЬ'); // Абсолютный путь до "web" директории статистики, остальные пути пропишутся автоматически. define('HLXCE_WEB', '/path/to/where/you/have/your/hlstats/web'); // Адрес, отображаемый на интерфейсе HeatMap. define('HUD_URL', 'https://www.hlxcommunity.com'); // Размер карты: small = 800x600, medium = 1024x768, large = 1280x1024. define('OUTPUT_SIZE', 'medium'); // Максимальное количество убийств для обработки. define('KILL_LIMIT', 10000);
- Под *nix назначить файл "generate.php" исполняемым:
Код: Выделить всё
chmod 744 generate.php
- Запустить файл "generate.php" указав необходимые параметры:
- --game=<game>
Обрабатывать только указунную игру.
--map=<map>
Обрабатывать только указанную карту, необходимо наличие параметра --game.
--disable-cache
Игнорировать и очищать содержимое кеш директории, рекомендуется использовать при первой обработке.
--ignore-infected
Не учитывать убийства обычными инфицированными в Left 4 Dead.
Пример:Код: Выделить всё
./generate.php (Обработать все игры из базы данных) ./generate.php --game=css (Обработать только "Counter-Strike: Source") ./generate.php --game=css --map=de_dust2 (Обработать только карту "de_dust2" из "Counter-Strike: Source") ./generate.php --disable-cache (Обработать все игры из базы данных в первый раз, не используя файлы из директории "./cache") ./generate.php --game=l4d --ignore-infected (Не использовать убийства обычными инфицированными в Left 4 Dead)
- --game=<game>
- Для работы "HeatMaps" необходимы "FreeType" и "Gd" расширения для PHP!
- Обработка 300000 убийств на одной карте, занимает приблизительно 10 минут на процессоре с 2.4 ГГц!
- Принцип добавления расширений, описан 3 пункте.
- Активация модуля расширений описана в спойлере "php.ini", 4 пункта.
- Скопировать папку "heatmaps" из каталога "extras", пакета со статистикой в свою "perl" директорию.
- Запустить обработку статистической информации:*win FireDaemon (содержит изображения)
- Обзовестись "FireDaemon".
- Запустить "FireDaemon" и .
- Нажать "Create a new service definition" и заполнить закладки для каждой службы, опираясь на изображения:
- Program Различные для всех трех процессов:
| Awards | HeatMaps | Statistics |
- Settings Одинаковые для ежедневных наград и heatmaps:
| Awards + HeatMaps | Statistics |
- Advanced Одинаковые для всех трех процессов:
| Awards + HeatMaps + Statistics |
- Dependencies Одинаковые для всех трех процессов:
| Awards + HeatMaps + Statistics |
- Environment Одинаковые для всех трех процессов:
| Awards + HeatMaps + Statistics |
- Pre / Post-Service Одинаковые для всех трех процессов:
| Awards + HeatMaps + Statistics |
- Scheduling Различные для всех трех процессов:
| Awards | HeatMaps | Statistics |
- Dialogs Одинаковые для всех трех процессов:
| Awards + HeatMaps + Statistics |
- Recovery Одинаковые для всех трех процессов:
| Awards + HeatMaps + Statistics |
- Program Различные для всех трех процессов:
- Запустить службы, нажав "Start the selected sevice" на каждой.
- Взломщик для "FireDaemon", ищите сами.
*nix crontab- В файле "run_hlstats", у переменной "perldir" указать абсолютный путь до своей "perl" директории.
- Пример:
Код: Выделить всё
# set your correct HLstatsX perl path perldir=/home/user/hlstatsx
- Пример:
- Запустить обработчик статистики, командой:
Код: Выделить всё
./run_hlstats start
- Выполнить команду:
Код: Выделить всё
crontab -e
- Добавить строки основываясь на примере:
- Первая строка - каждую минуту прверяет работоспособность обработчика статистики и перезапускает его, в случае падения;
Код: Выделить всё
*/1 * * * * cd /home/user/hlstatsx && ./run_hlstats start 00 00 * * * cd /home/user/hlstatsx && ./hlstats-awards.pl 00 00 * * * cd /home/uno/Half-Life/stats/hlstatsx/heatmaps && ./generate.php
Вторая строка - в 00:00 запускает обработку наград;
Третья строка - в 00:00 запускает обработку HeatMaps.
- В третью строку можно добавить необходимые параметры из пункта 15.6.
- Перезапустить игровые серверы (запустить, если еще не запущены) или изменить на них карты.