PsychoStats - система сбора и публикации статистики для CS. Щас расскажу как ставить психостат:
(P.S. статью переделал чтоб вам было понятнее)
Рассматривается версия 1.9.1
1. Файлы, необходимые для установки PsychoStatsдля Win32.
ВНИМАНИЕ! Если Вы устанавливаете PsychoStats на сервер впервые и, вполне возможно, никогда раньше не имели опыта установки подобных систем, учите следующее: для функционирования серверу статистики (на счёт всех других не скажу, этот документ относится только к PsychoStats) требуется набор из как минимум одного компонента: perl-интерпретатора.
1.1 Процедура установки и базовой настройки PsychoStats.
Установка PsychoStats - дело достаточно простое. Если конечно подойти к нему с правильной стороны. Всё, что требуется от Вас сейчас, это в точности следовать моим указаниям. Немного терпения. Для начала попробую разъяснить сущность программы PsychoStats. PsychoStats- это программа, как справедливо написано выше, предназначенная для сбора и публикации статистики на Вашем сервере.
Программа сканирует log-файлы из каталога c:\...\Half-Life\cstrike\logs (напомню, что лог сервера ведётся только при наличии в файле autoexec.cfg переменной log on) на Вашем сервере и по результатам сканирования генерирует html-страницы в соответствии с заданными шаблонами установками (что это и как оно работает вы узнаете позже). Информация, накапливающаяся в log-файлах сервера, достаточно обширна и содержит множество разных интересных параметров, которые практически полностью и использует PsychoStats.
Именно по этому, во-первых, я и выбрал PsychoStats в качестве программы ведения статистики. Во-вторых, PsychoStats выгодно отличается от аналогов простотой и логичностью своей установки. И именно к ней мы и переходим.
1.1.1 Версии программ.
На момент написания данной статьи, самой последней PsychoStats версией является 1.9.1. Если же Вы уже скачали всё необходимое, переходим непосредственно к процессу установки.
2. Установка PsychoStats для Win32.
Разархивируйте дистрибутив PsychoStats в каталог c:\ps. Для чего это нужно я поясню позже. Войдите в каталог ps. Вы увидите два подкаталога (themes и images) и 22 файла, не больше и не меньше. Найдите среди них файл stats.cfg. Это - файл первичной конфигурации для установки PsychoStats. Что бы установить PsychoStats (в дальнейшем просто PS), Вам его нужно подредактировать.
В чём смысл изменения этого файла? Как я уже сказал, это - файл первичной настройки PS. Здесь прописаны пути для установки всех основных модулей программы. После изменения настроек, а точнее будет сказать путей, работа по установке PS будет завершена.
Если Вы прямо сейчас запустите файл установки install.pl, программа-установщик скажет Вам, что перед установкой PsychoStats необходимо поменять настройки файла stats.cfg. Хотя, если Вы всё таки подтвердите своё (неправильное) желание установить PsychoStats с настройками по умолчанию, установка всё же произойдёт, но концов потом не сыщите, или сыщете но потеряете при этом дополнительное время.
ВНИМАНИЕ! ДЛЯ РЕДАКТИРОВАНИЯ ВСЕХ ФАЙЛОВ PSYCHOSTATS ИСПОЛЬЗУЙТЕ ТОЛЬКО WORDPAD (ИЛИ FAR)! НИ В КОЕМ СЛУЧАЕ НЕ ПОЛЬЗУЙТЕСЬ NOTEPAD'ОМ ИЛИ WINWORD'ОМ! ВСЕ ФАЙЛЫ ИЗ ДИСТРИБУТИВА ПРЕДСТАВЛЯЮТ СОБОЙ ФРАГМЕНТЫ PERL-СКРИПТОВ ИЛИ ЦЕЛЫЕ СКРИПТЫ И ПРИ ИСПОЛЬЗОВАНИИ НЕПРАВИЛЬНЫХ ПРОГРАММ-РЕДАКТОРОВ (МЕНЯЮЩИХ ФОРМАТ ТЕКСТА) ВЫ РИСКУЕТЕ РАЗРУШИТЬ ИХ СТРУКТУРУ (В КАЖДОМ ФАЙЛЕ-ШАБЛОНЕ С РАСШИРЕНИЕМ HTML И ФАЙЛЕ КОНФИГУРАЦИИ С РАСШИРЕНИЕМ CFG ПРАКТИЧЕСКИ ВСЯ СТРУКТУРА ВЫПОЛНЕНА КАК СКРИПТ, С СООТВЕТСТВУЮЩИМ СТИЛЮ ЯЗЫКА PERL ФОРМАТИРОВАНИЕМ). ПРИ ЗАМЕНЕ ЧЕГО-ЛИБО СТАРАЙТЕСЬ НЕ МЕНЯТЬ ВНУТРЕННЕЕ ФОРМАТИРОВАНИЕ ФАЙЛА, СЛЕДИТЕ ЗА КОЛИЧЕСТВОМ ПРОБЕЛОВ МЕЖДУ НАСТРОЙКАМИ И ПАРАМЕТРАМИ НАСТРОЕК! ЭТО ВАЖНО!
2.1 Редактирование файла stats.cfg
Итак, откройте файл stats.cfg Wordpad'ом. Что вы видите? Наверное, то же самое что и я: на самой верхней строке идёт предупреждение, в точности такое же как дал я, по поводу использования NotePad'а. Для упрощения процесса я буду приводить здесь целиком пункты, которые необходимо изменить. Ищите их в тексте по порядку, иак же как их указываю я.
2.1.1 Параметр "LogPath".
Это путь, по которому PsychoStats будет в дальнейшем искать лог-файлы вашего сервера CS. Не трудно заметить, что и здесь и далее все пути по умолчанию явно указывают на то, что PS изначально разрабатывался для Linux-сервера и никто не почесался после портирования его под Win32 изменить эти настройки файлов по умолчанию. Так же обратите внимание, что PsychoStats одинаково распознаёт прямой и обратный слэшы, / и \, по этому неважно, какие именно из них Вы будете использовать. Но, что бы в первый раз Вас не запутать, давайте использовать обратные слэши \, как это принято в мире Windows-систем.
Путь по умолчанию: /usr/games/halflife/hlds_l/cstrike/logs
Заменяем его на путь к нашему фактическому местоположению лог-файлов:
c:\...\Half-Life\cstrike\logs
2.1.2(1) Параметр "HtmlPath".
Это путь к месту публикации html-файлов, т.е. то место, куда они будут складываться и где они будут доступны для web-сервера.
Путь по умолчанию: /home/httpd/html/stats
Заменяем этот путь на наш:
c:\httpd\root
2.1.2(2)
modType
Поставьте:
modType = cstrike
2.1.2(3)
HTMLtheme
Поставьте:
HTMLtheme = cstrikehtml19
2.1.3 Параметр "PicsPath".
Это путь к каталогу, где будут храниться изображения карт, на которых Вы играли и играете (при установке на сервер нестандартной карты на 99% вероятно что в наборе PsychoStats не найдётся соответствующего этой карте излбражения, а значит её нужно будет просто сделать вручную, с названием по названию карты, и подложить в этот же каталог).
Путь по умолчанию: /home/httpd/html/stats/images/mappics
Заменяем этот путь на наш:
с:\httpd\root\images\mappics
... и все изображения карт уйдут в правильный каталог.
2.1.4 Параметр "DLPath".
Путь по умолчанию: /home/httpd/html/cstrike/maps
Это путь к каталогу, где будут доступны для скачивания карты, которые Вы используете на сервере.
Здесь напишите
C:\...\Half-Life\cstrike\maps
Всё, мы внесли основные изменения, другие пока что не требуют оперативного вмешательства и могут быть изменены позднее, при необходимости. Донастроим однако несколько дополнительных параметров.
2.2 Дополнительные параметы установки.
2.2.1 Параметр "forcethemecopy"
По умолчанию = 0
Этот параметр заставит программу - установщик install.pl копировать файлы при новой установке в нужный нам каталог даже в том случае, если там уже присутствуют файлы от предыдущей установки (в обфчном режиме он запросто может отказаться от этого). Лучше всего использовать только при обновлении. Поставьте значение в 1.
2.2.2(1) Параметр "ClosedLogsOnly"
По умолчанию = 0
Этот параметр включает проверку log-файлов на нашем сервере CS на предмет обнаружения ненормального (обрывочного) окончания файла, что бывает при падении сервера (лог-файл не успевает закрыться стандартным образом). Если включить этот параметр, такие файлы будут игнорироваться и их содержание не будет использоваться при сборе статистики. Поставьте значение в 1.
2.2.2(2)
EnableSTATSMEdmg
Сам еще не разобрался, что это такое. Но лучше поставьте значение в 1.
2.2.2(3)
# Config file locations
Здесь оставьте все так, как есть. Теперь переходим к персонализации нашего нового сервера статистики.
2.3 Персонализация сервера статистики PsychoStats.
2.3.1 Параметр # server info.
Для чего это? Этот параметр хранит информацию о Вашем сервере, которая будет отображаться на стартовой странице сервера статистики. В принципе, ни одна из настроек, указанных ниже, ни на что не влияет, это только для, скажем так, презентабельности Вашего сервера и придания ему окультуренного вида. Так что если Вам лениво, можете оставить и так, как всё есть, сервер и так будет работать, но не так красиво. Так что уж найдите время.
Переменные параметра # server info:
- serverName = Здесь внесите имя Вашего сервера, например CS 1.3 MadEagle server
- serverIP = Здесь внесите ip-адрес Вашего сервера, например 192.168.0.1 (тут же рекомендую сразу указать номер используемого сервером порта или портов, т.е. запись будет быглядеть как 192.168.0.1 : 27015 при одном или 192.168.0.1 : 27015 : 27020 при двух портах ну и так далее).
- serverDomain = Здесь внесите DNS-имя (если есть!) Вашего сервера статистики, например это может быть www.madeagle.ru.
Примечание: в пунктах помеченных (если есть!) можно и нужно использовать ip-адрес Вашего сервера, если нет возможности использовать для него DNS-имя).
- adminAlias = Здесь внесите ник Вашего администратора, например sysadmin
- adminEMail = Здесь внесите почтовый адрес администратора, например sysadmin@server.ru
Терерь настроим порядок и правила обработки лог-файлов Вашего сервера.
2.4 Правила обработки log-файлов системой PsychoStats.
2.4.1 Параметр "ReportErrors"
По умолчанию = 1
Если параметр включён, лог-файлы с сообщениями о несущественных ошибках будут обработаны на ровне со всеми, если выключить- они будут игнорироваться. Лучше оставить эту настройку как есть, т.к. что с ней, что без неё- всё одинаково, и практически ни на что не влияет. Чтобы всё-таки выключить, поставьте параметр в 0.
2.4.2 Параметр "ReportCrashes"
По умолчанию = 0
Если параметр включен, незакрытые лог-файлы сервера CS, свидетельствующие о падении сервера, будут обрабатываться вместе со всеми и отдельно обозначаться, как неполные. Примечание: для использовании этой возможности должен быть включён параметр ReportErrors. Рекомендую оставить как есть.
Теперь настроим несколько важных параметров, определяющих минимальные требования к страйкерам, играющим на вашем сервере.
2.5 Требования к игрокам для ведения статистики.
RegisteredOnly
Обязательно должен выглядеть так: RegisteredOnly = 0
2.5.1 Параметр "BaseSkill"
По умолчанию = 1000
Это базовый, начальный уровень опыта для всех игроков на Вашем сервере. Его можно оставить как есть, этот параметр, как правило, не требует корректировки.
2.5.2 Параметр "MaxDays"
По умолчанию = 14
В каждом log-файле есть дата и время записи этого файла и параметр MaxDays определяет, сколько дней будет использоваться при ведении и подсчёте статистики. По умолчанию PsychoStats сканирует последние 14 дней игры. Я думаю, будет не лишним увеличить этот параметр до, как минимум, 1-ого месяца, а лучше ещё больше (вы таки хотите иметь ПОЛНУЮ статистику или где?). Давайте установим это параметр в 60 дней, т.е. MaxDays = 60. НО! Учтите, что чем более подробная по времени статистика ведётся, тем больше нагрузка на Ваш сервер, ведь PS приходится сканировать давольно большое количество файлов...
Так что сами выберите для себя нормальный срок сканирования. Единственное исключение: если Ваш сервер статистики НЕ ЯВЛЯЕТСЯ игровым сервером, вы вполне можете использовать практически любой срок сканирования, если обновление Вашего сервера происходит скажем, 1 раз в 2-3 часа. Это конечно будут периоды максимальной нагрузки на оборудование сервера. В будущих версиях PS планируется внедрить поддержку MySQL-базы и тогда, вполне возможно, этих проблем уже не будет...
2.5.3 Параметр "MaxPlayers"
По умолчанию = 150
Максимальное число игроков для отображения на Вашем сервере статистики. Я думаю, значения по умолчания тут вполне достаточно. Но если у Вас на сервере происходят или планируются очень крупные разборки с участием большого количества игроков, увеличьте этот параметр до необходимого Вам размера (хотя я сильно сомневаюсь что у Вас будут проблемы с этим параметром: где ж столько игроков-то взять? Хотя... Всяко бывает. В общем, на Ваше усмотрение.
2.5.4 Параметр "MinConnected"
По умолчанию = 2
Минимально допустимое количество игроков для начала ведения статистики на Вашем сервере. Этот параметр определяет, какое минимальное количество игроков должно присутствовать в log-файлах сервера CS, что бы PsychoStats начал ведение статистики по играм. Для примера, если этот параметр выставить в 10, а игроков на сервере реально человек 5-6, сервер статистики при сканировании лог-файлов определит, что количество имён игроков в log-файлах меньше величины MinConnected = 10, и статистика вестись не будет. Этот параметр менять не нужно да и в общем-то бессмысленно.
ВНИМАНИЕ! Настройки между отметками #### представляют из себя весьма связанные между собой параметры. Чтобы изменение в одном из них начало как-то себя проявлять, Вам, возможно, потребуется изменить и все или почти все остальные! Будьте внимательны! Не факт, что если игрок достиг определённых успехов по одной из позиций из этого списка требований, PS внесёт его в статистику.
####
2.5.5 Параметр "MinSkill"
По умолчанию = 1000
Этот параметр определяет количество очков опыта, необходимое для начала ведения статистики по игроку на сервере, иначе игрок будет проигнорирован. Если уровень Ваших игроков не очень-то высок, уменьшите этот параметр до, например, 500 (MinSkill = 500). Но лучше оставить всё как есть. Причина: по умолчанию практически все настройки, связанные с внесением игрока или клана в статистику и последующее их отображение на страницах сервера все-таки приведены в более-менее сбалансированное состояние.
2.5.6 Параметр "MinKills"
По умолчанию = 75
минимальное количество убитых противников, необходимое для начала ведения статистики по игроку на сервере). - этот параметр определяет, сколько противников должен убить игрок для внесения в статистику. Можете его уменьшить или увеличить- это не повредит общей настройке системы статистики.
2.5.7 Параметр "MinDeaths"
По умолчанию = 1
минимальное количество смертей игрока, необходимое для начала ведения статистики по игроку на сервере). - этот параметр определяет, сколько раз должны убить игрока для внесения его в статистику. Можете его уменьшить или увеличить- это не повредит общей настройке системы статистики.
2.5.8 Параметр "MinKDR"
По умолчанию = 0.50
минимальное соотношение параметров УБИЛ \ УМЕР, необходимое для начала ведения статистики по игроку на сервере). - это параметр определяет, какова должна быть разница между соответствующими показателями игрока для внесения его в статистику.
2.5.9 Параметр "MinTime"
По умолчанию = 1h
именно столько времени должен отыграть человек на вашем сервере, прежде чем система статистики внесёт его в свои файлы). - Можете его уменьшить или увеличить- это не повредит общей настройке системы статистики.
2.5.10 Параметр "MinRounds"
По умолчанию = 0
минимально необходимое для внесения в статистику количество раундов для игрока) - можно оставить как есть. Но можете его так же уменьшить или увеличить- это не повредит общей настройке системы статистики.
####
2.5.11 Параметр "UseAliases"
По умолчанию = 1
(использование файлов с именами игроков) - это параметр определяет, будет ли сервер статистики генерировать файлы личной статистики с именами соответствующих игроков. Оставьте как есть.
2.5.12(1) Параметр "RemovePlayers"
По умолчанию = 1
(удаление игроков из статистики) - этот параметр определяет, нужно ли удалять из статистики имена игроков с нулевым соотношением параметров УБИЛ \ УМЕР. Смысл этой настройки в том, что иногда некоторые игроки просто шутки ради могут изменить во время боя себе имя, и имя это попадёт при определённых условиях в статистику. Однако, если это имя ими больше не будет использоваться, оно будет просто занимать место в статистике. Что бы этого не произошло, и это не используемое имя не засоряло статистику, оставьте этот параметр =1. Тогда все мусорные имена будут довольно быстро вычищаться из статистики. Этот параметр позволяет сохранять ресурсы сервера для более нужных вещей.
2.5.12(2)
Эти переменные нужно поставить так:
AutoBanDeny = 0
MaxKickDeny = 0
MaxCheatDeny = 0
DeleteOldPlayers = 1
DeleteOldClans = 1
DeleteOldWeapons = 1
DeleteOldAwards = 1
DeleteOldMaps = 1
PlayerHTMLtype = MIME
ClanHTMLtype = MIME
2.5.13 Параметр "PlayerID"
По умолчанию = lcname
(как именно будут отслеживаться и вноситься в статистику игроки) - этот параметр определяет варианты поиска в лог-файлах и внесения игроков в статистику. Есть несколько вариантов этого процесса:
NAME = использовать имена игроков как уникальный ID для каждого игрока (регистрозависим)
LCNAME = использовать имена игроков (регистронезависим)
WON = использовать WON ID игроков (не актуально для России)
IP = использовать IP-адреса игроков
ПРИМЕЧАНИЕ: Отслеживание игроков по IP-адресу лучше всего использовать только для серверов локальной сети. Дело в том, что отслеживание игроков в интернете по их IP-адресу дело не всегда возможное, т.к. множество игроков имеют динамические адреса, и в некоторых случаях возникает ситуация с ошибками в детектировании и сопоставлении имён игроков и их адресов.
Так что при всех равных прочих условиях самым универсальным способом является настройка этого параметра на использование именно: PlayerID = LCNAME
2.5.14 Параметр "CreateClans"
По умолчанию = 1
(разрешение на автоматическое создание страниц клановой статистики) - этот параметр определяет, будет ли PsychoStats собирать из лог-файлов информацию о кланах, за которые играют люди (информация берётся путём отсекания имени игрока от имени клана, который, как правило (это не стандартизировано!), заключён в квадратные скобки, например [DEAD RAIDERS CLAN]. Если вы или кто-то из игроков на вашем сервере указывает название клана каким-то другим способом, автор не даёт гарантий, что название этих кланов будут зафиксированы в статистике.
2.5.15 Параметр "MinClanMembers"
По умолчанию = 3
(минимальное количество игроков в клане, необходимое для начала ведения статистики по их клану) - думаю, комментарии тут излишни.
2.5.16 Параметр "MinClanKills"
По умолчанию = 100
(минимальное количество убийств, совершённых кланом, необходимое для начала ведения статистики по клану) - думаю, комментарии тут излишни.
2.5.17 Параметр "MinClanSkill"
По умолчанию = 900
(минимальный общий опыт для игроков клана, необходимый для начала ведения статистики по клану) - думаю, комментарии тут излишни. Единственное что тут можно сказать, так это то, что если ваш клан слаб, уменьшите этот параметр.
2.5.18 Параметр "MinClanKdr"
По умолчанию = 0.0
(минимальное соотношение параметров УБИЛ \ УМЕР для начала ведения статистики по клану) - этот параметр менять не следует, если только вы не собираетесь ограничить количество отображаемых на сервере кланов путём определения минимального уровня крутости...
2.5.19 Параметр "MinClanRank"
По умолчанию = 0
(минимальный средний ранг клана, необходимый для внесения клана в страницы статистики) - этот параметр менять не следует.
2.5.20 Параметр "MinClanMemberKills"
По умолчанию = 1
(минимальное количество убийств для игрока, необходимое для его (игрока) отображения на странице статистики своего клана) - этот параметр менять не следует, если только вы не хотите установить нижний порог ограничения для игроков вашего или любого другого клана для внесения их (игроков) в соответствующие клановые страницы.
2.5.21(1) Параметр "MinClanMemberDeaths"
По умолчанию = 1
(минимальное количество смертей для игрока, необходимое для его (игрока) отображения на странице статистики своего клана) - этот параметр менять не следует, если только вы не хотите установить нижний порог ограничения для игроков вашего или любого другого клана для внесения их (игроков) в соответствующие клановые страницы.
2.5.21(2)
ClanDebug
Рекомендованное значение: ClanDebug = 0
2.5.21 Параметр "CreateMapPages"
По умолчанию = 1
(разрешение на автоматическое создание станиц, посвящённых детализированной статистике по всем картам, на которых играли на вашем сервере) - очень интересная статистика. Я рекомендую оставить настройку параметра как есть.
2.5.22 Параметр "MapAwardMax"
По умолчанию = 10
(максимальное количество игроков, которые будут отображаться на страницах статистики по картам) - здесь всё зависит от количества реально играющих на вашем сервере людей. Если хотите, что бы на этих страницах отображались абсолютно все игроки, увеличьте этот параметр до нужного вам размера.
2.5.23 Параметр "ExcludeMaps"
По умолчанию