Текущая версия статы: 1.5.final

Вот наконец доработал свою стату, решил выложить на общий суд. Сама статистика разрабатывалась для себя пару лет назад, но была брошена недоделаной, сейчас немного доработал и вышло то, что вышло.

А именно:
  • Мониторинг сервера
  • Банлист (не только список банов, но и проверка пользователя по базе при заходе на сервер - ip, nick, SteamID)
  • Статистика игроков (общее, по каждому оружию, по каждой карте)
  • Статистика карт
  • Статистика подключений к серверу в виде графика за неделю, месяц, 3 месяца
  • Топ игроков
  • Топ карт
  • Поиск игроков
  • Отображение админов сервера
  • Отображение кваров сервера
  • Мультиязычность (сразу есть рус, укр, англ)
  • Поддержка модулей (thx to нуб2)
  • Саморемонт" высоконагруженых таблиц статистики - таблетка от "падений" бд.
  • Комманды управления плагином (остановка статистики, перезапуск, перезагрузка кваров статистики, принудительное обновление в базе)
  • Данные собираются с точностью до 99%!

    Конечно, до психа далеко, но простая и без наворотов, проста в установке и использовании.

    Система состоит из:
  • amxx плагина к серверу
  • чуть-чуть переделаный admincmd.amxx и его исходник (зачем это - чуть ниже)
  • cfg файла
  • web части

    Зачем переделан admincmd.amxx?
    А затем, что бы работали баны. Весь функционал файла сохранен, ничего не вырезано, и, собстенно, в оригинале изменено ровно 3 строчки, которые общую картину файла не меняют. Можете сами сравнить оригинал и исходник, который прилагается, - ничего левого и скрытого не добавлено. Особо недоверчивые могут даже сами скомпилировать прилагаемый исходник lol
     
    Требования к web части:
    apache 2+ (ModRewrite),
    php 5.2+ (short_open_tag on),
    mysql 5+

    Иначе не гарантируется корректная работа скрипта.

    1. Скопировать все файлы сервера в необходимые папки.
    2. Настроить ServerStatSystem.cfg - комментарии к настройкам прилагаются
    3. Подключить плагин к серверу (думаю, как это делается обьяснять не нужно:))
    4. Скопировать web часть системы туда, где хотите ее видеть. Если это удаленный сервер (например, хостинг) - удаленный mysql должен поддерживать удаленные соединения с вашего ip или пользователя бд.
    5. Если ваш http сервер не под виндой (*nix, например) - необходимо выставить права 0777 на папки inc/, inc/smarty/cache/ и inc/smarty/templates_c
    6. Пройти по вашему http адресу (если домашний комп - localhost) и установка скрипта сама запустится.
    7. Заполнить все необходимые поля и нажать соответствующую кнопочку.
    8. Доступ в "админку", где вы можете отключить те, или иные плагины, по адресу: {путь_к_скрипту}/configs/. Логин и пароль те, которые ввели при установке. При желании, их изменить можно в файле конфигурации (inc/config.php).

    Если ошибок нету - система нормально установлена и работает.
    Если есть ошибки - по ним, думаю, все будет понятно.


    Команды в плагине:
  • amx_stat_status - выводит текущий статус подключения пагина к mysql. в дальнейшем количество данных увеличим.
  • amx_stat_flush - принудительно обновляет все данные в базе
  • amx_stat_reconnect - переподключает плагин к базе, если подключения нету
  • amx_stat_disconnect - отключает плагин от базы и останавливает работу плагина
  • amx_stat_reconfig - перезагружает конфиг плагина

    Комманды работают как из консоли админа, так и из консоли сервера.

    Частые "подводные" камни и некоторые замечания
  • Cразу после установки вылазит ошибка "500 Internal server error". Все просто - к apache не подключен mod_rewrite. Достаточно раскоментировать строку с его подключением в httpd.conf (LoadModule rewrite_module modules/mod_rewrite.so / .dll) и перезагрузить апач.
  • Скачет пинг игроков после подключения плагина статистики. Скорее всего, подглючивает mysql и необходимо подкрутить его настройки. Причин этому может быть несколько - он просто криво настроян, на нем работает довольно крупный портал, который не дает свободно работать с базой плагину или на нем работает небольшой, но очень кривой сайт Так же можно "подкрутить" нагрузку плагина отключением модулей в ServerStatSystem.cfg.
  • Начиная с релиза v1.5.rc3 осторожно нужно обращться с переменной stat_with_bots. крайне желательно после смены параметра перезагружать сервер, а не просто обновлять конфиг коммандой amx_stat_reconfig, т.к. в базу будут добавляться очень некорректные данные до перезагрузки сервера или до смены карты.
  • Для ботов не считаются коннекты, выстрелы и попадания.
  • Не добавляются баны. Проверьте подключен ли прилагаемый admincmd.amxx. Если на сервере используется amxbans - статистику неоходимо подключить ДО него в plugins.ini, тогда баны будут добавляться и в статистику и в amxbans. В версии 2.0 планируется догнать amxbans по функционалу, что позволит полностью от него отказаться.
  • Не работает rewrite при настройке статистики под nginx. С решением этой проблемы помог пользователь TTRTTR. Для решения проблемы необходимо описать такой редирект в конфиге nginx:
    rewrite index(.*) /index.php last;
    rewrite .+/([\d]+)\.html /index.php last;


    Список изменений:
    v1.5.final
  • Исправлен баг с "[SSS] Error with query `INSERT INTO `corrmap` SET `name`='', ..."
  • Исправлен баг с падением нагруженых таблиц при высоких нагруках на стату - добавлен "авторемонт"
  • Еще немного оптимизирована работа с mysql
  • Более читабельный вывод mysql ошибки в консоль
  • Расширеное отображение данных в amx_stat_status
  • sv_password не заносится в отображаемый список кваров
  • Переделан принцип вывода страниц в статистике игроков
  • Мелкие правки в шаблоне

    v1.5.rc3
  • Добавлена улучшеная поддержка ботов - можно отключить/включить для них посчет статистики
  • Убрано добавление hltv клиентов в статистику
  • Добавлена возможность определения админов не только по нику (по ip и по steam_id), no-steam auth_id игнорируются
  • Убран иногда вылазивший баг с кешем графиков статистики коннектов
  • Мелкие правки в шаблоне

    v1.5.rc2
  • Добавлен вывод ошибок на все запросы в базу данных (если таковые присутствуют)

    v1.5
  • Переписано половину кода плагина, что должно:
    уменьшить нагрузку на mysql и на сервер в целом;
    позволить более точно собирать данные;
  • Копирайт в плагине убран в чат и показывается 1 раз за подлючение игрока (включая смену карты)
  • Добавлен вывод ошибки подключения к mysql
  • Добавлены комманды в плагин
  • Добавлена система модулей. теперь можно отключить ненужный модуль как в веб части, так и кваром в плагине (отключением плагинов также можно урегулировать нагрузку на мускуль/сервер)
  • Добавлена админка для управления модулями веб части. в дальнейшем ее функционал будет расширяться.
  • В связи с модулями, переделан принцип шаблонизации (коснется только тех, кто делает шаблоны).
  • Добавлена "вкусняшка" в статистику - "любимая жертва" и "злейший враг".
  • Добавлен топ карт.
  • Убран баг с отсутствием картинок в дефолтном шаблоне.
  • Частота обновления кеша картинки коннектов уменьшена до часа.
  • Мелкие правки в шаблоне, языковых файлах.

    v1.1
  • Убран баг с количеством отображения онлайн.
  • Убран баг с перелистыванием страниц игроков в стандартном шаблоне.
  • Добавлены параметры stat_save_cvars и stat_save_admins в конфиг, которые запрещают сохранять данные в базу.
  • Поправлено кеширование страниц.
  • Теперь css корректно подгружается НЕ из корня, главное - правильно подгружать (пример в дефолтном шаблоне).
  • Убран лишний вывод с главной (если выводить нечего из админов или кваров).
  • По просьбам играющих сделал вывод сообщения в плагине 1 раз при заходе на сервер.
  • Мелкие незапоминающие правки в шаблоне и скрипте.

    v1.0
  • Первый релиз.
     
    Дополнительные языки
    Дополнительный язык добавить очень просто - возьмите один из существующих в папке \inc\languages\, переведите его и положите измененный с соответствующим именем (например, ru.ini). Было бы неплохо выкладывать их в теме и я их буду добавлять в релиз.

    Изображения к картам
    Собрана неплохая коллекция изображений к картам. Но, естественно, не всех существующих карт. Что бы добавить изображение - достаточно положить ее в папку \images\maps\ с названием карты в нижнем регистре (!) и расширением только jpg (например, de_dust.jpg)! Желательно размер изображения 160х120 или его производные (легко делается из 1024x768 или 1280х1024). Выкладываем свои паки изображений здесь - будем добавлять в релизы.

    Изображение к графику коннектов
    Если вас чем-то не устраивает текущее изображение (а оно не устраивает и меня lol ) - его можно легко поменять. Замените файл \images\special\graphfon.jpg на свой, но изображение обязательно должно быть jpg с размерами 600x300, иначе не гарантируется корректная работа графика. После изменения не забываем удалить кеш из папки \inc\smarty\cache\. Так же выкладываем свои варианты в топике - понравившийся поставлю в релиз ;)

    Шаблоны скрипта
    Если чесно, мне было влом делать еще шаблоны. Кто знает что такое smarty (а использован именно он в качестве шаблонизатора) - не составит большого труда поделать свои шаблоны. Кто не знает - может разобраться, ничего сложного нету и манов в нете куча (офф сайт с документацией: http://www.smarty.net/documentation ). Естественно, выкладываем свои шаблоны в теме - буду добавлять в релизы.

    Если вам необходимо поменять установочные парметры (например, подключение к базе или шаблон) после установки - они лежат в файле \inc\config.php

    Баги
    Если нашли какие-то баги - пишем здесь и будем их решать.
     






ЗЫ: кто не знает что такое апач (apache), мускуль (mysql) или amxx - проходим мимо и не заморачиваемся. Или разбираемся сами как устанавливать web часть. Мусорить в теме запросами "что такое access denide for user root ... " не нужно!

ЗЫЫ: принимается аргументированная критика, предложения и замечания
 
Понравился мод? Пожалуйста нажми на кнопку "Спасибо" и на "5 звездочек" под публикацией, будьте людьми!