SA-MP Forums Archive
[Include] Nex-AC - Anticheat system - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Filterscripts (https://sampforum.blast.hk/forumdisplay.php?fid=17)
+---- Forum: Includes (https://sampforum.blast.hk/forumdisplay.php?fid=83)
+---- Thread: [Include] Nex-AC - Anticheat system (/showthread.php?tid=579963)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31


Re: Nex-AC - Anticheat system - rt-2 - 03.03.2017

I have a question, does anybody succeeded to connect 2 player from the same IP on the server, then disconnect one and keep the other one connected.
Even with a bare script it seems to time out the player that stays on the server.
See: https://github.com/NexiusTailer/Nex-...ment-283683187

Thank you,
rt-2


Re: Nex-AC - Anticheat system - Flamehaze7 - 06.03.2017

Some of my users get kicked randomly for weapon hacking and they are not weapon hacking, or i get kicked for using Speedhack while i only have the speedboost on my server (SetVehicleSpeed)


Re: Nex-AC - Anticheat system - OstGot - 08.03.2017

Quote:
Originally Posted by Flamehaze7
Посмотреть сообщение
Some of my users get kicked randomly for weapon hacking and they are not weapon hacking
Can you give me some parts of the server-log at the moment of the kick?


Re: Nex-AC - Anticheat system - Yashas - 09.03.2017

I am going to guess that an IsPlayerInAnyVehicle check is not done before triggering a weapon hack warning.

Suppose a player is in a vehicle with AK47. You give the player an M4. This M4 will replace AK47 but GetPlayerWeaponData/GetPlayerWeapon will tell that the player has AK47.

The function starts returning correct values after the player exits the vehicle. Therefore, you need an IsPlayerInAnyVehicle check in weapon hack detection code.

This is why someone who works on an anti-cheat needs to own a server. There are countless bugs to be taken care of.


Re: Nex-AC - Anticheat system - OstGot - 09.03.2017

Quote:
Originally Posted by Yashas
Посмотреть сообщение
I am going to guess that an IsPlayerInAnyVehicle check is not done before triggering a weapon hack warning.

Suppose a player is in a vehicle with AK47. You give the player an M4. This M4 will replace AK47 but GetPlayerWeaponData/GetPlayerWeapon will tell that the player has AK47.

The function starts returning correct values after the player exits the vehicle. Therefore, you need an IsPlayerInAnyVehicle check in weapon hack detection code.
Why not to see the code?
In addition, as written in the wiki:
Quote:
Originally Posted by wiki.sa-mp.com/wiki/GetPlayerWeapon
Note: Prior to version 0.3z R1-2, when the player state is PLAYER_STATE_PASSENGER this function returns the weapon held by the player before they entered the vehicle. If a cheat is used to spawn a weapon inside a vehicle, this function will not report it.
So I also rechecked this situation and everything works without false positives. Nevertheless, thanks for the interest)


Re: Nex-AC - Anticheat system - mgos307 - 10.03.2017

Can you edit your anticheat?
Instead of kicking anticheat should ban cheaters, flood / hacking / crashing attempts etc.
I tried to edit anticheat (to ban cheaters) but I failed...


Re: Nex-AC - Anticheat system - OstGot - 10.03.2017

Quote:
Originally Posted by mgos307
Посмотреть сообщение
Can you edit your anticheat?
Instead of kicking anticheat should ban cheaters, flood / hacking / crashing attempts etc.
I tried to edit anticheat (to ban cheaters) but I failed...
I think ban is too radical measure, even for crashers (where there are very few false detections compared to others).
Automatic punishment should only discourage the continued use of cheats, and not reduce the base of players, that's why I chose kick as the main punishment.

However, it can be changed using public OnCheatDetected in your script, see an example here.


Re: Nex-AC - Anticheat system - OstGot - 10.03.2017

New Version v1.9.21
Fixes:
* Tweaked SetPlayerAmmo function
* Fixed a bug in anti-GodMode in vehicle with a kick when shooting vehicle wheels
* Fixed anti-infinite ammo for AK-47 and m4

Download: GitHub


Re: Nex-AC - Anticheat system - Banditul18 - 12.03.2017

PHP код:
[14:27:42] [Nex-AC debugVeh model584seatid0vehicleid180
[14:27:42] [Nex-ACSuspicion on the ID 1. Reason code044 (2)
[
14:27:42] [partBOGD@N has left the server (1:2)
[
14:27:42] [debugRun time error 4"Array index out of bounds"
[14:27:42] [debug]  Attempted to read/write array element at negative index -1
[14:27:42] [debugAMX backtrace:
[
14:27:42] [debug#0 00012cfc in public OnPlayerUpdate (playerid=1) at E:\V1-1.1.1\pawno\include\nex-ac.inc:3377 
I saw this earlier


Re: Nex-AC - Anticheat system - Type-R - 17.03.2017

Shooting an M4 on localhost, i get instantly kicked for cheating.. Here's the log:

Код:
[Nex-AC debug] Fire rate: -1970475854, weaponid: 31, last weapon: 0
[Nex-AC] Suspicion on the ID 0. Reason code: 026 (3)
[Nex-AC debug] Weaponid: 31, Reload time: -1970475729, state: 1
[Nex-AC] Suspicion on the ID 0. Reason code: 026 (4)
[Nex-AC debug] Weaponid: 31, Reload time: -1970475618, state: 1
[Nex-AC] Suspicion on the ID 0. Reason code: 026 (4)
[part] TypeR has left the server (0:2)



Re: Nex-AC - Anticheat system - Cypress - 17.03.2017

A bit curious

pawn Код:
ac_fpublic ac_SetPlayerAmmo(playerid, ac_weaponslot, ac_ammo)
{
    if(ac_ammo < -32768) ac_ammo = -32768; // <-
    else if(ac_ammo > 32767) ac_ammo = 32767;// <-
    SetPlayerAmmo(playerid, ac_weaponslot, ac_ammo);
    if(16 <= ac_weaponslot <= 43 && (ACInfo[playerid][acWeapon][ac_wSlot[ac_weaponslot]] > 0 ||
    ACInfo[playerid][acSetWeapon][ac_wSlot[ac_weaponslot]] > 0))
    {
        ACInfo[playerid][acNOPCount][1] = 0;
        ACInfo[playerid][acGiveAmmo][ac_wSlot[ac_weaponslot]] = ac_ammo;
        ACInfo[playerid][acGtcGiveAmmo][ac_wSlot[ac_weaponslot]] = GetTickCount();
    }
    return 1;
}
Whats the point of the first two lines in this function?


Re: Nex-AC - Anticheat system - DRIFT_HUNTER - 17.03.2017

It makes sure that signed integer (Range -32768 to 32767) does not overflow.
So i guess that safeguard is just to avoid overflow and possible false detection caused by it...


Re: Nex-AC - Anticheat system - OstGot - 19.03.2017

New Version v1.9.22
Changes:
* Removed exception for taking golf club when leaving vehicle model 457
* Removed a check on the distance to the vehicle when player enter it (false detections were observed)
* Anti-reconnect will now be disabled if the settings are configured to connect more than 1 account from 1 IP
* When trying to flood OnVehicleMod and OnVehicleRespray, they will be desynced
* Changed some values in anti-flood

Special thanks to user rt-2 and everyone who participated in the development of the project!

Download: GitHub


Re: Nex-AC - Anticheat system - Variable™ - 19.03.2017

That's damn awesome and excellent, also you're frequently updating it which is what impressed me actually.


Re: Nex-AC - Anticheat system - Pottus - 19.03.2017

Quote:
Originally Posted by Variable™
Посмотреть сообщение
That's damn awesome and excellent, also you're frequently updating it which is what impressed me actually.
Код:
if(ac_i < ACInfo[playerid][acCall][27] + ac_Mtfc[27][0]) ac_FloodDetect(playerid, 27);
I won't be impressed until this is actually scripted properly. I am not even trying to say it doesn't work but the design is horrible and makes it unattractive to anyone trying to work with this code. Thus to me it isn't unusable because it doesn't work but unusable because the code is out to lunch design wise.


Re: Nex-AC - Anticheat system - Irenijus - 21.03.2017

Fly Hack in vehicle not workink when u jumped from the hill properly.


Re: Nex-AC - Anticheat system - mgos307 - 21.03.2017

speed hack works in rhino.
If you teleport anywhere he will produce a speedlight speed, and you will be kicked from reason: Speedhack.


Re: Nex-AC - Anticheat system - rt-2 - 22.03.2017

Quote:
Originally Posted by Pottus
Посмотреть сообщение
Код:
if(ac_i < ACInfo[playerid][acCall][27] + ac_Mtfc[27][0]) ac_FloodDetect(playerid, 27);
I won't be impressed until this is actually scripted properly. I am not even trying to say it doesn't work but the design is horrible and makes it unattractive to anyone trying to work with this code. Thus to me it isn't unusable because it doesn't work but unusable because the code is out to lunch design wise.
That line is perfect, what is your problem,
Maybe there's something i'm missing probably because I just woke up?

rt-2


Re: Nex-AC - Anticheat system - Spmn - 22.03.2017

(I guess) he meant to say that the code is too obscure, symbols' names aren't picked wisely (not self-explanatory) so it takes a while to understand how the include works in order to make changes to it.


Re: Nex-AC - Anticheat system - crukk11 - 15.04.2017

can anyone show example anti cheat