Иконка ресурса

amxx reapi Аналитика посещаемости сервера 0.1с

Нет прав для скачивания
Автор
Совместимость с
Amx Mod X 1.9.0
Благодарности
Adidasman, Алексеич, SonG, Javekson за сбор и предоставление логов для аналитики
В данной теме сделаем анализ посещаемости сервера на основе данных от клиентов, а точнее их геопозиции, протоколов и эмуляторов.

  1. Для этого нам понадобится актуальная база GeoIP - скачать и положить файл в amxmodx/data/, а потом полностью перезапустить сервер.
  2. Сделать нужные настройки Reunion
  3. Создать новую гугл таблицу, моих навыков не хватило на что-то большее 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 частей:
  1. Графики
  2. Отсортированные данные от дубликатов за все время
  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
AMB4Ew9.png




Отобразим популярность эмуляторов 'без дублей (all time)'!D:D

e7xG3Go.png



Сделаем для себя подсказку по клиентам, у которых старый протокол, эти числа надо будет вычесть из показателей графика "Популярность протоколов клиента" на первом скрине, т.к. нас не интересуют такие игроки на сервере и мы потом закроем эти протоколы в reunion
Код:
cid_NoSteam47 = 5
cid_NoSteam48 = 5

9t7SdDB.png



Отобразим кол-во заходом по каждой стране в паре с эмулятором
Для этого используем формулу, которую вставим в каждую первую ячейку на пересечении страна=>эмулятор =COUNTIFS('без дублей (all time)'!$D:$D; "" & B$59; 'без дублей (all time)'!$E:$E; "" & $A60)
Расшифровка для понимания
"" & B$59 - это значит, что берем название эмулятора из ячейки B59 и проверяем его на страницы без дублей (all time) по колонке D, так же поступаем со страной.
Потом просто растягиваем формулу вниз и получаем все значения, так повторяем в каждом столбце, но не забываем сменить букву ячейки с названием эмулятора
*Совет, чтобы быстро получить весь список стран или эмуляторов - используем формулу =UNIQUE('без дублей (all time)'!E:E)

u515Jut.png



Теперь задействуем наши листы, где собраны данные по каждому отдельному дню и построим график посещаемости по дням
Для этого создадим таблицу "Дата и Эмуляторы" и в ячейках подсчета сделаем формулу = COUNTIFS('01.08.17'!$D:$D; "" & B$120)

XpuG63O.png




Повторим тоже самое, но для таблицы "Даты и Страны"
Формула = COUNTIFS('01.08.17'!$E:$E; "" & B$156)

FClRn0o.png









Анализируя эти данные и графики мы можем отследить, какие протоколы у нас не популярны и могут быть закрыты, с каких стран к нам идут люди и что нам подсовывает раскрутка, как популярен сервер у стимов и нон стимов, популярность сервера по дням из конкретных стран.
  • Нравится
Реакции: AmDmKo
Автор
Tranquillity
Скачиваний
158
Просмотры
5K
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Tranquillity

Сверху Снизу