[Tutorial] Protegendo seu GameMode (.amx)
#1

Protegendo seu GameMode (.amx)
__________________


Um dos grandes medos de um programador, й ver seus trabalhos nas mгos de outras pessoas sem seu consentimento.
O arquivo .pwn й o tesouro de qualquer programador pawn, e concerteza o mais protegido.
Porйm, muitas vezes deixa-se de lado a proteзгo do .amx, o que nгo deveria ocorrer.

Nгo sei vocкs, mas eu nгo gostaria de ver um servidor usando meu GameMode sem a minha devida permissгo.
Muitos deixam 'comando secretos' em seus GM's para recuperar a rcon, porйm isso nгo й um mйtodo tгo eficaz quanto o que eu trago hoje, porque ele depende diretamente da paciкncia de procurar todos os servidores que usam o GM roubado, e depois entrar em cada um deles para usar o tal comando secreto.

Separei 4 mйtodos de proteзгo. Sгo eles :

* Por Data
* Por Porta
* Por IP
* Por Senha

Antes de comeзar, uma explicaзгo breve sobre duas funзхes que iremos utilizar :

- GetServerVarAsString - Obtйm um parвmetro (string) do server.cfg.
- GetServerVarAsInt - Obtйm um parвmetro (inteiro) do server.cfg.

Proteзгo por data

Mйtodo onde damos ao GameMode prazo de vбlidade. Depois desse prazo, ele nгo serб inicializado.
pawn Код:
//Topo
//Com isso o GM funcionarб atй abril. A partir de maio ele nгo abre mais.
#define MES_LIMITE 4

public OnGameModeInit()
{
    new Data[3];
    getdate(Data[0], Data[1], Data[2]); // Ano, mes, dia
    if(Data[1] > MES_LIMITE) // Se o mкs atual й maior que o permitido, o servidor fecharб.
    {
        printf("Proteзгo por Data ativada.");
        printf("Vocк nгo tem permissгo para usar este GameMode.");
        SendRconCommand("exit");
        return true;
    }
    //
    return true;
}

Proteзгo por porta

Mйtodo onde verificamos se a porta do servidor й a mesma da porta permitida no GameMode.
pawn Код:
//Topo
#define PORTA_PERMITIDA 7777

public OnGameModeInit()
{
    new SERVER_PORT = GetServerVarAsInt("port"); //Obtйm do server.cfg a porta em que o servidor serб aberto.
    if(SERVER_PORT != PORTA_PERMITIDA) // Se a porta obtida for diferente da permitida no GameMode, o servidor fecharб.
    {
        printf("Proteзгo por Porta ativada.");
        printf("Vocк nгo tem permissгo para usar este GameMode.");
        SendRconCommand("exit");
        return true;
    }
    //
    return true;
}
Proteзгo por IP

Mйtodo onde verificamos se o IP do servidor й o mesmo do permitido no GameMode.
Й necessбrio que se acrescente isso no seu server.cfg :
pawn Код:
bind 127.0.0.1
Nesse caso, o servidor sу poderб ser caseiro. Troque pelo IP do seu host.

pawn Код:
//Topo
#define IP_PERMITIDO "127.0.0.1"

public OnGameModeInit()
{
    new SERVER_IP[16];
    GetServerVarAsString("bind", SERVER_IP, sizeof SERVER_IP); // Armazena o conteъdo de 'bind' em SERVER_IP
    if(strcmp(SERVER_IP,IP_PERMITIDO) || !strlen(SERVER_IP)) // Verifica se o IP contido em 'bind' й o mesmo que o permitido no GameMode e tambйm se 'bind' existe no server.cfg
    {
        printf("Proteзгo por IP ativada.");
        printf("Vocк nгo tem permissгo para usar este GameMode.");
        SendRconCommand("exit");
        return true;
    }
    //
    return true;
}
Proteзгo por Rcon

Mйtodo onde verificamos se a rcon do servidor й a mesma da permitida no GameMode.
pawn Код:
//Topo
#define RCON_PERMITIDA "ViniBorn"

public OnGameModeInit()
{
    GetServerVarAsString("rcon_password", SERVER_RCON, sizeof SERVER_RCON); // Armazena a rcon obtida do server.cfg em SERVER_RCON
    if(strcmp(SERVER_RCON,RCON_PERMITIDA)) // Verifica se a Rcon contido no server.cfg й a mesma que a permitida no GameMode
    {
        printf("Proteзгo por Rcon ativada.");
        printf("Vocк nгo tem permissгo para usar este GameMode.");
        SendRconCommand("exit");
        return true;
    }
    //
    return true;
}
Tambйm й bom utilizar o famoso AntiDeAMX, que evita que o seu GM seja 'descompilado'
pawn Код:
AntiDeAMX()
{
    new a[][] = { "Unarmed (Fist)", "Brass K" };
    #pragma unused a
}

//OnGameModeInit
AntiDeAMX();

Estas informaзхes sгo muito ъteis a todos, e principalmente para aqueles que nгo confiam muito no host onde irгo hospedar seus servidores.

Nгo sou muito bom com tutoriais, mas espero que tenham entendido.
Qualquer dъvida й sу perguntar.


Outros mйtodos. Por : [Full]Garfield[XDB]
Reply


Messages In This Thread
Protegendo seu GameMode (.amx) - by ViniBorn - 25.04.2012, 23:47
Re: Protegendo seu GameMode (.amx) - by zSuYaNw - 25.04.2012, 23:51
Re: Protegendo seu GameMode (.amx) - by [BND]Rodrigues - 25.04.2012, 23:52
Re: Protegendo seu GameMode (.amx) - by Hiuship - 26.04.2012, 00:26
Re: Protegendo seu GameMode (.amx) - by Edu33 - 26.04.2012, 01:01
Re: Protegendo seu GameMode (.amx) - by StrondA_ - 26.04.2012, 01:17
Re: Protegendo seu GameMode (.amx) - by zSuYaNw - 26.04.2012, 01:55
Re: Protegendo seu GameMode (.amx) - by histire - 26.04.2012, 02:01
Respuesta: Re: Protegendo seu GameMode (.amx) - by dudaefj - 26.04.2012, 02:22
Re: Protegendo seu GameMode (.amx) - by matheusspohr - 06.03.2015, 13:59

Forum Jump:


Users browsing this thread: 1 Guest(s)