[Request] AntiCheater
#1

Wich is the best [Plugin] or [Filterscript] AntiCheater?

That is easy to use.
Reply
#2

I would suggest to make your own using some of these functions https://sampforum.blast.hk/showthread.php?tid=220089 (By cessil)

But if you do want to use a pre-existing one

https://sampforum.blast.hk/showthread.php?tid=268052 - It's a nice plugin

https://sampforum.blast.hk/showthread.php?tid=438385 - Never tested it but it's a user friendly anti cheat
Reply
#3

If you are doing your own anti-cheat then use this.Almost every anti-cheat uses timers and OPU.
Use Callbacks when ever possible instead of timers or OnPlayerUpdate.
For example,
*For checking weapons or ammo, you could use OnPlayerKeyStateChange(because this callback will be triggered when the player shoots or changes weapon)
*Using OnPlayerGiveDamage or OnPlayerTakeDamage to check for health/armour hacks instead of a loop.
*Using OnVehicleStreamIn to check if the player teleported the vehicle(The vehicle position will be saved when the Vehicle Streams Out and when Streamed In check the pos if its within some range if not it was teleported.Must take care of respawns too to avoid innocent kicks/bans.).
*OnPlayerStreamIn for checking Ping Issues
*Using OnPlayerStateChange to determine Spectate Hacks(I don't know if it works) or jetpack hacks.

By using these callbacks you will reduce load on your server and save many CPU cycles and as a result your lag or ping will be reduced.
Reply
#4

It is always best to write your own anti cheat system. If you do it your self you will understand what everything does. I recommend making everything server side so if someone hacks their money it will just go straight back to their original value they had before. You need to save their cash in a save file or something like that. And make a timer that will check every second. GetPlayerMoney(playerid); and then if their money is not the same as the saved cash then it will "GivePlayerMoney".
Reply
#5

Its not a good idea to write an anti-cheat yourself until you do some study on existing anti-cheats.

@Blademaster680 Vending Machines? :P
Reply
#6

Quote:
Originally Posted by Yashas
Посмотреть сообщение
By using these callbacks you will reduce load on your server and save many CPU cycles and as a result your lag or ping will be reduced.
that'd only ever happen if your script was terribly unoptimized, OPU is perfect for many things in an anticheat, you sound like you're just passing on second hand information without running any of your own tests
Reply
#7

Quote:
Originally Posted by cessil
Посмотреть сообщение
that'd only ever happen if your script was terribly unoptimized, OPU is perfect for many things in an anticheat, you sound like you're just passing on second hand information without running any of your own tests
I thought OPU would take some CPU usage?
Reply
#8

Fake Kill?

pawn Код:
new killtime[MAX_PLAYERS];

public OnPlayerDeath(playerid, killerid, reason)
{
    new deathtime = gettime();
    if(killtime[playerid] > deathtime)
    {
        new string[128];
        format(string,sizeof(string),"{208DD6}[SERVER] {FFFFFF}%s[%d] has been banned from the server. (Fake Kill).",PlayerName(playerid), playerid);
        SendClientMessageToAll(COLOR_WHITE, string);

        BanEx(playerid, "Fake Kill");

    }
    killtime[playerid] = (deathtime + 1);
    return 1;
}
I use it, gets the job done.
Reply
#9

Quote:
Originally Posted by newbienoob
Посмотреть сообщение
I thought OPU would take some CPU usage?
run your own tests, comparing numbers takes no effort
Reply
#10

I was thinking.

Any script or Include that you can use ex:

pawn Код:
OnPlayerHacking(playerid, hackid) {
switch(hackid)
{
case: HACK_AIRBREAK:
{
      SendClientMessage(playerid,-1,"Banned for airbreak");
      Ban(playerid);
}
}
       return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)