SA-MP Forums Archive
[Tutorial] Proteger o seu Servidor - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] Proteger o seu Servidor (/showthread.php?tid=310341)



Proteger o seu Servidor - DrTHE - 11.01.2012

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



Re: Proteger o seu Servidor - dPlaYer_ - 11.01.2012

Gostein nbao '-' -qqq


Re: Proteger o seu Servidor - Byffano Xeddar - 11.01.2012

Wow, parabйns, уtimo trabaio.

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


Re: Proteger o seu Servidor - dPlaYer_ - 11.01.2012

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


Re: Proteger o seu Servidor - DrTHE - 11.01.2012

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 '-'


Re: Proteger o seu Servidor - dPlaYer_ - 11.01.2012

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


Re: Proteger o seu Servidor - BrunoBSF - 11.01.2012

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


Re: Proteger o seu Servidor - [BOPE]Jonathan - 11.01.2012

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


Re: Proteger o seu Servidor - [RoxX]Ygor - 11.01.2012

Fez isso atй no meu servidor, tenso...


Re: Proteger o seu Servidor - iReflesh - 11.01.2012

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