Skip to forum content

You are not logged in. Please login or register.


forums.pvpgn.pro → [RU] The Source Code → [Solved] Логирование команд

Pages 1

You must login or register to post a reply

RSS topic feed

Posts: 7

1

Topic: [Solved] Логирование команд

Прошу прощения если было, поиском не пользовался, потому что не знаю, как искать.

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

Конкретный пример: какой-то нехороший человек с админскими правами выключает сервер, в итоге в bnetd.log вижу: main: server has shut down
А в логах каналов ничего криминального.

В общем, вопрос в следующем:
1. может быть я чего-то не понимаю, и все это пишется или можно включить чтобы писалось?
2. может ли кто-нибудь подсказать место куда вписать логирование всех команд, а еще лучше только тех, которые не пишутся в логи существующих каналов? Лучше всего в виде готового патча, но можно и просто место, куда вписать пару sprintf'ов самому. В крайнем случае, буду копать сам, но это время, а с ним на данный момент большие проблемы...

2

Re: [Solved] Логирование команд

Сервер на линуксе стоит?

cd /usr/local/pvpgn/sbin
./bnetd

less /usr/local/pvpgn/var/bnetd.log

3

Re: [Solved] Логирование команд

iltmpz, если тебе нужен лог комманд, то лучше именно его и сделать. Тебе, наверно, будет достаточно лога админских комманд.

4

Re: [Solved] Логирование команд

WarikoZ, спасибо, однако ты вообще читал, о чем я спрашиваю?

Есть логи того, что юзеры пишут в чате, типа:
Aug 27 01:35:29: "имя_юзера" "/w имя_юзера сообщение"
Aug 27 01:35:41: "имя_юзера" "/games"
Aug 27 01:36:11: "имя_юзера" PARTED
Aug 27 01:36:18: "имя_юзера" "сообщение"

Но это пишется в файлы вроде: chanlog-20120827010012-000010
Чтобы оно работало, надо включить в конфиге: chanlog = true
При этом, если юзер вошел на дефолтовый канал перед тем как писать в чат, то его сообщения срабатывают и записываются в файл chanlog этого канала. Если он перешел на новый левый канал, то создается новый chanlog-файл, в который пишется все, что он там написал. А вот если он вообще не сделал /channel или /join, то соответстенно его команды типа: "/w имя_юзера сообщение" отлично сработают, а вот в логах ничего не появтися. Аналогично, не появится ничего в логах, если он сделает "/shutdown".
Так вот я хочу иметь лог того, что не вошло в логи каналов, т.е. узнать, какой нехороший человек сделал "/shutdown".

К bnetd.log это никакого отношения не имеет. Там можно только увидеть, что "server has shut down".

Добавлено: 27.08.2012 01:59

xpeh wrote:

iltmpz, если тебе нужен лог комманд, то лучше именно его и сделать. Тебе, наверно, будет достаточно лога админских комманд.

Думаю да, а как это проще всего сделать? Может, уже есть какие-то наработки?

Добавлено: 27.08.2012 02:26

В общем, поковырялся, вроде все просто: в файле command.c в функции handle_command после проверок на "deactivated" и "reserved for admins" происходит собственно вызов команды.
Завтра воткну туда eventlog и посмотрю, что получится.
О результатах отпишусь.

5

Re: [Solved] Логирование команд

Воткни туда проверку на cg > 1 или по списку команд и логь.

Добавлено: 27.08.2012 14:35

WarikoZ, то, что он хочет, в логи не пишется.

6 (edited by iltmpz 31.08.2012 13:28)

Re: [Solved] Логирование команд

прошу прощения за задержку, в общем добавил:
command.c , функция handle_command , 530-я строчка (или где-то рядом):
Вставил в if 1 команду перед return:

          if (p->command_handler != NULL)
            {
              eventlog(eventlog_level_debug,__FUNCTION__,"User:  \"%s\", Message: %s", account_get_name(conn_get_account(c)), text);
              return ((p->command_handler)(c,text));
            }

Пишу в общий лог, чтобы не заморачиваться с созданием/открытием/закрытием отдельных файлов, тем более в режиме debug логи команд занимают не так много места.

7

Re: [Solved] Логирование команд

У нас оно в отдельный файл писалось.

2009-03-25 02:52:50 [OK] klesk /ipban

Posts: 7

Pages 1

You must login or register to post a reply

Who now at forum

Currently view post: 0 guests, 0 registered users

forums.pvpgn.pro → [RU] The Source Code → [Solved] Логирование команд