Установка Psyhostats
Что нам понадобится
1) http сервер (Apache) (можно взять xampp, topserver или ещё какое говно из числа готовых веб серверов с уже включённым в него php и чем нибудь ещё, но тогда весь геморой и косяки лежат исключительно на вас и помощи лично я не гарантирую)
2) php интерпритато (проще говоря обработчик php кода, на котором написан сайт статистики)
3) perl для запуска скрипта (*.pl) + DBI и DBD-mysql пакеты к нему
4) mysql база данных
5) HeidiSQL – программа для работы с sql базами. Можно взять что то ещё, что понравится больше, найти в Сети не трудно. Phpmyadmin гумно.
6) Собственно сам Psyhostats Ссылки (соответствуют первому пункту):
1) Страница загрузки на которой вы найдёте последний релиз http сервера. (Для windows систем нужно брать Win32 Binary without crypto (no mod_ssl) (MSI Installer)). На сегодняшний день последний релиз под номером 2.2.11.
2) Страница загрузки на которой найдёте последнюю версию PHP. После пункта "Windows binaries" смотрим на "PHP №релиза installer" (№релиза - номер последней версии, на данный момент это 5.2.8)
3) Страница загрузки на которой вы найдёте кнопку (прям по середине страницы) для скачивания последней версии Perl интерпритатора для вашей операционной системы. (после нажатия выскочит окошко с предложением заполнить формочку - не заморачивайтесь, а просто нажмите в нижнем правом углу на надпись "may be later" - переводится как возможно потом).
Так же вот эта ссылка понадобится позже: http://cpan.uwinnipeg.ca/PPMPackages/10xx/package.xml. Оттуда ничего скачивать не надо, она вставляется в программу, которая знает что с ней делать. Но об этом позже.
4) http://dev.mysql.com/get/Downloads/MySQL-5...2.msi/from/pick - тут надо нажать на No thanks, just take me to the downloads! И ниже появятся ссылки на дистрибутив. Первой же парой ссылок будет на российский сервер (http и ftp). Жать можно на любую – и там и там должно начаться скачивание.
5) http://www.psychostats.com/downloads/PsychoStats/
6) Страница загрузки где левый столбик содержит архив для Windows серверов, а правый для Linux. Будте внимательны - первая ссылка в левом посте, это набор изображений для карт, он естественно не зависит от ОС, так что вобщем для Windows ссылка на последний релиз во втором квадратике левого столбика, а не в первом. Просто внимательно читаем и всё...
Установка и настройка Apache, PHP, MySQL.
Решил что ещё один из милионов мануалов по настройке веб сервака и пхп рунет не выдержит, тем более от меня. Вот очень хороший набор статей по сабжу, к тому же проверенный людьми и исправлены временем: http://www.codenet.ru/webmast/apache/Apache-WindowsNT/
Там всё очень хорошо рассказано. Вам нужен apache, php, mysql. Это займёт у вас около получаса первый раз, и в последствии будет занимать 10 минут.
PS: при настройке php вам понадобится графическая библиотека GD. В мануале по настройке как раз на ней приведён пример где её взять и как её подключить. Включите библиотеку раскоментировав строчку extension=php_gd2.dll и для работы с mysql раскоментируйте строчку extension=php_mysql.dll. В мануале тоже на ней же приведён пример.
PS2: Надеюсь вы воспользуетесь виртуальными хостами при настройке Apache - в дальнейшем увидите, что это удобно и полезно.
Установка Perl:
Выделил этот пункт, потому что с новой версией перла проблема у админов психа с подключением пакетов для работы с mysql. (а именно в подключение DBD-mysql)
Перл – устанавливаете очень просто – соглашаетесь со всем и жмёте всё время next.
C:\Perl\ – сюда установится по дефолту (т.е. по умолчанию).
C:\Perl\bin\ppm.bat – запустите это имея подключение к интеренету! (или в командной строке ввести ppm)
Загрузится перл пакет менеджер. Проверит список репозиториев установленные там по умолчанию разработчиками. И загрузит этот список. Найдите там DBI. Правой кнопкой мышки по DBI и выбрать там Install… Затем на панели инструментов найдите зелёную стрелку показывающую в право (3-ий значк с конца, с подсказкой «Run marked action») и нажмите. Установится выбранный пакет.
Теперь вам необходимо установить BDB-mysql, что бы перл мог работать с базами Mysql и заносить туда информацию из логов КС. Но его нет в том репозитории, что поставляется разработчиками ActivePerl. Надо добавить новый репозиторий: сверху в меню edit –> preferences. Перейти на вкладку repositories. В нижней части окна есть два поля ввода текста: Name и Location. В Name впишите что вам угодно - это название нового репозитория. В Location вставьте ссылку http://cpan.uwinnipeg.ca/PPMPackages/10xx/package.xml (ctrl+v - вставка клавишами). Нажмёте Add, сразу произойдёт проверка и закачка. у вас в листе пакетов должен появиться DBD-mysql<какая то версия>. Устанавливается так же как и DBI выше.
Пожалуй по установке вспомогательного софта всё.
Что имеем:
1)Установленный и настроенный Apache
2)Установленный и настроенный PHP
3)Установленный и настроенный mysql
4)Установленный и настроенный Perl
5)Архив с psychostats
Надеюсь что это так.
В архиве валяется кучка файлов и папок. Есть папка upload – это сам псих. Выньте из папки upload всё и положите в свой wwwRoot. Всё что лежит рядом с папкой upload, положите, куда ни будь, где вам удобнее. Вернёмся к этим файлам позже.
Наберите в браузере адрес вашего сайта и допишите вручную папку install. Т.е. http://yoursite.ru/install (можно с любого компьютера, главное что бы браузер не был коцаный по настройкам (как это по умолчанию в windows 2003), иначе у вас интерактивный интерфейс просто не будет работать, а следовательно и сделать ничего не сможете)
Откроется инсталлятор Психа. Жмём Install.
Видим первый тест инсталлятора. Он нашёл mysql модуль, он нашёл gd, если вы это включали. Скорее всего он не нашёл mcrypt и zip. Они нафиг не нужны по большому счёту. Жмём Next.
Формочка настроек работы с mysql базой. Если ставите первый раз, то вам повезло! ) жмёте просто Test, видите что всё ОК и нажимаете Next.
Если у вас уже были эксперименты, вы удаляли mysql, случайно удалил дефолтных пользователей из mysql базы… вообщем могут возникнуть проблемы с тем, что пользователь ps3, база и таблицы автоматически не создадутся. Не создаётся она скорее всего потому, что пользователя ps3 невозможно создать автоматически. Тогда открываете программу HeidiSQL, вводите логин root, ваш пароль, который забивали при установке mysql. Идём в меню tools –user manager.
User – ps3
From host – localhost (или адрес вашего сервера, если у вас mysql база на удалённом сервере)
Password – поставьте какой нибудь, А по умолчанию он может работать со всеми базами, но это не рекомендуется, но кто не в состояние это сделать - оставьте как есть, думаю что для вас это не важно.
Вернёмся в окно инсталляции психа. Жмём ещё раз Test (не забываем указать пароль от пользователя, если вы его указали при создание базы). Всё должно прокатить и можно жать кнопку Next.
Если вы уже пробовали ставить психа и уже были в этом окне – поставьте галочку Drop and recreate database <username> @<host>. Старая база будет сброшена и заново создана. Если нет, то просто нажмите Initialise database. И жмите next.
Видим три поля Username, Password, retype password. Ваш логин, пароль и повторение пароля для доступа в админпанель психа. Заполняем и жмём Next.
Видим загадочное окно и какую то непонятную галочку – снимаем галочку! Сразу откроется поле с подобным содержанием: C:\WINDOWS\Temp\ps_themes_compiled
Оставьте как есть. Кстати, кто пользуется всевозможными чистилками каталогов временных файлов - аккуратней, можете удалить удалить шкурки психа. Возможно позже я расскажу как их перенести.
Жмём Next. Ещё раз Next и Finich and goto ACP.
Установка завершена. Удалите папку Install из своего wwwRoot. Иначе кто то другой может всё это заново проделать, создать себе админскую учётку и рулить. И это даже сложно будет расценить как попадание под статью 272 УК РФ, потому что немыслящих надо наказывать... ну да ладно, я отвлёкся.
Настройка.
После захода в ACP вас спросят путь до логов сервера КС. (ACP – admin control panel)
<cs_dir>\cstrike\logs
Если вы пропустили этот момент, то вам надо в меню найти пункт manage и выбрать log source. Там просто введите полный путь до логов КС (например C:\server\cs\cstrike\logs). Можно так же указать источник логов на FTP сервере, В таком случае вы сами разбираетесь, почему у вас оттуда не забираются логи. Для этого читается лог фтп сервера и оттуда понимается, почему ваш фтп сервер не может отдать логи. В крайнем случае обращайтесь сюда, мы вам поможем.
Так же надо добвить следующие настройки в server.cfg, что бы Psychostats имел "пищу" для обработки и вывода:
Code
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 0
mp_logdetail 3
mp_logmessages 1
А так же должны быть включены в amxmodx
- следующие моды (configs\modules.ini): cstrike и csx
- следующие плагины (включаются в папке configs\plugins.ini): admin.amxx, statscfg.amxx, statsx.amxx, stats_logging.amxx.
Жмём меню Home
Allow users to change name – разрешить изменение логина после регистрации.
Base skill – скил присваиваемый сразу после регистрации.
Enable clantag detection – включить обнаружение кланов (основывается на обработки имени игрока и разделение его с помощью уже известных разделителе между кланом и именем manage - Clan Management)
Default theme – тема оформления по умолчанию у всех посетителей вашей статистики сервера.
Game type – там тока один пункт – half life. Но можно изменить набор значений меняя параметр mod type – по сути тип игры. Посмотрите и поймёте. Ведь псих не только под КС.
How to track players – по какому принципу будет происходить идентификация геймера из логов – ник, ip адрес, steam id.
Следующие два параметр дают возможность не заносить ботов в стату
После них ещё два параметра которые я не очень понимаю, если честно. Видимо это кол-во дней, в течение которых будет считаться стата, пока человек не играет… переведите кому не лень)
Max player inactivity (days) – кол-во дней, после которых юзер считается неактивным и его ранк после этого не пересчитывается. Разрабы рекомендуют 5-10 дней.
Minimum connected players – минимальное кол-во игроков в логе, для того, что бы скрипт обработал лог. Primary player name selection – как отображать юзера. First – по первому найденному имени в логах, last – по последнему. Most – по чаще всего используемому.
Save player victims – сохранять попадания. Разрабы предупреждают, что если не сохранять, то обработка статы будет быстрее.
Site URL – укажите ссылку на главную страницу вашего сайта – например http://mysite.ru. Эта ссылка будет на кнопке Home, которая при просмотре статистики, а не в ACP.
Skill calculation (kills) – предлагают два варианта – default и elo. В elo учитывается стабильность скила, кол-во активных дней, время в игре. Вообщем умная формула. Если использовать elo, то рекомендуют base skill поставить 10000.
User registration – согласно списку по порядку: открытая регистрация, регистрация с ожиданием разрешения от админа, и запретить регистрацию вовсе.
Пункт Awards
Allow daily awards –присуждать награды юзерам ежедневно.
Allow monthy awards - ежемесячно
Allow weekly awards – еженедельно
Следующие три настройки – разрешают считать неполные/частичные награды за день/месяц/неделю.
Stat of the week – выбор когда будет считать статистика за неделю – воскресенье или понедельник.
Пункт Daily update
Calculate ranks every day? – поставьте yes, что бы ранк считался каждый день
Пункт Decay
Base decay value – тип вычитывания ранка
Minimum hours – минимальное время часов, после которого начинается вычитывание ранка.
Type of decay – 2 типа на выбор - на выбор линейное вычитание и процентное соотношение.
Пункт Ranking – набор минимальных значение для начала ведения статы. Т.е. если из логов получается, что значение убийств для игрока 3, а минимум стоит допустим 5, то он не будет занесён в статистику…. И так по аналогии
(Clan) Minimum kills - минимум убийст на всех тиммейтов команды
(Clan) Minimum members -минимальное кол-во тиммейтов
(Clan) Minimum online time -время в онлайн
(Clan) Minimum skill - минимальный скил для клана.
(Player) Minimum Activity % - активность
(Player) Minimum kills - убийства
(Player) Minimum online time -время онлайн
(Player) Minimum skill – скил
Пункт Permissions
Show Admin Link? – показывать линк в меню на админку
Show Clan Flags? – показывать флаг клана
Show Clan Icons? – показывать иконку клана
Show IP Addresses - показывать ip адрес игрока (в профиле)
Show Login Link – показать линк для входа под своей учёткой
Show Player Flags? – показать флаг плеера (флаги страны имеются ввиду)
Show Player Icons? – иконку плеера
Show Player Profiles? – разрешить просмотр профиля
Show PsychoStats Version? – показать версию психа (внизу страници рядом с копирайтами)
Show Register Link – показать линк для регистрации
Show STEAMIDs - показать стим айди. (в проциле)
не забывайте, что лучше убрать линки для регистрации и для логина, если регистрация на стате отключена.
Меню Manage
Log source – уже оговаривали – можно указать логии сервера. А можно и двух серверов и трёх и тд. ) что бы всё сливалось в одну статистику
Live server – мониторинг серверов.
Жмём на Add server
Server Host: адрес сервера
Server Port: порт сервера
Connection IP: адрес сервера (не обязательно ip, можно и доменное имя)
Query Type – оставьте half-live 1 or 2
RCON Password – укажите ркон сервера для снятие инфы о юзерах, настройках и тд.
Больше нефига тут делать. Всё основное, даже с избытком настроили!
Пожалуй осталось только рассказать как статистика будет заполняться. В самом начале я сказал, что надо отложить куда нить те файлы, что лежали рядом с папкой upload в архиве с психом. Оттуда нужно всё, но мы будем трогать только два файла stats.pl и stats.cfg
stats.cfg нужен для того, что бы указать там адрес базы данных mysql, название базы, учётную запись и прификс таблиц базы.
Содержание файла stats.cfg
Quote
dbtype = mysql
dbhost = localhost
dbport =
dbname = psychostats3_1
dbuser = ps3
dbpass =
dbtblprefix = ps_
dbtype - собстно указывает это тип базы, который указывает что мы используем именно mysql (есть ещё множество других баз данных, но эта пожалуй самая простая подходящая нам)
dbhost - указывается адрес сервера баз данных. (ip, dns имя или localhost,loopback)
dbport - порт сервера баз данных. оставьте пустым, если не меняли его - возьмётся стандартный.
dbname - указываем имя нашей базы на серере баз данных.
dbpass - пароль к базе. если указывали при создание - укажите. не указывали - оставьте пустым.
dbtblprefix - прификс таблиц нашей базы. Он тоже указывался при создание базы в психе, должен совпасть с тем, что вы указали.
Если у вас всё создавалось автоматически, при установке психа, то всё оставьте как есть. Если указывали пароль или меняли имя пользователя в mysql - замените сообветсвенно.
Собстно чтобы обработать статистику и заполнить базу данных, надо запустить stats.pl. (простым двойным кликом). Всё остальное сделается само. А именно: скрипт полезет в папку с логами, путь к которым вы указали в настройках психа (manage -> log source). Перелопатит все логи, что там есть, засунет всё в таблицы базы данных, данные к которой вы указали в файле stats.cfg. После того, как вы откроете статистику в базу сделается запрос и всё содержимое базы выведется на страницы статистики.
Некоторые задают вопрос: "-А что, мне нужно каждый раз запускать stats.pl, что бы обновилась статистика?" - ответ очевиден - ДА. Руками это делать конечно накладно, да и не умно. Лучше всего воспользоваться каким нибудь планировщиком задач. Стандартный windows task manager я не рекомендую! Лучше всего воспользоваться программой nncron. Скачать nncron. А также русская справка к нему - скачать. Очень советую разобраться в этом планировщике тем, кто собрался становиться IT специалистом - самый лучший и самый мощный на сегодняшний день. Кто не собрался - просто поймите как создать задачу, как установить причину выполнения задачи и как указать то, что должно выполниться при наступление нужного момента. Насколько я помню это надо будет нажать не больше 10 кнопок. Так что не пугайтесь, там всё просто.
Крайне не рекомендую проводить руссификацию, по крайней мере пока не случится первая обработка базы и заполнение форм статистики. В противном случае рискуете получить нули в некоторых столбиках статистики.
Это вторая редакция статьи в связи с произвдёнными изменениями + адаптация + новые данные. Скорее всего она будет в дальнейшем дорабатываться. На все неточности или недостатки указывайте пожалуйста в этой теме, если они будут правильными, обязательно наградим "спасибкой".
Благодарности:
1) pHX - был использована мысль насчёт нулей в столбиках статистики из его поста в старой теме.