Текущая версия статы: 1.5.final
Вот наконец доработал свою стату, решил выложить на общий суд. Сама статистика разрабатывалась для себя пару лет назад, но была брошена недоделаной, сейчас немного доработал и вышло то, что вышло.
А именно: Мониторинг сервера Банлист (не только список банов, но и проверка пользователя по базе при заходе на сервер - 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 - перезагружает конфиг плагина
Комманды работают как из консоли админа, так и из консоли сервера.
Частые "подводные" камни и некоторые замечания 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 Первый релиз.
Доп. инфо Дополнительные языки Дополнительный язык добавить очень просто - возьмите один из существующих в папке inclanguages, переведите его и положите измененный с соответствующим именем (например, ru.ini). Было бы неплохо выкладывать их в теме и я их буду добавлять в релиз.
Изображения к картам Собрана неплохая коллекция изображений к картам. Но, естественно, не всех существующих карт. Что бы добавить изображение - достаточно положить ее в папку imagesmaps с названием карты в нижнем регистре (!) и расширением только jpg (например, de_dust.jpg)! Желательно размер изображения 160х120 или его производные (легко делается из 1024x768 или 1280х1024). Выкладываем свои паки изображений здесь - будем добавлять в релизы.
Изображение к графику коннектов Если вас чем-то не устраивает текущее изображение (а оно не устраивает и меня ) - его можно легко поменять. Замените файл imagesspecialgraphfon.jpg на свой, но изображение обязательно должно быть jpg с размерами 600x300, иначе не гарантируется корректная работа графика. После изменения не забываем удалить кеш из папки incsmartycache. Так же выкладываем свои варианты в топике - понравившийся поставлю в релиз
Шаблоны скрипта Если чесно, мне было влом делать еще шаблоны. Кто знает что такое smarty (а использован именно он в качестве шаблонизатора) - не составит большого труда поделать свои шаблоны. Кто не знает - может разобраться, ничего сложного нету и манов в нете куча (офф сайт с документацией: http://www.smarty.net/documentation ). Естественно, выкладываем свои шаблоны в теме - буду добавлять в релизы.
Если вам необходимо поменять установочные парметры (например, подключение к базе или шаблон) после установки - они лежат в файле incconfig.php
Баги Если нашли какие-то баги - пишем здесь и будем их решать.
Скриншоты
|