[Tutorial] Sistema Anti Bot
#1

Bom galera apуs uma semana com um bot travando meu servidor, resolvi da um ponto final, procurei sobre eles como funcionan mas infelismente nao encontrei nada relacionado, somente encontrei um FS feito por TheChoosenOne.
Pelo que entendi esses tais bot's npc, ou algo do tipo sao nick bugados ou algo assim, nao sei bem como eles funcionan pelo que eu entendi eles sao bugs do proprio sa-mp nicks
que umas ves o player com ele logado no servidor e capaz de dar crash no servidor ja conheci 2 servidores que faliram por causa disso, em todos os casos o bot era o con ( inclusive o que estava me dando trabalho ). como nao achei nada relacionado resolvi fazer o tutoria explicanco o codigo do FS feito por TheChoosenOne, que apesar de simples eu nunca imaginaria q esses bot eram coisas tao simples.



Bom vamos lб...

/*Motivo de ser adc em OnPlayerConnect e porque na hora que o tal bot conectar-se, altomaticamente antes de ele fazer o estrago em seu servidor ele ja sera banido*/


if(strfind(Nome(playerid),"con",true) != -1) //define o nome do bot
{
Ban(playerid);//dar ban no bot ao tentar conectar no servidor
}

stock Nome(playerid) //define o comando da palavra nome ( if(strfind(Nome )
{
new name[MAX_PLAYER_NAME]; //define variavel name
GetPlayerName(playerid, name, sizeof(name)); // pega o nick do player
return name;// retorna a "name"
}

Ou entгo(CASO VA ADICIONAR EM SEU GAMEMODE):

stock Nome(playerid)
{
new pdxname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pdxname, sizeof(pdxname));
return pdxname;
}

Mas qual a diferenзa ParadoX? Trocamos "name" por "pdxname" isso somente se voзк ja tiver definido em seu servidor a variavel name so para nao dar comflitos mesmo...

Sei que й bem simples mas, tenho varios amigos que pediram isso por que ja sofreram pra carak com esses tais"bot's" quaisquer duvida postem ai...

FS feito por TheChoosenOne mas quem preferir pode fazer o download por aqui mesmo:

SolidFile
PasteBin
SendSpace
X-Tras

_____________________________________

Tive alguns problemas com esse FS estou usando o FS do drakins e ate agora nenhum MalBot conseguio derrubar meu sv ainda...

TuT do FS do drakins:

//No Topo
new sMsDos[][] = {"aux","com4","com8","lpt3","lpt7","com1","com5"," com9","lpt4","lpt8","com2","com6","lpt1","lpt5","l pt9","com3","com7","lpt2","lpt6","con"}; // Define sMsDoS que no caso sao os nome de todos os MalBot


// Em OnPlayerConnect
/* Repetindo Motivo de ser adc em OnPlayerConnect e porque na hora que o tal bot conectar-se, altomaticamente antes de ele fazer o estrago em seu servidor ele ja sera banido*/



new iLoop = -1,sName[24]; // define iLoop e sName

GetPlayerName(playerid,sName,22); // Pega o nome do Player

while(++iLoop != sizeof sMsDos) if(!strcmp(sName,sMsDos[iLoop],true)) /*verifica na lista definida (sMsDos) se o nick й mal bot */

GameTextForPlayer(playerid, "~k~~INVALID_KEY~", 100, 5),Ban(playerid);/*Caso o nick esteja na lista ele bani o malbot*/

if(IsPlayerConnected(playerid)) OnPlayerConnect(playerid);//Verifica se o bot realmente se desconectou

Fs:[FilterScript]Anti Crash Funciona 100%


OBS:Nгo sei se estou 100% correto qualquer coisa corrijam me pf nгo sou nenhum profissional...
Reply
#2

o serto seria strcmp ao invйs de strfind.

Porque ?

strcmp < Compara algo
pawn Код:
if(strcmp(Nome, "[iPs]Garfield", true)) SendClientMessage(playerid, Cor, "[INFO]: Um membro da iPs TeaM (Garfield) Entrou no servidor.");

strfind < Procura Nome em uma frase ou nome.
pawn Код:
if(strfind(Nome,"[iPs]",true) != -1)  SendClientMessage(playerid, Cor, "[INFO]: Um membro da iPs TeaM Entrou no servidor.");
Fora isto, ta bom seu tutorial.
Reply
#3

Quote:
Originally Posted by [Full]Garfield[XDB]
Посмотреть сообщение
o serto seria strcmp ao invйs de strfind.

Porque ?

strcmp < Compara algo
pawn Код:
if(strcmp(Nome, "[iPs]Garfield", true)) SendClientMessage(playerid, Cor, "[INFO]: Um membro da iPs TeaM (Garfield) Entrou no servidor.");

strfind < Procura Nome em uma frase ou nome.
pawn Код:
if(strfind(Nome,"[iPs]",true) != -1)  SendClientMessage(playerid, Cor, "[INFO]: Um membro da iPs TeaM Entrou no servidor.");
Fora isto, ta bom seu tutorial.
Obrigado Garfield como falei nao sou nenhum expert no assunto estou estudando cada dia para melhorar mais e mais obrigado pela dica, esse e meu primeiro post, nгo esta tao bom assim...
Reply
#4

Bom tutorial,
Mais como garfield disse poderia adequar mais este tutorial a uma aula de Anti-MalBots e etc. ^^
Fora isto Nice Work
Reply
#5

Quote:
Originally Posted by Lucas Nicolas
Посмотреть сообщение
Bom tutorial,
Mais como garfield disse poderia adequar mais este tutorial a uma aula de Anti-MalBots e etc. ^^
Fora isto Nice Work
Vlws ^^. й pq como ja citei acima nгo entendo bem como esses MalBots funcionan, baixei o FS ae nao tem nem 1hora, to morrendo de sono mais tarde eu vejo se conseguo dar uma melhorada...
Reply
#6

Parabйns pelo seu Tutorial

https://sampforum.blast.hk/showthread.php?tid=221207

Este meu sistema tem Todos nicks testados, e lб apenas encontra-se os nicks que realmente crasham.
Bom uso.

Novamente parabйns!
Reply
#7

Quote:
Originally Posted by [FeK]DraKiNs
Посмотреть сообщение
Parabйns pelo seu Tutorial

https://sampforum.blast.hk/showthread.php?tid=221207

Este meu sistema tem Todos nicks testados, e lб apenas encontra-se os nicks que realmente crasham.
Bom uso.

Novamente parabйns!
Vlws... Aqui tem os msm nicks do seu, so que recomendo o seu pra add no GM ^^ ocupa menos espaзo...
Reply
#8

PARA QUE VERCION DE SAMP ES ? PORQUE NO ME FUNCIONAA !!
NESESITO LA RESPUESTA ANTES POSIBLE
Reply
#9

Provavelmente 0.3b.

Mais atualmente existe melhores, basta usar o search.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)