[Tutorial] Proteger o seu Servidor
#1

Protegendo seu servidor de um ataque.
Isso ajuda a punir Hackers que puxam os carros do servidor

Quote:

Versгo atual 1.1:
Correзгo de um bug em que permitia puxar veiculos dentro de um carro (o sistema so punia a players a pй)

Bem venho olhando que os grandes servidores br nao estao protegidos contra esse tipo de ataque (de puxar carros do servidor) e isto й preucupante...

SS: eu mesmo fui ver o que dava..

nгo so esse como TSSA e BPF estao desprotegidos..
OBS: Todas prints foi eu mesmo que tirei

NWD:


Project Virtual:




TSSA:




Brasil Realidade Virtual:


BPF




NRG RPG:




BWE:


Como se proteger?

Topo do gm:
pawn Code:
new
    vehicleTime[MAX_PLAYERS],
    lastVehicle[MAX_PLAYERS]
;
em OnPlayerUpdate:
pawn Code:
new vehicleID = GetPlayerVehicleID(playerid);
    if(lastVehicle[playerid] != vehicleID)
    {
        lastVehicle[playerid] = vehicleID;
        if(GetVehicleModel(vehicleID))
        {
            CallRemoteFunction("OnPlayerChangeVehicle","ii", playerid, vehicleID);
        }
    }
pawn Code:
forward OnPlayerChangeVehicle(playerid, vehicleid);
public OnPlayerChangeVehicle(playerid, vehicleid)
{
    #pragma unused vehicleid
    if((GetTickCount() - vehicleTime[playerid]) < 250)
    {
        Kick(playerid);
    }

    vehicleTime[playerid] = GetTickCount();
}
Explicaзгo:

Com isso o GameMode verifica se o tempo do player de um carro para outro for menor que 250 ms(1000 ms = um segundo) ele chamarб a funcao OnPlayerChangeVehicle e o player serб punido (banido/kikado) do servidor. ficarб a seu gosto.

Adicione essa Funcгo abaixo para que a nгo ocorra

pawn Code:
stock S_PutPlayerInVehicle(playerid, vehicleid, seatid)
{
    vehicleTime[playerid] = GetTickCount();
    return PutPlayerInVehicle(playerid, vehicleid, seatid);
}
#if defined _ALS_PutPlayerInVehicle
    #undef PutPlayerInVehicle
#else
    #define _ALS_PutPlayerInVehicle
#endif
#define PutPlayerInVehicle S_PutPlayerInVehicle
Caso queira utilizar como Include:
pawn Code:
/*
*            Include S_AntiSpawn v1.0
*       © Copyright 2012 by [S]trong
*
* @Autor     : [S]trong
* @Data      : 13 de janeiro de 2012
* @Requer    : Include a_samp (por SA-MP Team)
*
*
* Include desenvolvida com fim de nao permitir o hack de puxar carros
*
*
*
*/

#include <a_samp>
new
    vehicleTime[MAX_PLAYERS],
        lastVehicle[MAX_PLAYERS]
;

forward S_OnPlayerUpdate(playerid);

public OnPlayerUpdate(playerid)
{
    new vehicleID = GetPlayerVehicleID(playerid);
    if(lastVehicle[playerid] != vehicleID)
    {
        lastVehicle[playerid] = vehicleID;
        if(GetVehicleModel(vehicleID))
        {
            CallRemoteFunction("OnPlayerChangeVehicle","ii", playerid, vehicleID);
        }
    }
    return CallRemoteFunction("OnPlayerUpdate","i", playerid);
}

forward OnPlayerChangeVehicle(playerid, vehicleid);
public OnPlayerChangeVehicle(playerid, vehicleid)
{
    #pragma unused vehicleid
    if((GetTickCount() - vehicleTime[playerid]) < 250)
    {
        Kick(playerid);
    }
    vehicleTime[playerid] = GetTickCount();
}

stock S_PutPlayerInVehicle(playerid, vehicleid, seatid)
{
    vehicleTime[playerid] = GetTickCount();
    return PutPlayerInVehicle(playerid, vehicleid, seatid);
}
#if defined _ALS_PutPlayerInVehicle
    #undef PutPlayerInVehicle
#else
    #define _ALS_PutPlayerInVehicle
#endif
#define PutPlayerInVehicle S_PutPlayerInVehicle
#if defined _ALS_OnPlayerUpdate
    #undef OnPlayerUpdate
#else
    #define _ALS_OnPlayerUpdate
#endif
    #define OnPlayerUpdate S_OnPlayerUpdate
Creditos a [S]tong pela atualizaзгo
Reply
#2

Gostein nbao '-' -qqq
Reply
#3

Wow, parabйns, уtimo trabaio.

Nгo sabia disso atй as 18:30 de hoje
Reply
#4

Vocк fez um otimo trabalho tbm ,nas prints! RIARIARIAIR '-'
Reply
#5

obrigado, eu fiquei assustado pois o bpf ta desprotegido tomara que isso alerte a eles e a os outros '='

sobre as prints melhor eu nem falar '-'
Reply
#6

Tabem fiquei assustado com essa quantidade de carros , trollmaster '-'
Reply
#7

belo tuto isso vai ajudar a galera q e dono de servidores a se livre de bastantes nb q ficam de hacker
Reply
#8

Legal a inicativa, ja vi muitos servers onde entram hacks e fazem isso '-'
Reply
#9

Fez isso atй no meu servidor, tenso...
Reply
#10

Entгo foi vocк que puxou todos os veiculo no meu evento que estava fazendo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)