- Автор
- Совместимость с
- Amx Mod X 1.9.0
- Благодарности
В данной теме сделаем анализ посещаемости сервера на основе данных от клиентов, а точнее их геопозиции, протоколов и эмуляторов.
Настраиваем Reunion
Мы откроем все протоколы и эмуляторы, чтобы отследить их популярность у игроков и потом, после анализа данных, закрыть с чистой совестью старые, уязвимые и мало используемые.
Собираем логи
Мы можем собирать лог в 1 файл, либо создавать отдельные файлы на каждый день. Я выбрал создание файла каждый день, чтобы получить тенденцию изменения нужных мне данных.
За выбор способа логирования у нас отвечают строки 94-95 в плагине
Логирование по дням (рекомендую исп. его), расскоментировать строку 94 и закомментировать 95
Осваиваем Excel
Наша таблица будет состоять из 3 частей:
Для отсеивания повторений использовался сервис http://textmechanic.com/text-tools/basic-text-tools/remove-duplicate-lines/ или используем формулу
* У нас могут быть строки, где будет общий IP, но разный SteamID, я решил не избавляться от них, т.к. нет уверенности, что это один и тот же игрок.
1. Открывает первый лог в новом окне
3. Создаем новый лист, который будет содержать в себе все данные по всем дням, но не забудем отфильтровать это все на дубли
4. Начинаем строить графики на новом листе по нужным нам показателям
Не забываем, что для привязки диапазона данных, нам надо указать лист, откуда мы их берем
Построим графики по геолокации
Диапазон данных возьмем с листа, где собраны данные по всем дням сразу (у нас он назван без дублей (all time))
Диапазон данных для 2-х графиков по странам укажем так
Для графика Популярности протоколов:
Отобразим популярность эмуляторов
Сделаем для себя подсказку по клиентам, у которых старый протокол, эти числа надо будет вычесть из показателей графика "Популярность протоколов клиента" на первом скрине, т.к. нас не интересуют такие игроки на сервере и мы потом закроем эти протоколы в reunion
Отобразим кол-во заходом по каждой стране в паре с эмулятором
Для этого используем формулу, которую вставим в каждую первую ячейку на пересечении страна=>эмулятор
Расшифровка для понимания
"" & B$59 - это значит, что берем название эмулятора из ячейки
Потом просто растягиваем формулу вниз и получаем все значения, так повторяем в каждом столбце, но не забываем сменить букву ячейки с названием эмулятора
*Совет, чтобы быстро получить весь список стран или эмуляторов - используем формулу
Теперь задействуем наши листы, где собраны данные по каждому отдельному дню и построим график посещаемости по дням
Для этого создадим таблицу "Дата и Эмуляторы" и в ячейках подсчета сделаем формулу
Повторим тоже самое, но для таблицы "Даты и Страны"
Формула
Анализируя эти данные и графики мы можем отследить, какие протоколы у нас не популярны и могут быть закрыты, с каких стран к нам идут люди и что нам подсовывает раскрутка, как популярен сервер у стимов и нон стимов, популярность сервера по дням из конкретных стран.
- Для этого нам понадобится актуальная база GeoIP - скачать и положить файл в amxmodx/data/, а потом полностью перезапустить сервер.
- Сделать нужные настройки Reunion
- Создать новую гугл таблицу, моих навыков не хватило на что-то большее xD
Настраиваем Reunion
Мы откроем все протоколы и эмуляторы, чтобы отследить их популярность у игроков и потом, после анализа данных, закрыть с чистой совестью старые, уязвимые и мало используемые.
Код:
cid_Steam = 1
cid_SteamPending = 3
cid_HLTV = 7
cid_NoSteam47 = 2
cid_NoSteam48 = 2
cid_RevEmu = 1
cid_RevEmu2013 = 1
cid_SC2009 = 1
cid_OldRevEmu = 1
cid_SteamEmu = 1
cid_AVSMP = 1
cid_Setti = 3
cid_SXEI = 1
cid_SSE3 = 1
Собираем логи
Мы можем собирать лог в 1 файл, либо создавать отдельные файлы на каждый день. Я выбрал создание файла каждый день, чтобы получить тенденцию изменения нужных мне данных.
За выбор способа логирования у нас отвечают строки 94-95 в плагине
Логирование по дням (рекомендую исп. его), расскоментировать строку 94 и закомментировать 95
Код:
formatex(szFile, charsmax(szFile), "%s/%s", szLogsDir, szTime);
// formatex(szFile, charsmax(szFile), "%s/%s", szLogsDir, "STATS.csv");
Осваиваем Excel
Наша таблица будет состоять из 3 частей:
- Графики
- Отсортированные данные от дубликатов за все время
- Данные по каждому дню без дубликатов
Для отсеивания повторений использовался сервис http://textmechanic.com/text-tools/basic-text-tools/remove-duplicate-lines/ или используем формулу
UNIQUE
в таблице* У нас могут быть строки, где будет общий IP, но разный SteamID, я решил не избавляться от них, т.к. нет уверенности, что это один и тот же игрок.
1. Открывает первый лог в новом окне
выделяем все и копируем в сервис для отсеивания дублей
возвращаемся в таблицу и вставляем отфильтрованные данные в 1 день
2. Повторяем для каждого дня, создавая новый лист=новому дню3. Создаем новый лист, который будет содержать в себе все данные по всем дням, но не забудем отфильтровать это все на дубли
4. Начинаем строить графики на новом листе по нужным нам показателям
Не забываем, что для привязки диапазона данных, нам надо указать лист, откуда мы их берем
Построим графики по геолокации
Диапазон данных возьмем с листа, где собраны данные по всем дням сразу (у нас он назван без дублей (all time))
Диапазон данных для 2-х графиков по странам укажем так
'без дублей (all time)'!E:E
Для графика Популярности протоколов:
'без дублей (all time)'!C:C
Отобразим популярность эмуляторов
'без дублей (all time)'!D:D
Сделаем для себя подсказку по клиентам, у которых старый протокол, эти числа надо будет вычесть из показателей графика "Популярность протоколов клиента" на первом скрине, т.к. нас не интересуют такие игроки на сервере и мы потом закроем эти протоколы в reunion
Код:
cid_NoSteam47 = 5
cid_NoSteam48 = 5
Отобразим кол-во заходом по каждой стране в паре с эмулятором
Для этого используем формулу, которую вставим в каждую первую ячейку на пересечении страна=>эмулятор
=COUNTIFS('без дублей (all time)'!$D:$D; "" & B$59; 'без дублей (all time)'!$E:$E; "" & $A60)
Расшифровка для понимания
"" & B$59 - это значит, что берем название эмулятора из ячейки
B59
и проверяем его на страницы без дублей (all time)
по колонке D
, так же поступаем со страной.Потом просто растягиваем формулу вниз и получаем все значения, так повторяем в каждом столбце, но не забываем сменить букву ячейки с названием эмулятора
*Совет, чтобы быстро получить весь список стран или эмуляторов - используем формулу
=UNIQUE('без дублей (all time)'!E:E)
Теперь задействуем наши листы, где собраны данные по каждому отдельному дню и построим график посещаемости по дням
Для этого создадим таблицу "Дата и Эмуляторы" и в ячейках подсчета сделаем формулу
= COUNTIFS('01.08.17'!$D:$D; "" & B$120)
Повторим тоже самое, но для таблицы "Даты и Страны"
Формула
= COUNTIFS('01.08.17'!$E:$E; "" & B$156)
Анализируя эти данные и графики мы можем отследить, какие протоколы у нас не популярны и могут быть закрыты, с каких стран к нам идут люди и что нам подсовывает раскрутка, как популярен сервер у стимов и нон стимов, популярность сервера по дням из конкретных стран.