SA-MP Forums Archive
[Anti-Cheat] FcukIt v3.2 =[Link UPDATED!]= Embedded FcukIt++ - 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)
+--- Thread: [Anti-Cheat] FcukIt v3.2 =[Link UPDATED!]= Embedded FcukIt++ (/showthread.php?tid=41911)



[Anti-Cheat] FcukIt v3.2 =[Link UPDATED!]= Embedded FcukIt++ - [BDC]Scarface - 01.07.2008

/*
=======================
FcukIt v3.2 AntiCheat
Coded by Scarface
=======================
*/


FcukIt v3.2 DOWNLOAD

For Questions / Suggestions PM Me

I have thoroughly tested this script against all the features, however you must remember
that I am unable to pressure test the script with more than 6 players. People should keep this
in mind when setting the actions of detection (Kick, Ban, Disarm). Set it to disarm/kick first to
ensure it is fully compatable with your server.

IMPORTANT:
I have included an amx version but it is important that you change the definition of MP at the top of the script. This
ensures maximum efficiency of FcukIt.
REMEMBER to also change this figure if your maximum server players changes.

*********************************

Special Thanks to:
Dracoblue: DCMD - Fast Commands Processor
Kyeman: Implementation Ideas
Mike: IsNumeric() Function

Beta Testers:
[CBK]Hitman
[alr]Evil_Gnomes
[alr]Ali_NZ

***********************************

FEATURES:

Updates (v3.1 -> 3.2)
- Improved Stability and Efficiency
- Decreased Chances of False Health-Detection (Paused)
- Removed Spoof-Detection (Outdated)
- Intergrated FcukIt++
- Overhauled Anti-Lagg to increase efficiency
- Removed OnKill Weapon Check due to ID/Weapon Spoofing


Updates (3.0 -> 3.1)
- Interscript Communication for FcukIt++ v2.0 (CrossScript Compatable)
- Increased Timer Efficiency (Ex Implementation)
- Increased Effectiveness of Spoof Detection
- Broader Platform Compatibility

Features:
- User Configurable File
- Most Detections Can be Individually Turned Off Live
- Restart and Emergency Shutdown Function
- Saves Kick/Ban Details [Player, Reason, Time, Date]
- Major Efficiency Improvements
- Full Implementation of DCMD
- Timer Overhaul
- IP Logging Tool

Detection:
- Anti-Health Cheating (Detects v-0gelz)
- Anti-BannedWeapon Detection (Inventory Check)
- Anti-Cash Cheat Detection (FcukIt++ Include File)
- Anti-Spawn Killing
- Anti-DriveBy Abuse
- Anti-Prolong Inactivity (Pausers)
- Anti-Interior Kill
- Clone Detection




**********************************

CONFIGURATION:

--------------------

A-Health 1 // 0 = Disabled, 1 = Kick, 2 = Ban
A-Cash 1 // 0 = Disabled, 1 = Kick, 2 = Ban
A-DriveBy 1 // 0 = Disabled, 1 = Kick, 2 = Ban, 3 = Disarm
A-Inactivity 1 // 0 = Disabled, 1 = Kick, 2 = Ban
A-BWeapons 1 // 0 = Disabled, 1 = Kick, 2 = Ban
A-OnKill // 1 = Kick On Banned Weapon kill 2 = Ban on Banned Weapon Kill
A-InteriorKill 1 // 0 = Disabled, 1 = Kick, 2 = Ban
A-SpawnKill 1 // 0 = Disabled, 1 = Kick, 2 = Ban, 3 = Disarm
A-Spoofing 1 // 0 = Disabled, 1 = Kick, 2 = Ban
A-Cloning 1 // 0 = Disabled, 1 = Public Warning, 2 = Kick
A-Lagg 1 // 0 = Disabled, 1 = Enabled
Log-Enabled 0 // 0 = Disabled, 1 = Enabled (IP Log)
Max-Cash-Increase 1000000 // Maximum Cash Increase in cCheck Period
DB-Kills 3 // Maximum Amount of Drive by Kills before Action
Inactive-Period 300 // Maximum Player Inactive Period (Seconds)
hCheck-Time 10 // Health-Loop Interval (Seconds)
cCheck-Time 10 // Cash-Loop Interval (Seconds)
Spawn-Kill-Time 10 // Period After spawn that kill is considered "Spawn Killing"
Max-Spawn-kills 2 // Maximum Spawn Kills before Action
Ping-Limit 1500 // Ping Limit (Maximum Average Ping)
Ping-Intervals 5 // GetPing Intervals (Seconds)
Ping-Warning(0/1) 1 // 0 = Warning Disabled, 1 = Warning Enabled
Ping-Tolerance 20 // Amount below ping (ms) that players are warned (2 warnings then Kicked)

//Banned Weapon List: (99 = Disabled)

Weapon2 36 // As it says, SA:MP Weapon ID's that you don't want to allow to own in the server.
Weapon3 35 // If you don't have 11 ID's just use 99 to disable that slot
Weapon4 38
Weapon5 39
Weapon6 40
Weapon7 99
Weapon8 99
Weapon9 99
Weapon10 99
Weapon11 99
Weapon12 99



--------------------

COMMANDS(RCON ADMIN ONLY):
/fhealth, /fcash, /finactive, /fbweapons, /fskill, /fclone, /fdriveby - Disables/Enables (Toggle) respective function
/fhelp - Displays Commands List
/frestart - Restarts All Loops/Checks, Clears Variables
/fshutdown - Emergency Shutdown (Disables All Checks within FcukIt)
/fcukit - Shows Anti-Cheat Script Details/Version



Instructions for Installation and use of FcukIt++

Installation:
To install this script simply ensure that ficonfig.txt is in your "scriptfiles" folder, the fcukit.amx is
in the "FilterScripts" folder and you have added fcukit to the Filterscripts line in your server config.

Please NOTE: if you allow players with pings over 500, it is recommended to raise the loop times in the health detections (eg SetTimer("pauseresult", 1500, 0); instead of 1200ms.

Anti-Cash Cheat
FcukIt++ is an additional include that adds the feature of comparative cash checking. When including this in your gamemode,
ensure you change ALL (VERY IMPORTANT) of your GivePlayerMoney()/ResetPlayerMoney() to FcukIt_GivePlayerMoney() and FcukIt_ResetPlayerMoney(). Add the line "#include <FcukIt++>" to the top of all your scripts. Ensure all your filterscripts/gamemodes have the include file as well as the updated functions.

- Add #include <FcukIt++> to all your scripts that give money.
- Change ALL GivePlayerMoney Natives to the FcukIt_GivePlayerMoney(playerid, amount)/FcukIt_ResetPlayerMoney(playerid)
- Read below about StuntBonuses

If you allow stunting in your server then it is recommended you change the stuntcash value in the include to a value that
you think is suitable as a maximum cash amount given for stunts within the cash check time. If not, simply disable them via the
script native EnableStuntBonusForAll(0); or EnableStuntBonusForAll(false);

Developed by [DRuG]Scarface

Planned Features in FcukIt v3.5:
- Overhauled Spoof Detection
- Anti s0-beit Engine (Vehicle Warp, Air-Break, Spoof ID)
- Improved Weapon Inventory Check (Checks up to 5 Players at Once)
- Optimized for SA:MP 0.3 Core



Re: [Anti-Cheat] FcukIt v3.0 Ultimate by [DRuG]Scarface - Zh3r0 - 01.07.2008

Freakin awesome protector for ma server.
thanks .


Re: [Anti-Cheat] FcukIt v3.0 Ultimate by [DRuG]Scarface - [BDC]Scarface - 01.07.2008

Quote:
Originally Posted by [DSK
Zh3r0 ]
Freakin awesome protector for ma server.
thanks .
No Problem. Let me know how how it is!

Which server are you running it on?

Regards,
Scarface


Re: [Anti-Cheat] FcukIt v3.0 Ultimate by [DRuG]Scarface - edygangsta - 01.07.2008

Awesome Job man ... it's really useful


Re: [Anti-Cheat] FcukIt v3.0 Ultimate by [DRuG]Scarface - [IB]Scorcher - 01.07.2008

Fuckin' excellent.


Re: [Anti-Cheat] FcukIt v3.0 Ultimate by [DRuG]Scarface - CJoao - 01.07.2008

Tnx Dude


Re: [Anti-Cheat] FcukIt v3.0 Ultimate by [DRuG]Scarface - Magor - 01.07.2008

Why do you use format here?

pawn Code:
new iString[128];
format(iString, sizeof(iString), "*** Server Monitored by FcukIt v3.0 Ultimate! [by [DRuG]Scarface]");
SendClientMessage(playerid, 0xFFFF00AA, iString);
Instead of this:

pawn Code:
SendClientMessage(playerid, 0xFFFF00AA, "*** Server Monitored by FcukIt v3.0 Ultimate! [by [DRuG]Scarface]");
Why do you use uselessly big variables?

pawn Code:
rConfig()
{
  new File:fhandle;
  new cname[256];
  new temp[256];
  new value[256];
  fhandle = fopen("ficonfig.txt",io_readwrite);
  ...
There will never be longer line than 64 characters ! [in the settings file]
Your code is hard readable. Check this: http://forum.sa-mp.com/index.php?topic=61893.0


Re: [Anti-Cheat] FcukIt v3.0 Ultimate by [DRuG]Scarface - [BDC]Scarface - 01.07.2008

Quote:
Originally Posted by Magor
Why do you use format here?

pawn Code:
new iString[128];
format(iString, sizeof(iString), "*** Server Monitored by FcukIt v3.0 Ultimate! [by [DRuG]Scarface]");
SendClientMessage(playerid, 0xFFFF00AA, iString);
Instead of this:

pawn Code:
SendClientMessage(playerid, 0xFFFF00AA, "*** Server Monitored by FcukIt v3.0 Ultimate! [by [DRuG]Scarface]");
Why do you use uselessly big variables?

pawn Code:
rConfig()
{
  new File:fhandle;
  new cname[256];
  new temp[256];
  new value[256];
  fhandle = fopen("ficonfig.txt",io_readwrite);
  ...
There will never be longer line than 64 characters ! [in the settings file]
Your code is hard readable. Check this: http://forum.sa-mp.com/index.php?topic=61893.0
Appreciate the alert...

First of all, the rconfig was first done when i started coding it in 2006 so thats why i made the strings large i was unaware what would eventually be inserted into them....the extra 500 bytes in the memory is not going to make any differance at all. the code is easily readable to me.

I would of used format as there would of been a variable in there but i changed the welcome message and didnt change the type....if you look at the code overall....its very efficient. I dont really care about trivial things like that...when im trying to code 3 scripts at once.

I have noticed that you are highly critical of people scripts however i have not yet seen you release one, constructive criticism is good. However you have to look at the overall image, i am creating a script that is constantly changing and I am more worried about the accuracy and reliability of the script compared to if its using an alleged unneccesary 500bytes of memory.

Cheers,
Scarface



Re: [Anti-Cheat] FcukIt v3.0 Ultimate by [DRuG]Scarface - Magor - 01.07.2008

I am surprised (in good way), because you are the first, who doesn't thing that my post is against the author, but the purpose is to show problem parts of code.


Re: [Anti-Cheat] FcukIt v3.0 Ultimate by [DRuG]Scarface - Hal - 09.12.2010

Quote:
Originally Posted by [BDC]Scarface
View Post
Appreciate the alert...

First of all, the rconfig was first done when i started coding it in 2006 so thats why i made the strings large i was unaware what would eventually be inserted into them....the extra 500 bytes in the memory is not going to make any differance at all. the code is easily readable to me.

I would of used format as there would of been a variable in there but i changed the welcome message and didnt change the type....if you look at the code overall....its very efficient. I dont really care about trivial things like that...when im trying to code 3 scripts at once.

I have noticed that you are highly critical of people scripts however i have not yet seen you release one, constructive criticism is good. However you have to look at the overall image, i am creating a script that is constantly changing and I am more worried about the accuracy and reliability of the script compared to if its using an alleged unneccesary 500bytes of memory.

Cheers,
Scarface
well things like unnecessary formats, and large strings waste memory and are not efficient. That's the most basic thing you can do to optimize a script.