• 1 Vote(s) - 3 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Library] Rogue Anti cheat
#1
Dears, i present to you my polished anti cheat that I've been working on for almost 2 years so far.

?

[Image: d3eef5304c2af4dae7404a537a576f32_96168]







Rogue-AC





[Image: sampctl-Anti_cheat_pack-2f2f2f.svg?style=for-the-badge]





Github: Click here



This is a combination of all my encounters with cheats that i observed and tried to block on my server, a progress of approximately 2 years of work.



Installation: The Rogue-AC file needs to be included in your gamemode and in all filterscripts, function(s) is/are to be used only within the gamemode.



Version: 8.0



Simply install to your project:



PHP Code:
sampctl package install RogueDrifter/Anti_cheat_pack 







Include in your code and begin using the library:

PHP Code:
#include <Rogue-AC> 





Usage:



Use the callbacks provided to you by the includes depending on the type of it. ?



If you're including the pack as a whole you'll need to only use the callback OnPlayerViolate



Details for callback:

PHP Code:
OnPlayerViolate(playeridseverityviolationCode, const violationName[]); 





Whereas:?



PHP Code:
playerid cheater player id.



severity how bad cheating is

types:

#define SEVERITY_CASE_ONE 0 ?? ?//Warn then kick

#define SEVERITY_CASE_TWO 1?? ??? ?//Kick

#define SEVERITY_CASE_THREE 2?? ?//Ban



violationcodewhich callback was triggered (codes can be found below in the #CONTAINS section.



violationNamebasically a string for the cheat name which makes it easier to write a string









If you use separate includes you can use the respective callbacks in the test.pwn file.?

If you want to disable any anti cheat when using the Rogue-AC file, you can put this line before the include:?

PHP Code:
#define DISABLE_[anti cheat file name] 



For example:

PHP Code:
#define DISABLE_JETPACK 



and so on. ?

Note: If you don't use the callback, my include will do all the work for you. ?



Testing:



Use the test.pwn file and check the server for client messages/log for printed messages.



Simply run the package:





PHP Code:
sampctl package run 





Contains:







PHP Code:
#define VIOLATION_CODE_BUGATTEMPT 0

#define VIOLATION_CODE_LAGOUT 1

#define VIOLATION_CODE_SLIDEBUG 2

#define VIOLATION_CODE_INVALIDMODS 3

#define VIOLATION_CODE_PARTICLESPAM 4

#define VIOLATION_CODE_CARSWING 5

#define VIOLATION_CODE_MONEYHACK 6

#define VIOLATION_CODE_CARTROLL 7

#define VIOLATION_CODE_CARSPAM 8

#define VIOLATION_CODE_AIRBRAKE 9

#define VIOLATION_CODE_SPEEDING 10

#define VIOLATION_CODE_CHATSPAM 11

#define VIOLATION_CODE_JETPACK 12

#define VIOLATION_CODE_FAKECONNECT 13

#define VIOLATION_CODE_FAKEKILL 14

#define VIOLATION_CODE_GODMODE 15

#define VIOLATION_CODE_WEPHACKS 16 





How to update:



Simply open your project and run the code:

PHP Code:
sampctl package ensure 



I haven't changed the repository name due to the fact that people still search it so yeah, this all started when i was posting my separate includes everywhere until Pottus suggested i grouped everything, so here you go.



Haven't added any debug tools inside either but i plan to do so inside the includes even if it just prints out to your console log the parameters for each callback (Exactly as you can see in the test.pwn file).
[Image: github.png]
  Reply


Forum Jump: