[Ayuda] Anti-Crash
#1

Saludos, irй al punto...

Hace unos dнas entro un loquito ofreciendome host para mi servidor y como no aceptй me "declarу la guerra"... Como mi servidor tiene buen sistema de seguridad y un buen host se dedicу a explotar una vulnerabilidad del SA-MP que da crash a los jugadores...

Supongo que algunos de ustedes conocen los programas so**it, son**tz y tal... Bueno, esos programas tienen una funciуn que bugea a los jugadores con los autos, hace que la pantalla se ponga de colores y los jugadores tengan que salir y volver a entrar.

Me preguntaba si alguien tenнa una funciуn para poder detener este bug? Gracias de antemano ^^

PD: Tengo la IP del servidor que lo hace, no se si con eso pueda hacer algo al respecto?
Reply
#2

Encontrй un Anti-RakSAMP. Te servirб?.
Reply
#3

No, la verdad no, ya lo tengo :/
Reply
#4

Te dejo un AntiOnFootCrasher:


En 'OnPlayerUpdate':

pawn Код:
if (GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
new Float:vec[3];
GetPlayerCameraFrontVector(playerid, vec[0], vec[1], vec[2]);
new bool:crasher = false;
for (new i = 0; !crasher && i < sizeof(vec); i++)
if (floatabs(vec[i]) > 10.0)
crasher = true;

if (crasher)
{
Kick(playerid);
return 0;
}
}
Reply
#5

Seguro que funciona? Esque yo tambiйn vi el tema del anti-onfootcrasher y leн que a veces daba kicks al azar.
Reply
#6

Creerнa que sн.

Si eso Kickea al azar, utiliza esto:


pawn Код:
public OnPlayerUpdate(playerid)
{
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
       new Float:vec[3];
       GetPlayerCameraFrontVector(playerid, vec[0], vec[1], vec[2]);
       if(floatcmp(1.0, floatabs(vec[0]))== -1 || floatcmp(1.0, floatabs(vec[1])) == -1 || floatcmp(1.0, floatabs(vec[2])) == -1)
       {
           Kick(playerid);
           return 0;
       }
    }
    return 1;
}
Reply
#7

Aquн hay mas ayudas

https://sampforum.blast.hk/showthread.php?tid=362608
Reply
#8

La verdad no estoy 100% seguro que sea un hack, aunque si es muy probable...

Bueno, segъn lo que me dicen los users esto solo ocurre algunas veces en el dнa y lo que les ocurre es que la pantalla se les congela y luego les da crash (Muchas veces se ven obligados a reiniciar el PC).

Quote:
Originally Posted by 0xFFFFFF
Посмотреть сообщение
Su cуdigo aun no servirнa, ya que estarнa mal modificado y podrнa seguir habiendo falsos kicks, lo correcto seria de-sincronizar al jugador al detectar esto, ya que asн los demбs lo verбn en pausa mientras intente hackear o si es un falso hack, se vera en pausa por unos segundos.
Lo correcto seria de esta manera:

pawn Код:
public OnPlayerUpdate(playerid)
{
    if (GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        new Float:vec[3];
        GetPlayerCameraFrontVector(playerid, vec[0], vec[1], vec[2]);
        if(floatabs(vec[0]) > 10.0) return 0;
        if(floatabs(vec[1]) > 10.0) return 0;
        if(floatabs(vec[2]) > 10.0) return 0;
    }
    return 1;
}
Cumple su propуsito y ademas es un poco mas rбpido por que no hay necesidad de crear un bolean ni un bucle.

Regresando al tema principal, me parece que lo que hace ese hack es subirlos a una altura grande (altura > 9999999999) por lo que si es verdad, tendras que crear un temporizador y ver cada X tiempo si un jugador esta en una altura mayor a la soportada, ponerlo en el suelo (puedes usar el include MapAndreas para esto).
Me sirviу mucho; muchнsimas gracias

Una duda, lo de la altura me parece raro que alguien tenga un hack asн y que este pueda lograr dar crash a los jugadores pero me gustarнa saber si se puede crear esto sin que de lag ya que habrнa que crear una funciуn en onplayerupdate que detecte esto todo el tiempo.
Reply
#9

El hack es muy comun, aun que no crashea al jugador, si lo bugea, se llama cleo bugger (o algo asi), hace tiempo lo probe y el funcionamiento basicamente es subir a un vehiculo de pasajero, y activar el cheat e inmediatamente subira el vehiculo a una posicion muy alta que se bugearan todos los que esten en el.

la solucion podria ser un timer cada diez segundos que verifique la posicion Z si es demasiado alta, ponerlo en el suelo (para todos los jugadores).
Reply
#10

Entonces ya tengo esa protecciуn muchas gracias por su ayuda
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)