Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

Логгер количества игроков

yukish
сообщение 14.3.2014, 16:39
Сообщение #1
Стаж: 12 лет

Сообщений: 596
Благодарностей: 29
Полезность: 0

Есть ли такой плагин или другая программа для сервера.
Смысл в следующем - определить какое количество игроков на сервере в разное ремя и разных картах,
чтобы понять на каких картах максимальный онлайн, а на каких спад онлайна.
Вывод информации в log-файл.
Например:
14 марта 2014 09:10:36 de_dust2 = 14 игроков
14 марта 2014 09:20:36 de_dust2 = 12 игроков
14 марта 2014 09:30:36 de_dust2 = 11 игроков
14 марта 2014 09:40:36 de_inferno = 10 игроков
14 марта 2014 09:50:36 de_inferno = 9 игроков
14 марта 2014 10:00:36 de_inferno = 12 игроков

и так далее с интервалом 10 минут,
лучше чтобы интервал можно было задать в кварах числом минут, по умолчанию = 10 минут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Legenda
сообщение 14.3.2014, 16:42
Сообщение #2


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

извращенец
открой любой нормальный мониторинг
все это уже есть
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
yukish
сообщение 14.3.2014, 17:01
Сообщение #3
Стаж: 12 лет

Сообщений: 596
Благодарностей: 29
Полезность: 0

Они не дают возможность обновлять лог каждые 2-3 минуты (обычно 10 или 30 минут),
они часто глючат из-за ДДОС-атак, а нормальные мониторинги - вообще платные!
И ещё куча недостатков.
Зачем мне сторонние мониторинги, вместо того чтобы вести статистику прямо на сервере.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 9iky6
сообщение 14.3.2014, 17:02
Сообщение #4


Стаж: 14 лет

Сообщений: 143
Благодарностей: 47
Полезность: 260

Выпили из amxbans, в чем проблема? =) Точнее через rcon опрашивай сервер ;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
yukish
сообщение 14.3.2014, 17:11
Сообщение #5
Стаж: 12 лет

Сообщений: 596
Благодарностей: 29
Полезность: 0

Не умею пилить.
Логично чтобы это был амхх-плагин, но перерыв не нашол ни одного с таким функционалом.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 14.3.2014, 17:13
Сообщение #6
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

log_amx(" %d users",get_playersnum())

запили через get_players и get_mapname
ссылочка

http://amxxmodx.ru/core/amxmodxinc/10-get_...niya-karty.html

http://amxxmodx.ru/core/amxmodxinc/50-get_...eh-igrokov.html

через 5 минут и сам напишешь.

Отредактировал: csnet, - 14.3.2014, 17:14


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 14.3.2014, 17:14
Сообщение #7
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Пишет в файл playerLog.log каждые 10 минут.

Код:
#include <amxmodx>

#define PLUGIN "New Plug-In"
#define VERSION "0.1"
#define AUTHOR "serfreeman1337"

new mapName[32],logMsg[256]

public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)

get_mapname(mapName,31)
set_task(600.0,"LogEvent",.flags="b")
}

public LogEvent(){
formatex(logMsg,255,"%s = %d players",mapName,get_playersnum())
log_to_file("playerLog.log",logMsg)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 14.3.2014, 17:49
Сообщение #8


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

Меценат Меценат

gameme отлично с этим справляется, да и игрокам очень нравиться, советую заказать)



Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
yukish
сообщение 14.3.2014, 18:37
Сообщение #9
Стаж: 12 лет

Сообщений: 596
Благодарностей: 29
Полезность: 0

grishka444

Был бы бесплатный мониторинг - мог бы подумать!


Цитата(serfreeman1337 @ 14.3.2014, 18:14) *
Пишет в файл playerLog.log каждые 10 минут.

Код:
#include <amxmodx>

#define PLUGIN "New Plug-In"
#define VERSION "0.1"
#define AUTHOR "serfreeman1337"

new mapName[32],logMsg[256]

public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)

get_mapname(mapName,31)
set_task(600.0,"LogEvent",.flags="b")
}

public LogEvent(){
formatex(logMsg,255,"%s = %d players",mapName,get_playersnum())
log_to_file("playerLog.log",logMsg)
}


Спасибо, счас попробую!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 14.3.2014, 18:45
Сообщение #10
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

Код:
#include <amxmodx>

new pcvarTime

public plugin_init()
{
register_plugin("logging connections", "1.0", "Esecman")
pcvarTime = register_cvar("time_logging", "600.0") // значение в секундах
set_task(get_pcvar_float(pcvarTime), "log_function", 0, _, _, "b")
}

public log_function(id)
{
new szMap[32]
new iTime[32]
new iPlayers = get_playersnum()
get_mapname(szMap, 31)
get_time("%c",iTime,31)
log_to_file("connection_log.log", "%s %s = %d players.", iTime, szMap,iPlayers)
}


/UPD

time_logging "значение в секундах" // в amxx.cfg
Пишет в файл connection_log.log

З.Ы. Соответствует условию ТС'а

Отредактировал: Esecman, - 14.3.2014, 18:51
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
yukish
сообщение 15.3.2014, 11:15
Сообщение #11
Стаж: 12 лет

Сообщений: 596
Благодарностей: 29
Полезность: 0

serfreeman1337

Почему такая разница в задании параметров:
set_task(600.0,"LogEvent",.flags="b")
set_task(get_pcvar_float(pcvarTime), "log_function", 0, _, _, "b")

Отредактировал: yukish, - 15.3.2014, 14:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 15.3.2014, 14:50
Сообщение #12
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

У него время кваром можно задать и он не знает что можно опустить параметры в нативах.
@Esecman, а ты знаешь что log_to_file это тоже самое, что и log_amx, но только тут можно задать в какой файл логировать?
Я клоню к тому что log_to_file записывает и время лога и всякие
Код:
new iTime[32]
get_time("%c",iTime,31)

не нужны. Твой код делает так:
Код
L 03/15/2014 - 17:47:20: 03/15/14 17:47:20 de_seaside = 1 players.

LOL
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 15.3.2014, 16:45
Сообщение #13
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

Цитата(serfreeman1337 @ 15.3.2014, 15:50) *
У него время кваром можно задать и он не знает что можно опустить параметры в нативах.
@Esecman, а ты знаешь что log_to_file это тоже самое, что и log_amx, но только тут можно задать в какой файл логировать?
Я клоню к тому что log_to_file записывает и время лога и всякие
Код:
new iTime[32]
get_time("%c",iTime,31)

не нужны. Твой код делает так:
Код
L 03/15/2014 - 17:47:20: 03/15/14 17:47:20 de_seaside = 1 players.

LOL

просто как бэ он должен выводить полную дату (15 марта и т.д.)
спасибо за пост, не тестировал =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 15.3.2014, 16:54
Сообщение #14


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

grishka444, это есть и в HLstats на котором и сделана gameme
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
yukish
сообщение 16.3.2014, 13:22
Сообщение #15
Стаж: 12 лет

Сообщений: 596
Благодарностей: 29
Полезность: 0

serfreeman1337

Ваш логгер отлично работает!!!
Если не сложно реализовать, то можно поправить вывод на более удобный.
Идея такая - привязка к "имени карты". Если имя карты = предыдущей, то через 5 минут выводить только цифру (количество игроков),
если имя карты изменилось - то дополнительно вывести серверное время и название карты.
Каждая новая циферка через 3 пробела или через табуляцию, для выравнивания.
Чем дольше карта была не измененялась - тем больше значений будет в этой строчке.

Вот так:

Код
L 03/16/2014 - 09:23:30: de_dust2_2x2
6   8   10   8   11   12

L 03/16/2014 - 09:45:55: de_inferno_2x2
14   11   10   8   10   12  14  15  12

L 03/16/2014 - 10:24:18: de_nuke
14   12   8   8   10

L 03/16/2014 - 10:43:30: de_dust
12   10   7   6   8   10   8   11   12


Отредактировал: yukish, - 16.3.2014, 13:23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
yukish
сообщение 17.3.2014, 21:12
Сообщение #16
Стаж: 12 лет

Сообщений: 596
Благодарностей: 29
Полезность: 0

serfreeman1337

Такая реализация сильно усложняет??
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя X*CaHeK*X
сообщение 17.3.2014, 21:21
Сообщение #17
Стаж: 17 лет

Сообщений: 705
Благодарностей: 225
Полезность: 561

Не вчитывался в тему, но вроде бы нашел что-то похожее и уже существующее...
emptyserver_onemap.amxx
Вот так это выглядит на примере:

Map - Rounds Played - Total Players
de_dust2_2x2 71548 144409
aim_usp 1978 8239
de_inferno 1779 4733
fy_snow 1353 3140
awp_india 19123 52261
cs_assault 80 297
aim_map_deagle 3241 8326
35hp_2 64 111
fy_pool_day 3153 7977
aim_headshot 8165 22713
de_dust_arena 2539 5361
de_forge 88 20
aim_map 6297 18388
de_nuke 450 903
de_dust2 82 188
de_clan1_mill 220 420
de_tuscan 140 229
de_mirage 63 108
cs_mansion 1352 3539
awp_india2 34 58
aim_map_usp 3780 10182
de_dust 563 1459
de_cbble 55 79
de_train 224 580
aim_deagle5 3437 7896
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 17.3.2014, 21:33
Сообщение #18
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Реально ли логировать коннекты, но не пускать их на сервер? Т.е. пока идёт выполнение public client_authorized(id) мы в файл всё пишем и кикаем?
А то dproto быстрее срабатывает и хз как быть...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя S0m3Th1nG_AwFul!
сообщение 17.3.2014, 21:38
Сообщение #19
Стаж: 15 лет

Сообщений: 454
Благодарностей: 323
Полезность: 961

Цитата(exec1337 @ 17.3.2014, 23:33) *
Реально ли логировать коннекты, но не пускать их на сервер? Т.е. пока идёт выполнение public client_authorized(id) мы в файл всё пишем и кикаем?
А то dproto быстрее срабатывает и хз как быть...

Самая ранняя стадия соединения, которую можно отследить на чистом AMXX - это client_connect(). DProto же срабатывает гарантированно раньше.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 17.3.2014, 21:40
Сообщение #20
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Цитата(S0m3Th1nG_AwFul! @ 17.3.2014, 22:38) *
Самая ранняя стадия соединения, которую можно отследить на чистом AMXX - это client_connect(). DProto же срабатывает гарантированно раньше.

Нерешаемо?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: