07.11.2013, 15:53
Хай всем! Подскажите код для проверки пакетов, которые отправляет или получает игрок(способ защиты от Dos). Видел где-то через Messages received или Messages sent
new Bytes[MAX_PLAYERS];//при коннекте чистить Bytes !
forward NET();//В секундный таймер
public NET()
{
new pack[1024],pa[12];
for(new playerid=MAX_PLAYERS;playerid--;)if(IsPlayerConnected(playerid))
{
GetPlayerNetworkStats(playerid,pack,sizeof(pack));
new packet=strfind(pack,"Bytes received:")+16;
strmid(pa,pack,packet,packet+12);
packet=strval(pa);
if((packet-Bytes[playerid]) > 3000)//3000 изменить на ваше желаемое.
{
Kick(playerid);
print("Paket");
}
Bytes[playerid]=packet;
}
}