SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] Protegendo seu GameMode (.amx)

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031971
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] Protegendo seu GameMode (.amx) Empty [Tutorial] Protegendo seu GameMode (.amx)

    Mensagem por Weslley_Script Sex 14 Abr 2023 - 18:39

    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 peão, 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 breve explicação 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 dados


    Método onde damos ao GameMode prazo de vбlidade. Depois desse prazo, ele não será inicializado.
    peão Код:


    Código:
    //Topo
    //Com isso o GM funcionará em abril. A partir de maio ele nгo abre mais.
    #define MES_LIMITE 4

    public OnGameModeInit ( )
    {
        new Data [ 3 ] ;
        getdate ( Dados [ 0 ] , Dados [ 1 ] , Dados [ 2 ] ) ; // Ano, mes, dia
        if ( Data [ 1 ]  > MES_LIMITE )  // Se o mкs atual é maior que o permitido, o servidor é fechado.
        {
            printf ("Proteção por Data habilitada." ) ;
            printf ( "Você não tem permissão para usar este GameMode." ) ;
            SendRconCommand ( "sair" ) ;
            retornar verdadeiro;
        }
        //
        retorna verdadeiro;
    }




    Proteção por porta


    Método onde verificamos se a porta do servidor é a mesma da porta permitida no GameMode.
    peão Код:


    Código:
    //Topo
    #define PORTA_PERMITIDA 7777

    public OnGameModeInit ( )
    {
        new SERVER_PORT = GetServerVarAsInt ( "porta" ) ; //Obtйm do server.cfg a porta em que o servidor serб aberto.
        if ( SERVER_PORT != PORTA_PERMITIDA )  // Se a porta for diferente da permitida no GameMode, o fechará o servidorá.
        {
            printf ( "Proteção por Porta Ativada." ) ;
            printf ( "Você não tem permissão para usar este GameMode." ) ;
            SendRconCommand( "saída" ) ;
            retornar verdadeiro;
        }
        //
        retorna verdadeiro;
    }



    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 :
    peão Код:


    Código:
    ligar 127.0.0.1


    Nesse caso, o servidor sу poderб ser caseiro. Troque pelo IP do seu host.

    peão Код:


    Código:
    [left]//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 conteúdo do IP em 'bind' é o mesmo que o permitido no GameMode e também se ' bind' não existe servidor.cfg
        {
            printf( "Proteção por IP habilitada." ) ;
            printf ( "Você não tem permissão para usar este GameMode." ) ;
            SendRconCommand ( "sair" ) ;
            retornar verdadeiro;
        }
        //
        retorna verdadeiro;
    }[/left]



    Proteção por Rcon


    Método onde verificamos se a rcon do servidor é a mesma da permitida no GameMode.
    peão Код:


    Código:
    //Topo
    #define RCON_PERMITIDA "ViniBorn"

    public OnGameModeInit ( )
    {
         GetServerVarAsString ( "rcon_password" , SERVER_RCON, sizeof SERVER_RCON ) ; // Armazena a rcon recebido do server.cfg em SERVER_RCON
        if ( strcmp ( SERVER_RCON,RCON_PERMITIDA ) )  // Verifica se a Rcon conteúdo no server.cfg é a mesma que a permitida no GameMode
        {
            printf ( "Proteção por Rcon habilitada." ) ;
            printf ( "Você não tem permissão para usar este GameMode." );
            SendRconCommand ( "sair" ) ;
            retornar verdadeiro;
        }
        //
        retorna verdadeiro;
    }


    Também é bom usar o famoso AntiDeAMX, que evita que o seu GM seja 'descompilado'
    peão Код:


    Código:
    AntiDeAMX ( )
    {
        new a [ ] [ ]  =  {  "Unarmed (Fist)" , "Brass K"  } ;
        #pragma não utilizado a
    }

    //OnGameModeInit
     AntiDeAMX ( ) ;


    Estas informações são muito boas para todos, e principalmente para aqueles que não confiam muito no host onde irao hospedar seus servidores.

    Não sou muito bom com tutoriais, mas espero que tenha entendido.
    Qualquer dúvida é só perguntar.


    Outros métodos . Por: [Completo]Garfield[XDB]



    [Tutorial] Protegendo seu GameMode (.amx) D07Xwqb
    [Tutorial] Protegendo seu GameMode (.amx) Yjab9HN

      Data/hora atual: Qui 2 maio 2024 - 9:29