Всем привет, я не давно наткнулся на ддос атаку, и она была в стиле ботов. Долго я не думая я начал искать защиту, и решил по делиться с вами.
Это сколько макс айпи может быть в онлайне на сервере ко всем #define
#define MAX_IP 2//АнтиБот
Это проверка на айпи если лимит превышаться он банит В OnPlayerConnect
new connect_ip[32+1];//АнтиБот
GetPlayerIp(playerid,connect_ip,32);
new num_ip = GetNumberOfPlayersOnThisIP(connect_ip);
if(num_ip > MAX_IP)
{
//Kick(playerid);
Ban(playerid);
return 1;
}
Создаем новый сток
stock GetNumberOfPlayersOnThisIP(test_ip[])//АнтиБот
{
new against_ip[32+1];
//new x = 0;
new ip_count = 0;
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
GetPlayerIp(i,against_ip,32);
if(!strcmp(against_ip,test_ip)) ip_count++;
}
}
return ip_count;
}
Автор: Ben_Vladen
Это сколько макс айпи может быть в онлайне на сервере ко всем #define
#define MAX_IP 2//АнтиБот
Это проверка на айпи если лимит превышаться он банит В OnPlayerConnect
new connect_ip[32+1];//АнтиБот
GetPlayerIp(playerid,connect_ip,32);
new num_ip = GetNumberOfPlayersOnThisIP(connect_ip);
if(num_ip > MAX_IP)
{
//Kick(playerid);
Ban(playerid);
return 1;
}
Создаем новый сток
stock GetNumberOfPlayersOnThisIP(test_ip[])//АнтиБот
{
new against_ip[32+1];
//new x = 0;
new ip_count = 0;
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
GetPlayerIp(i,against_ip,32);
if(!strcmp(against_ip,test_ip)) ip_count++;
}
}
return ip_count;
}
Автор: Ben_Vladen
Последнее редактирование модератором: