Szerző Téma: Anti RakSAMP(vagy bot)  (Megtekintve 1715 alkalommal)

Anti RakSAMP(vagy bot)
« Dátum: 2012. Július 08. - 13:01:40 »
0 Show voters
Nos, ahogy megláttam 1ST_Chr témáját, gondolkoztam 1 új módszeren.
És találtam is egyet.
UI: A kód itt javítva, mivel nem írtam bele 1 kis részt.
 
new lastConnectedIP[ 16 ];
new nowIp[ 16 ];
public OnPlayerConnect(playerid)
{
GetPlayerIp( playerid, nowIp, 16 );
if( IsPlayerNPC( playerid ) ) return printf( \"Bot try connecting from: %s\\n\", nowIp ), Kick( playerid );
if( strlen( lastConnectedIP ) > 0 && !strcmp( lastConnectedIP, nowIp, true )  )
{
  printf( \"Bot try connecting from: %s\\n\", nowIp );
  Kick( playerid );
}
lastConnectedIP[ 0 ] = EOS;
strcat( lastConnectedIP, nowIp );
return 1;
}
public OnPlayerDisconnect( playerid, reason )
{
lastConnectedIP[ 0 ] = EOS;
return 1;
}

 
Bocsánat a fura indent miatt, mivel már PawnoX-ben programozok, ezért 1 kicsit más az indent.
A módszert kipróbáltam, hogy 30x megnyitottam RakSAMP-t és csak 1 bot jutott fel!A többit mindegyiket ledobálta, és nem lett crash( szerver ügyileg )!
« Utoljára szerkesztve: 2012. Július 09. - 10:58:33 írta lackos888 »

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Anti RakSAMP(vagy bot)
« Válasz #1 Dátum: 2012. Július 08. - 13:15:25 »
0 Show voters
if( IsPlayerNPC( playerid ) ) return printf( \"Bot try connecting from: %s\\n\", nowIp ), Kick( playerid );
a nowIp karakterláncnak nem is adtál értéket, de azért kiírod..
am meg a botok nem npc-k.
 if( strlen( lastConnectedIP ) > 0 && !strcmp( lastConnectedIP, nowIp, true )  )
ezzel annyi a baj, hogy minden connect után frissited a lactonnectedIP karakterláncot, így ha fel akar jutni 30 bot és közbe feljön más játékos, ugyanúgy felmegy még1.
továbbá akkor is 1 tuti feltud jutni..
és ez már nem is 100%-os védelem..

Anti RakSAMP(vagy bot)
« Válasz #2 Dátum: 2012. Július 08. - 13:16:33 »
0 Show voters
Idézetet írta: Pedro date=1341746125\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"23975\" data-ipsquote-contentclass=\"forums_Topic
if( IsPlayerNPC( playerid ) ) return printf( \"Bot try connecting from: %s\\n\", nowIp ), Kick( playerid );
a nowIp karakterláncnak nem is adtál értéket, de azért kiírod..
am meg a botok nem npc-k.
 if( strlen( lastConnectedIP ) > 0 && !strcmp( lastConnectedIP, nowIp, true )  )
ezzel annyi a baj, hogy minden connect után frissited a lactonnectedIP karakterláncot, így ha fel akar jutni 30 bot és közbe feljön más játékos, ugyanúgy felmegy még1.
továbbá akkor is 1 tuti feltud jutni..
és ez már nem is 100%-os védelem..
 
Télleg, viszont én ritkán láttam olyat, ha megtámadtak 1 szervert, hogy közben játékos ment felfele.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Anti RakSAMP(vagy bot)
« Válasz #3 Dátum: 2012. Július 09. - 10:17:49 »
0 Show voters
Ez részben hülyeség, mert mennyi annak az esélye, hogy 0-1ms eltéréssel jönnek fel a játékosok? Tehát ha feljön egy játékos vagy bot mennyi annak az esélye, hogy 0ms után már feljön még egy? Illetve ha karakterláncot akarsz törölni elég ezt használni:
 

lastConnectedIP[0] = EOS;

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal