Текущая версия статы: 1.5.final
Авторы: korvet
Вот
наконец доработал свою стату, решил выложить на общий суд. Сама
статистика разрабатывалась для себя пару лет назад, но была брошена
недоделаной, сейчас немного доработал и вышло то, что вышло.
А именно: ◆ Мониторинг сервера
◆ Банлист (не только список банов, но и проверка пользователя по базе при заходе на сервер - ip, nick, SteamID)
◆ Статистика игроков (общее, по каждому оружию, по каждой карте)
◆ Статистика карт
◆ Статистика подключений к серверу в виде графика за неделю, месяц, 3 месяца
◆ Топ игроков
◆ Топ карт
◆ Поиск игроков
◆ Отображение админов сервера
◆ Отображение кваров сервера
◆ Мультиязычность (сразу есть рус, укр, англ)
◆ Поддержка модулей (thx to нуб2)
◆ "Саморемонт" высоконагруженых таблиц статистики - таблетка от "падений" бд.
◆
Комманды управления плагином (остановка статистики, перезапуск,
перезагрузка кваров статистики, принудительное обновление в базе)
◆ Данные собираются с точностью до 99%!
Конечно, до психа далеко, но простая и без наворотов, проста в установке и использовании. Система состоит из: ◆ amxx плагина к серверу
◆ чуть-чуть переделаный admincmd.amxx и его исходник (зачем это - чуть ниже)
◆ cfg файла
◆ web части
Зачем переделан admincmd.amxx? А
затем, что бы работали баны. Весь функционал файла сохранен, ничего не
вырезано, и, собстенно, в оригинале изменено ровно 3 строчки, которые
общую картину файла не меняют. Можете сами сравнить оригинал и исходник,
который прилагается, - ничего левого и скрытого не добавлено. Особо
недоверчивые могут даже сами скомпилировать прилагаемый исходник

Установка
Требования к 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 - перезагружает конфиг плагина
комманды работают как из консоли админа, так и из консоли сервера.
Частые "подводные" камни и некоторые замечания
◆
Сразу после установки вылазит ошибка "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;
Changelog
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:
◆ Первый релиз
Что будет дальше?
А
дальше - 2.0. Планируется существенно расширить возможности и
функционал статистики, т.к. базовая статистика работает более-менее
стабильно.
Что планируется:
◆ Полностью повторить функционал AmxBans, что позволит от него отказаться, используя плагин статистики.
◆ Расширения статистики для модов, таких, как: GunGame, War3FT, Zombie Mod etc.
◆ Расширенная статистика коннектов (ориентир - псих)
◆ Улучшеная админка.
◆ Добавить нормальных шаблонов, что бы было из чего выбрать.
◆ Много-много мелких, но интересных идей.
◆ Сделать небольшой сайтец
Из старого todo, возможно и его сделаю:
◆ мб лучшие игроки за определенный период (thx to mafikmail)
◆ лог чата (thx to mafikmail)
◆ мб live tv (thx to нуб2)
Доп. инфо
Дополнительные языкиДополнительный
язык добавить очень просто - возьмите один из существующих в папке
\inc\languages\, переведите его и положите измененный с соответствующим
именем (например, ru.ini). Было бы неплохо выкладывать их в теме и я их
буду добавлять в релиз.
Изображения к картамСобрана
неплохая коллекция изображений к картам. Но, естественно, не всех
существующих карт. Что бы добавить изображение - достаточно положить ее в
папку \images\maps\ с названием карты в нижнем регистре (!) и
расширением только jpg (например, de_dust.jpg)! Желательно размер
изображения 160х120 или его производные (легко делается из 1024x768 или
1280х1024). Выкладываем свои паки изображений здесь - будем добавлять в
релизы.
Изображение к графику коннектовЕсли вас
чем-то не устраивает текущее изображение (а оно не устраивает и меня ) -
его можно легко поменять. Замените файл \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 ... " не нужно!
ЗЫЫ: принимается
аргументированная критика, предложения и замечания
Скачать: Server Stat System