SA-MP Forums Archive
[AJUDA]Apenas Permitir 2 ips iguais no servidor - 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: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA]Apenas Permitir 2 ips iguais no servidor (/showthread.php?tid=341195)



[AJUDA]Apenas Permitir 2 ips iguais no servidor - [STR]Matrix - 09.05.2012

Ola galera eu queria tipo que so permitice 2 ips iguais no servidor e se entrar com mais de 2 ele da ban no player

Abraзos


Re: [AJUDA]Apenas Permitir 2 ips iguais no servidor - BreakDriFT - 09.05.2012

FS MaxIps vem com o samp
Configura nos defines

Pra que Banir So kickar ja Estб bom ^^

pawn Код:
// maxips FS limits the number of players connecting from a
// single IP address.

#include <a_samp>

#define MAX_CONNECTIONS_FROM_IP     2 // aqui configura o maximo de Ips iguais.

//---------------------------------------------

public OnFilterScriptInit()
{
    printf("\n*** Player IP limiting FS (maxips) Loaded. Max connections from 1 IP = %d\n",MAX_CONNECTIONS_FROM_IP);
}

//---------------------------------------------
// GetNumberOfPlayersOnThisIP
// Returns the number of players connecting from the
// provided IP address

stock GetNumberOfPlayersOnThisIP(test_ip[])
{
    new against_ip[32+1];
    new x = 0;
    new ip_count = 0;
    for(x=0; x<MAX_PLAYERS; x++) {
        if(IsPlayerConnected(x)) {
            GetPlayerIp(x,against_ip,32);
            if(!strcmp(against_ip,test_ip)) ip_count++;
        }
    }
    return ip_count;
}

//---------------------------------------------

public OnPlayerConnect(playerid)
{
    new connecting_ip[32+1];
    GetPlayerIp(playerid,connecting_ip,32);
    new num_players_on_ip = GetNumberOfPlayersOnThisIP(connecting_ip);
   
    if(num_players_on_ip > MAX_CONNECTIONS_FROM_IP) {
        printf("MAXIPs: Connecting player(%d) exceeded %d IP connections from %s.", playerid, MAX_CONNECTIONS_FROM_IP, connecting_ip);
        Ban(playerid); // como disse Aqui podera mudar para kick ou deixar ban mesmo ^^
        return 1;
    }

    return 0;
}
   
//---------------------------------------------



Re: [AJUDA]Apenas Permitir 2 ips iguais no servidor - [STR]Matrix - 09.05.2012

eu testei isso ae faz um tempo e num funfo n conectei 4 aqui no mesmo pc e nem kicko


Re: [AJUDA]Apenas Permitir 2 ips iguais no servidor - BreakDriFT - 09.05.2012

LOL , eu usava ele no meu server e Funcionava perfeitamente.

no Code acima ja Coloquei para Banir =)


Re: [AJUDA]Apenas Permitir 2 ips iguais no servidor - @Riichard - 09.05.2012

Й,na minha opniгo,se vocк estб sendo atacado por Bots.
Aconselho a colocar para banir.
Pois , um bot irб tomar kick,mais o outro irб conectar LOL.


Re: [AJUDA]Apenas Permitir 2 ips iguais no servidor - [STR]Matrix - 09.05.2012

Vlw break vou testar


Aqui um avatar pra vc





Re: [AJUDA]Apenas Permitir 2 ips iguais no servidor - kinhobryant - 10.05.2012

Matrix , mano eu vo te ajudar pq meu server sofria de bots, mas se vc usar o maxips como fs as vezes vai bugar . no entanto passe o maxips pro seu gm e defina para 2 conexoes q verб a diferenзa , ontem mesmo um invejoso tentou colocar bots no meu server so entrava 2 , dai ele parou pq n ia adiantar de nada .-.


Re: [AJUDA]Apenas Permitir 2 ips iguais no servidor - Jason` - 10.05.2012

Nгo testei meu cуdigo, mas teste-o.

pawn Код:
#include <a_samp>
   
CountPlayersWithIP(ip[])
{
    new
        count,
        player_ip[16];
    for(new i; i != GetMaxPlayers(); ++i)
    {
        if(IsPlayerConnected(i))
        {
            GetPlayerIp(i, player_ip, sizeof player_ip);
            count += (!strcmp(player_ip, ip, true)) ? 1 : 0;
        }
    }
    return count;
}

public OnPlayerConnect(playerid)
{
    new
        count_ip,
        player_ip[16];
       
    GetPlayerIp(playerid, player_ip, sizeof player_ip);
    count_ip = CountPlayersWithIP(player_ip);
    if(count_ip > 2)
    {
        return Ban(playerid);
    }
    return 1;
}



Re: [AJUDA]Apenas Permitir 2 ips iguais no servidor - Rick_DR - 10.05.2012

Ja alguem testou ? tambem fui atacado por botґs ja duas vezes, mas eu bani um deles e ai nao entrou mais !

EDIT: o primeiro foi testado por mim e funciona, so que tive de colocar logo no topo do

pawn Код:
public OnPlayerConnect(playerid)
{

    new connecting_ip[32+1];
    GetPlayerIp(playerid,connecting_ip,32);
    new num_players_on_ip = GetNumberOfPlayersOnThisIP(connecting_ip);
    if(num_players_on_ip > MAX_CONNECTIONS_FROM_IP)
    {
    printf("MAXIPs: Player conectado(%d) exedeu %d IP em ao mesmo tempo de %s.", playerid, MAX_CONNECTIONS_FROM_IP, connecting_ip);
    Kick(playerid); SendClientMessageToAll(COR_CEU, "Suspeito de BOT");
    return 1;
}



Re: [AJUDA]Apenas Permitir 2 ips iguais no servidor - Ricop522 - 10.05.2012

Quote:
Originally Posted by Pedro_Miranda
Посмотреть сообщение
Nгo testei meu cуdigo, mas teste-o.

pawn Код:
#include <a_samp>
   
CountPlayersWithIP(ip[])
{
    new
        count,
        player_ip[16];
    for(new i; i != GetMaxPlayers(); ++i)
    {
        if(IsPlayerConnected(i))
        {
            GetPlayerIp(i, player_ip, sizeof player_ip);
            count += (!strcmp(player_ip, ip, true)) ? 1 : 0;
        }
    }
    return count;
}

public OnPlayerConnect(playerid)
{
    new
        count_ip,
        player_ip[16];
       
    GetPlayerIp(playerid, player_ip, sizeof player_ip);
    count_ip = CountPlayersWithIP(player_ip);
    if(count_ip > 2)
    {
        return Ban(playerid);
    }
    return 1;
}
count += (!strcmp(player_ip, ip, true)) ? 1 : 0;
??
count += (!strcmp(player_ip, ip, true);

strcmp retorna a 1 ou a 0 jб.

if(count_ip > 2)
{
return Ban(playerid);
}
return 1;

gosta de usar ? : ( ?? )

return ( count_ip > 2 ? Ban(playerid) : 1 );