SA-MP Forums Archive
NetStats_MessagesReceived - краш сервера - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: NetStats_MessagesReceived - краш сервера (/showthread.php?tid=495149)



NetStats_MessagesReceived - краш сервера - x_O - 16.02.2014

Добрый день!

Функция NetStats_MessagesReceived в односекундном таймере крашит сервер.
Крашы происходили и раньше (в 0.3x), когда приходилось парсить данные GetPlayerNetworkStats

Код:
pawn Code:
var = NetStats_MessagesReceived(i);
    if(var - MessagesCount[i] > 1000) {
        printf("playerid: %i, messagesReceived: %i messagesCount %i", i, var, MessagesCount[i]);
        Ban(i);
        continue;
    }
    else MessagesCount[i] = var;
[15/02/14 16:23:52] [debug] Server crashed while executing GameMode.amx
[15/02/14 16:23:52] [debug] AMX backtrace:
[15/02/14 16:23:52] [debug] #0 native NetStats_MessagesReceived () [080d9ec0] from samp03svr
[15/02/14 16:23:52] [debug] #1 000ebe50 in public TimerOneSecond () from GameMode.amx
[15/02/14 16:23:52] [debug] Native backtrace:
[15/02/14 16:23:52] [debug] #0 006d360b in _ZN10StackTraceC1EPv () from plugins/crashdetect.so
[15/02/14 16:23:52] [debug] #1 006cae92 in _ZN11CrashDetect20PrintNativeBacktraceEPv () from plugins/crashdetect.so
[15/02/14 16:23:52] [debug] #2 006cc8d9 in _ZN11CrashDetect11OnExceptionEPv () from plugins/crashdetect.so
[15/02/14 16:23:52] [debug] #3 006d32a0 in ?? () from plugins/crashdetect.so
[15/02/14 16:23:52] [debug] #4 00d8c410 in ?? ()
[15/02/14 16:23:52] [debug] #5 08082a46 in ?? () from ./samp03svr
[15/02/14 16:23:52] [debug] #6 0807e43c in ?? () from ./samp03svr
[15/02/14 16:23:52] [debug] #7 0806fd49 in ?? () from ./samp03svr
[15/02/14 16:23:52] [debug] #8 080d9f08 in ?? () from ./samp03svr
[15/02/14 16:23:52] [debug] #9 08093d84 in ?? () from ./samp03svr
[15/02/14 16:23:52] [debug] #10 006ca5fc in _ZN11CrashDetect13DoAmxCallbackEiPiS0_ () from plugins/crashdetect.so
[15/02/14 16:23:52] [debug] #11 006cf15c in ?? () from plugins/crashdetect.so
[15/02/14 16:23:52] [debug] #12 006d764d in amx_Exec () from plugins/crashdetect.so
[15/02/14 16:23:52] [debug] #13 006ccabb in _ZN11CrashDetect9DoAmxExecEPii () from plugins/crashdetect.so
[15/02/14 16:23:52] [debug] #14 006cf100 in ?? () from plugins/crashdetect.so
[15/02/14 16:23:52] [debug] #15 080e57a5 in ?? () from ./samp03svr
[15/02/14 16:23:52] [debug] #16 080acedb in ?? () from ./samp03svr
[15/02/14 16:23:52] [debug] #17 080a81ae in ?? () from ./samp03svr
[15/02/14 16:23:52] [debug] #18 001cece6 in __libc_start_main () from /lib/libc.so.6
[15/02/14 16:23:52] [debug] #19 0804b4a1 in ?? () from ./samp03svr


Re: NetStats_MessagesReceived - краш сервера - x_O - 16.02.2014

Почему?


Re: NetStats_MessagesReceived - краш сервера - DartfoL - 16.02.2014

Лучше об этом сообщить в иностранный раздел Bug reports


Re: NetStats_MessagesReceived - краш сервера - ][Noname][ - 16.02.2014

пробуй проверять перед проверкой этим
NetStats_ConnectionStatus


Re: NetStats_MessagesReceived - краш сервера - ][Noname][ - 18.02.2014

Подтверждаю
Вызывает краш также как и GetPlayerNetworkStats


Re: NetStats_MessagesReceived - краш сервера - cm666 - 18.02.2014

Это бывает рандомно или при какихто случаях ?


Re: NetStats_MessagesReceived - краш сервера - ][Noname][ - 18.02.2014

Это рандомно и на столько редко что невозможно выяснить с чем это связано, т.е. раз в секунду на пару сотен человек она проверяется, и может раз в неделю только вызывать краш

т.к. ракнет идёт в отдельном потоке, то видимо это проблема многопоточности
отсутствие мьютексов все дела


Re: NetStats_MessagesReceived - краш сервера - ][Noname][ - 20.02.2014

NetStats_ConnectionStatus
не поможет


Re: NetStats_MessagesReceived - краш сервера - x_O - 12.03.2014

Я удалил функцию NetStats_MessagesReceived.

Теперь функция NetStats_BytesReceived вызывает аналогичную проблему


pawn Code:
for(new i, m = GetMaxPlayers(); i < m; i ++) {
        if(!IsPlayerConnected(i)) continue;

        f_var[1] = NetStats_BytesReceived(i);
        if(f_var[1] - BytesCount[i] > 7500) {
            Ban(i);
            continue;
        }
        else BytesCount[i] = f_var[1];
        ...
    }

[debug] Server crashed while executing GameMode.amx
[debug] AMX backtrace:
[debug] #0 native NetStats_BytesReceived () [080d9f60] from samp03svr
[debug] #1 000f0008 in public TimerOneSecond () from GameMode.amx
...




p.s. Я бы не использовал эти функции, но как защититься от дос атак?


Re: NetStats_MessagesReceived - краш сервера - Stepashka - 12.03.2014

Quote:
Originally Posted by x_O
View Post
Я удалил функцию NetStats_MessagesReceived.

Теперь функция NetStats_BytesReceived вызывает аналогичную проблему


pawn Code:
for(new i, m = GetMaxPlayers(); i < m; i ++) {
        if(!IsPlayerConnected(i)) continue;

        f_var[1] = NetStats_BytesReceived(i);
        if(f_var[1] - BytesCount[i] > 7500) {
            Ban(i);
            continue;
        }
        else BytesCount[i] = f_var[1];
        ...
    }

[debug] Server crashed while executing GameMode.amx
[debug] AMX backtrace:
[debug] #0 native NetStats_BytesReceived () [080d9f60] from samp03svr
[debug] #1 000f0008 in public TimerOneSecond () from GameMode.amx
...




p.s. Я бы не использовал эти функции, но как защититься от дос атак?
ИМХО сама идея того что досер будет в это время находиться на сервере абсурдна.


Re: NetStats_MessagesReceived - краш сервера - Jon_De - 12.03.2014

Quote:
Originally Posted by Stepashka
View Post
ИМХО сама идея того что досер будет в это время находиться на сервере абсурдна.
А где ему еще находиться?


Re: NetStats_MessagesReceived - краш сервера - Makar93 - 12.03.2014

Quote:
Originally Posted by Jon_De
View Post
А где ему еще находиться?
Разные досеры бывают, для некоторых достаточно IP сервера. А отследить кучу пакетов с одного и того же IP клиента уже сложнее чем с конкретного игрока.


Re: NetStats_MessagesReceived - краш сервера - x_O - 12.03.2014

В 0.3z обновляли защиту. Кто-нибудь проверял, работает ли она от пакетов, чтобы убрать из мода самописную защиту, которую я выкладывал выше?


Re: NetStats_MessagesReceived - краш сервера - cm666 - 12.03.2014

У меня неделю назад был жесткий флуд Packet was modified, sent by id и сервер не кикнул игрока. Те внутреная защита сампа не сработала почемуто.


Re: NetStats_MessagesReceived - краш сервера - ][Noname][ - 12.03.2014

Quote:
Originally Posted by x_O
View Post
В 0.3z обновляли защиту. Кто-нибудь проверял, работает ли она от пакетов, чтобы убрать из мода самописную защиту, которую я выкладывал выше?
уже больше года работает эта защита