Server Stat System

Архів · 2011 Файл втрачено rast1k Моди 2 211

Архівний матеріал ya-cs.ru (2011). Російською. Плагіни й збірки можуть не працювати з ReHLDS та AMXX 1.10.

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

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

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

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

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

Зачем переделан admincmd.amxx?
А затем, что бы работали баны. Весь функционал файла сохранен, ничего не вырезано, и, собстенно, в оригинале изменено ровно 3 строчки, которые общую картину файла не меняют. Можете сами сравнить оригинал и исходник, который прилагается, – ничего левого и скрытого не добавлено. Особо недоверчивые могут даже сами скомпилировать прилагаемый исходник :1:

Установка

Требования к 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 или его производные (легко делается из 1024×768 или 1280х1024). Выкладываем свои паки изображений здесь – будем добавлять в релизы.

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

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

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

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

Скриншоты
122.jpg
222.jpg322.jpg422.jpg522.jpg622.jpg722.jpg822.jpg

Вроде бы все. Приятного пользования и следите за обновлениями!

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

ЗЫЫ: принимается аргументированная критика, предложения и замечания

Скачать: Server Stat Systemсервіс закрито

Мітки:

Коментарі 9

Ваш коментар

Коментар з’явиться після перевірки. E-mail не публікується.