Urgente para evitar mas de 1 conexion
#1

Hola a todos. Necesito que me pasaran un codigo para evitar que la gente haga multicuenta. Por ejemplo que solo pueda entrar al servidor 1 ip.

Por ejemplo si alguien tiene 2 pcs en casa que si entra con su pc A no pueda entrar con su pc B hasta que el pc A se desconecte.

їMe entienden?
Reply
#2

si miras la carpeta filterscritps x defecto viene un fs para eso llamado 'maxips'
Reply
#3

No me sirve. Me estan atacando con bots con un programa que genera bots y no puedo pararlos, Si les baneo cambian su ip y vuelven al ataque.

Es un programa que pueden poner el nombre que quieran al bot.

Les dejo un log


Quote:

[22:39:05] -------------------------------------------------------------------------------
[22:39:05] Number of vehicle models: 84
[22:39:14] OnPlayerUpdate();
[22:39:16] Incoming connection: 127.0.0.1:4178
[22:39:20] OnPlayerUpdate();
[22:39:20] OnPropTextdrawUpdate()
[22:39:20] [join] Bot_Uno3 has joined the server (0:127.0.0.1)
[22:39:20] [part] Bot_Uno3 has left the server (0:2)
[22:39:23] Incoming connection: 127.0.0.1:4179
[22:39:23] [join] Bot_Uno3 has joined the server (0:127.0.0.1)
[22:39:23] [part] Bot_Uno3 has left the server (0:2)
[22:39:25] Incoming connection: 127.0.0.1:4180
[22:39:25] [join] Bot_Uno3 has joined the server (0:127.0.0.1)
[22:39:25] [part] Bot_Uno3 has left the server (0:2)
[22:39:27] Incoming connection: 127.0.0.1:4181
[22:39:27] [join] Bot_Uno3 has joined the server (0:127.0.0.1)
[22:39:27] [part] Bot_Uno3 has left the server (0:2)
[22:39:30] Incoming connection: 127.0.0.1:4182
[22:39:30] [join] Bot_Uno3 has joined the server (0:127.0.0.1)
[22:39:30] [part] Bot_Uno3 has left the server (0:2)
[22:39:32] Incoming connection: 127.0.0.1:4183
[22:39:32] [join] Bot_Uno3 has joined the server (0:127.0.0.1)
[22:39:32] [part] Bot_Uno3 has left the server (0:2)
[22:39:35] --- Server Shutting Down.

Reply
#4

Hace mucho, un chamo habia dicho lo mismo, the_chaoz inventу este codigo (no estoy seguro) que es muy bueno, aqui va:

pawn Код:
//dentro de OnPlayerConnect:
if(IsPlayerNPC(playerid)){
    new pip[16];
    GetPlayerIp(playerid, pip, 16);
    if(strcmp(pip, "127.0.0.1"))return Kick(playerid);
}
else CheckPlayerIPs(id);

//Al final de tu GM/FS
CheckPlayerIPs(id)
{
    new IP[2][16], ips;
    GetPlayerIp(playerid, IP[0], 16);
    for(new i; i<GetMaxPlayers(); i++){
        if(IsPlayerConnected(i)){
            GetPlayerIp(i, IP[1], 16);
            if(!strcmp(IP[0], IP[1]))ips++;
        }
    }
    if(ips > 2)Kick(id);
}
їQuй hace?
Kickea a todos los bots que no sean del host o de tu PC (IP 127.0.0.1)
Reply
#5

usas npc bots? cambia maxnpc al numero que uses, (si no usas 0)

editaste esas ips? de ser asi, agrega estas lineas en OnPlayerConnect

pawn Код:
if(IsPlayerNPC(playerid)){
    new IP[16];
    GetPlayerIp(playerid, IP, 16);
    if(!strcmp(IP, "127.0.0.0")){
        new str[24];
        format(str, 24, "banip %s", IP);
        SendRconCommand(str);
    }
}
de no haber editado esas ips... tenes un problema ya que los bots del atacante se conectan desde tu pc...
Reply
#6

Me da 2 errores el codigo


C:\Documents and Settings\Bady.C815DDE9BFAE41C\Escritorio\RoleSpain \filterscripts\ant.pwn(56) : error 017: undefined symbol "playerid"
C:\Documents and Settings\Bady.C815DDE9BFAE41C\Escritorio\RoleSpain \filterscripts\ant.pwn(76) : error 017: undefined symbol "id"
C:\Documents and Settings\Bady.C815DDE9BFAE41C\Escritorio\RoleSpain \filterscripts\ant.pwn(7 : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.


Es que son bots pero tambien cuenta como usuarios...

Por ejemplo yo le pongo MI_BoT lo veo como entra y sale todo el rato y ocupando un slot...

El servidor no me lo pueden tirar pero es muy molesto...

Ayuda please
Reply
#7

donde pusiste el codigo? y ya se lo que es un npc.
Reply
#8

Lo meti en un fs aqui lo dejo a ver

pawn Код:
#include <a_samp>

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

#else

main()
{
}

#endif

public OnPlayerConnect(playerid)
{
    if(IsPlayerNPC(playerid))
    {
    new pip[16];
    GetPlayerIp(playerid, pip, 16);
    if(strcmp(pip, "127.0.0.1"))return Kick(playerid);
}
else CheckPlayerIPs(id);
    return 1;
}

CheckPlayerIPs(id)
{
    new IP[2][16], ips;
    GetPlayerIp(playerid, IP[0], 16);
    for(new i; i<GetMaxPlayers(); i++){
        if(IsPlayerConnected(i)){
            GetPlayerIp(i, IP[1], 16);
            if(!strcmp(IP[0], IP[1]))ips++;
        }
    }
    if(ips > 2)Kick(id);
}
Gracias por las respuestas
Reply
#9

eso esta definido como un game mode ya que nunca definiste la macro 'FILTERSCRIPT'

pawn Код:
#include <a_samp>

public OnFilterScriptInit()
{
    return print("Anti Bot cargado");
}

public OnPlayerConnect(playerid)
{
    if(IsPlayerNPC(playerid))
    {
        new pip[16];
        GetPlayerIp(playerid, pip, 16);
        if(strcmp(pip, "127.0.0.1")){
            new str[24];
            format(str, 24, "banip %s", pip);
            SendRconCommand(str);
        }
    }
    else CheckPlayerIPs(id);
    return 1;
}

CheckPlayerIPs(id)
{
    new IP[2][16], ips;
    GetPlayerIp(playerid, IP[0], 16);
    for(new i; i<GetMaxPlayers(); i++){
        if(IsPlayerConnected(i)){
            GetPlayerIp(i, IP[1], 16);
            if(!strcmp(IP[0], IP[1]))ips++;
        }
    }
    if(ips > 2)Kick(id);
}
Reply
#10

The Chaoz a que te refieres cuando dices editar las ips ?

Saludos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)