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 Код:
Proteção por porta
Método onde verificamos se a porta do servidor é a mesma da porta permitida no GameMode.
peão Код:
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 Код:
Nesse caso, o servidor sу poderб ser caseiro. Troque pelo IP do seu host.
peão Код:
Proteção por Rcon
Método onde verificamos se a rcon do servidor é a mesma da permitida no GameMode.
peão Код:
Também é bom usar o famoso AntiDeAMX, que evita que o seu GM seja 'descompilado'
peão Код:
__________________
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]