Перейти к содержанию
Авторизация  
NIKITA_BULANOV

Защита от пакетов UDP

Рекомендуемые сообщения

NIKITA_BULANOV


forward NetworkUpdate();
public NetworkUpdate()
{
static stats[300], idx, pos, msgs;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
idx = 0;
GetPlayerNetworkStats(i, stats, sizeof(stats));
pos = strfind(stats, "Messages received: ", false, 209);//209 - минимальная позиция "Messages received" в строке
msgs = strval(strtok(stats[pos+19], idx));
if(msgs - MessagesCount[i] - OtherMessages[i] > MAX_MESSAGES && msgs > 2000)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(i, pname, sizeof(pname));
printf("%s[id:%d] banned for UDP flood (%d packets)", pname, i, msgs - MessagesCount[i] - OtherMessages[i]);
BanEx(i, "UDP flood");
}
MessagesCount[i] = msgs;
OtherMessages[i] = 0;
}
}
}


NetworkUpdate();
UpdateUnOccupiedVehicleCoords();
return 1;
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

Для чего второй кусок кода?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vlad_Miroshnicov

@Alonso,Как я понял второй кусок в таймер... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

, будет краш павно, из за то что лишняя скобка, + он не добавил переменные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#3G

 24 Июн 2017 09:18  

Мне кажется не актуально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

 

Если вырезаешь, вырезай нормально. И показывай с объяснением кода как использовать.

Изменено пользователем Wеb

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.