[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 );