Nex Anticheat (Nex-AC) - is a comprehensive protection which combines powerful anticheat and protection against various attacks (flood, DoS). Anticheat detects popular cheats instantly punishing cheaters. Anti-DoS combines customizable anti-flood, anti-DoS at network level and a lot of protection tools against hacking, crashers etc.
List of basic anti-cheats: * Anti-AirBreak (onfoot/in vehicle) * Anti-teleport hack (onfoot/into/in/between vehicles) * Anti-teleport (pickups) * Anti-FlyHack (onfoot/in vehicle) * Anti-SpeedHack (onfoot/in vehicle) * Anti-Health hack (onfoot/in vehicle) and armour hack * Anti-Weapon hack and (add/infinite) ammo hack * Anti-Special actions hack (including jetpack) * Anti-GodMode from bullets (onfoot/in vehicle) * Anti-Invisible hack * Anti-Money hack * Anti-Tuning hack * Anti-lagcomp-spoof * Anti-Parkour mod * Anti-Quick turn * Anti-Rapid fire * Anti-FakeSpawn * Anti-FakeKill * Anti-Pro Aim * Anti-CJ run * Anti-CarShot * Anti-CarJack * Anti-UnFreeze * Anti-AFK Ghost * Anti-Reconnect * Anti-High ping * Anti-Fake NPC * Anti-Dialog hack * Protection from sandbox * Protection from invalid version * Protection from flood by seat changing * Protection from connection flood in one slot * Anti-Rcon hack (brute/brute-forse) * Anti-callback functions flood (complete list below) * Anti-crashers (complete list below) * Anti-NOP's (complete list below) * Anti-Dos
Additional features: * Setting anticheat from file The settings is located in a separate file (scriptfiles\nex-ac_settings.cfg) * Statistics viewing Ability to view statistics of the anticheat for all the time of server work since its launch Displayed automatically when the server turns off. Stored in a server log (server_log.txt) * Logging the most important actions Optionally, you can enable debug-mode for logging all actions * Multilingual Ability to set any of the available languages. It also simplifies the process of translation of anticheat into other languages
Functions:
Code:
public OnCheatDetected(playerid, ip_address[], type, code)
Called when triggers one of the anti-cheats
playerid - ID of the cheater
ip_address[] - IP-address of the cheater
type - Type of cheating (when 0 it returns the ID, when 1 - IP)
code - Code (ID) of the anti-cheat
This callback does not handle returns
EnableAntiCheat(code, enable)
Use to enable/disable one of the anti-cheats
code - ID of the anti-cheat
enable - 1 to enable/0 to disable
Returns 1 (true) if the function executed successfully or 0 (false) if the code parameter contains an invalid ID of the anti-cheat
EnableAntiCheatForPlayer(playerid, code, enable)
Use to enable/disable one of the anti-cheats for a particular player
playerid - ID of the player who needs to enable/disable the anti-cheat
code - ID of the anti-cheat
enable - 1 to enable/0 to disable
Returns 1 if the function executed successfully, 0 if the player is not connected or -1 if the code parameter contains an invalid ID of the anti-cheat
Added in v1.3:
IsAntiCheatEnabled(code)
Use to check whether one of the anti-cheats is enabled/disabled
code - ID of the anti-cheat
Return 1 (true) if enabled or 0 (false) if disabled
IsAntiCheatEnabledForPlayer(playerid, code)
Use to check whether one of the anti-cheats is enabled/disabled for a particular player
playerid - ID of the player to be checked whether the anti-cheat enabled/disabled for him
code - ID of the anti-cheat
Return 1 (true) if enabled or 0 (false) if disabled
Added in v1.8.8:
AntiCheatGetHealth(playerid, &Float:health)
Use to get the amount of a player's health
playerid - The ID of the player
&Float:health - Variable for storage health, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the player is not connected
AntiCheatGetArmour(playerid, &Float:armour)
Use to get the amount of a player's armour
playerid - The ID of the player
&Float:armour - Variable for storage armour, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the player is not connected
AntiCheatGetVehicleHealth(vehicleid, &Float:health)
Use to get the amount of the vehicle health
vehicleid - The ID of the vehicle
&Float:health - Variable for storage health, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist
AntiCheatGetWeaponData(playerid, slot, &weapons, &ammo)
Use to get weapons and ammo in a certain slot of a player
playerid - The ID of the player
slot - The slot in which need to get the weapons and ammo
&weapons - Variable for storage weapon ID, passed by reference
&ammo - Variable for storage amount of ammo, passed by reference
Returns 1 if the function executed successfully, 0 if the player is not connected or -1 if the slot is specified incorrectly
AntiCheatGetSpawnWeapon(playerid, &weapon1, &weapon1_ammo, &weapon2, &weapon2_ammo, &weapon3, &weapon3_ammo)
Use to get spawn weapons and ammo of a player
playerid - The ID of the player
&weapon1 - Variable for storage the weapon 1, passed by reference
&weapon1_ammo - The variable for storage the amount of ammo for the weapon 1, passed by reference
&weapon2 - Variable for storage the weapon 2, passed by reference
&weapon2_ammo - The variable for storage the amount of ammo for the weapon 2, passed by reference
&weapon3 - Variable for storage the weapon 3, passed by reference
&weapon3_ammo - The variable for storage the amount of ammo for the weapon 3, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the player is not connected
AntiCheatGetPos(playerid, &Float:x, &Float:y, &Float:z)
Use to get a player's position
playerid - The ID of the player
&Float:x - The variable for storage the x coordinate, passed by reference
&Float:y - The variable for storage the y coordinate, passed by reference
&Float:z - The variable for storage the z coordinate, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the player is not connected
AntiCheatGetVehicleVelocity(vehicleid, &Float:x, &Float:y, &Float:z)
Use to get the vehicle speed
vehicleid - The ID of the vehicle
&Float:x - The variable for storage the x speed, passed by reference
&Float:y - The variable for storage the y speed, passed by reference
&Float:z - The variable for storage the z speed, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist
AntiCheatGetSpeed(playerid)
Use to get a player's speed
playerid - The ID of the player
Returns the player's speed or 0 if the player is not connected
AntiCheatGetAnimationIndex(playerid)
Use to get the index (ID) of a player's current animation
playerid - The ID of the player
Returns the ID of the animation or 0 if the player is not connected
AntiCheatGetDialog(playerid)
Use to get the ID of the opened dialog of a player
playerid - The ID of the player
Returns the ID of the dialog or -1 if the player is not connected
AntiCheatGetMoney(playerid)
Use to get the amount of a player's money
playerid - The ID of the player
Returns the amount of money or 0 if the player is not connected
AntiCheatGetEnterVehicle(playerid)
Use to get the ID of the vehicle which a player try to enter
playerid - The ID of the player
Returns the ID of the vehicle or 0 if the player is not connected
AntiCheatGetVehicleID(playerid)
Use to get the ID of the vehicle in which a player is
playerid - The ID of the player
Returns the ID of the vehicle or 0 if the player is not connected
AntiCheatGetWeapon(playerid)
Use to get a player's current weapon ID
playerid - The ID of the player
Returns the ID of weapon or -1 if the player is not connected
AntiCheatGetVehicleSeat(playerid)
Use to get the seat in the vehicle on which the player is
playerid - The ID of the player
Returns the ID of the seat or -1 if the player is not connected
AntiCheatGetSpecialAction(playerid)
Use to get the ID of the special action of a player
playerid - The ID of the player
Returns the ID of the special action or 0 if the player is not connected
AntiCheatGetLastSpecialAction(playerid)
Use to get the ID of the previous special action of a player
playerid - The ID of the player
Returns the ID of the previous special action or 0 if the player is not connected
AntiCheatGetLastShotWeapon(playerid)
Use to get the ID of the last weapon from which a player shot
playerid - The ID of the player
Returns the ID of the last weapon or -1 if the player is not connected
AntiCheatGetLastPickup(playerid)
Use to get the ID of the last pickup which a player picked
playerid - The ID of the player
Returns the ID of the last picked up pickup or -1 if the player is not connected
AntiCheatGetLastUpdateTime(playerid)
Use to get a player's last update timestamp
playerid - The ID of the player
Returns the timestamp of the last update or 0 if the player is not connected
AntiCheatGetLastReloadTime(playerid)
Use to get a player's last (weapon) reload timestamp
playerid - The ID of the player
Returns the timestamp of the last reload or 0 if the player is not connected
AntiCheatGetLastEnteredVehTime(playerid)
Use to get a player's last entering vehicle attempt timestamp
playerid - The ID of the player
Returns the timestamp of the last entering attempt or 0 if the player is not connected
AntiCheatGetLastShotTime(playerid)
Use to get a player's last shot timestamp
playerid - The ID of the player
Returns the timestamp of the last shot or 0 if the player is not connected
AntiCheatGetLastSpawnTime(playerid)
Use to get a player's last spawn timestamp
playerid - The ID of the player
Returns the timestamp of the last spawn or 0 if the player is not connected
AntiCheatIntEnterExitsIsEnabled(playerid)
Use to check whether enter/exit markers in interiors are enabled/disabled for a player
playerid - The ID of the player
Returns 1 (true) if enabled or 0 (false) if disabled
AntiCheatStuntBonusIsEnabled(playerid)
Use to check whether stunt bonus is enabled/disabled for a player
playerid - The ID of the player
Returns 1 (true) if enabled or 0 (false) if disabled
AntiCheatIsInModShop(playerid)
Use to check whether a player is in ModShop or not
playerid - The ID of the player
Returns 1 (true) if it is or 0 (false) if it is not
AntiCheatIsFrozen(playerid)
Use to check whether a player is frozen or not
playerid - The ID of the player
Returns 1 (true) if frozen or 0 (false) if not frozen
AntiCheatIsDead(playerid)
Use to check whether a player is dead or not
playerid - The ID of the player
Returns 1 (true) if dead or 0 (false) if not dead
AntiCheatIsConnected(playerid)
Use to check whether a player is on a server or not
playerid - The ID of the player
Returns 1 (true) if it is or 0 (false) if it is not
Added in v1.9.37:
public OnCheatWarning(playerid, ip_address[], type, code, code2, count)
Called when triggers any warnings of one of the anti-cheats
playerid - ID of the suspected cheater
ip_address[] - IP-address of the suspected cheater
type - Type of cheating (when `0` it returns the ID, when `1` - IP)
code - Code (ID) of the anti-cheat
code2 - Sub-code (ID) of the anti-cheat check
count - Count of warnings triggered on suspected cheater
This callback does not handle returns
public OnFloodWarning(playerid, publicid, count)
Called when triggers any anti-flood warnings on one of the protected publics
playerid - ID of the suspected flooder
publicid - ID of the public that was called too quickly
count - Count of warnings triggered on suspected flooder
This callback does not handle returns
public OnNOPWarning(playerid, nopid, count)
Called when triggers any NOP warnings on one of the protected functions
playerid - ID of the suspected cheater
nopid - ID of the NOP check
count - Count of warnings triggered on suspected cheater
This callback does not handle returns
AntiCheatKickWithDesync(playerid, code)
Use to kick with desync a particular player by the anticheat
playerid - ID of the player who will be kicked with desync for the delay time
code - ID of the anti-cheat (with some codes the player's vehicle will be resynced after his disconnection)
Returns 1 if the function executed successfully, 0 if the player is not connected or -1 if the player has already been kicked
AntiCheatIsKickedWithDecync(playerid)
Use to check whether a player is (being) kicked or not
playerid - The ID of the player
Returns 1 for kick onfoot, 2 for kick in a vehicle (driver), 3 if player is already disconnected or 0 if he isn't kicked
Added in v1.9.40:
AntiCheatGetSpawnPos(playerid, &Float:x, &Float:y, &Float:z)
Use to get a player's spawn position
playerid - The ID of the player
&Float:x - The variable for storage the x coordinate, passed by reference
&Float:y - The variable for storage the y coordinate, passed by reference
&Float:z - The variable for storage the z coordinate, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the player is not connected
Added in v1.9.41:
EnableAntiNOP(nopcode, enable)
Use to enable/disable one of the anti-NOPs
nopcode - ID of the anti-NOP
enable - 1 to enable/0 to disable
Returns 1 (true) if the function executed successfully or 0 (false) if the nopcode parameter contains an invalid ID of the anti-NOP
EnableAntiNOPForPlayer(playerid, nopcode, enable)
Use to enable/disable one of the anti-NOPs for a particular player
playerid - ID of the player who needs to enable/disable the anti-NOP
nopcode - ID of the anti-NOP
enable - 1 to enable/0 to disable
Returns 1 if the function executed successfully, 0 if the player is not connected or -1 if the nopcode parameter contains an invalid ID of the anti-NOP
IsAntiNOPEnabled(nopcode)
Use to check whether one of the anti-NOPs is enabled/disabled
nopcode - ID of the anti-NOP
Return 1 (true) if enabled or 0 (false) if disabled
IsAntiNOPEnabledForPlayer(playerid, nopcode)
Use to check whether one of the anti-NOPs is enabled/disabled for a particular player
playerid - ID of the player to be checked whether the anti-NOP enabled/disabled for him
nopcode - ID of the anti-NOP
Return 1 (true) if enabled or 0 (false) if disabled
Added in v1.9.42:
AntiCheatGetVehicleDriver(vehicleid)
Use to get the ID of the driver of the vehicle
vehicleid - The ID of the vehicle
Returns the ID of the driver or INVALID_PLAYER_ID if the vehicle does not exist
AntiCheatGetVehicleInterior(vehicleid)
Use to get the ID of the interior of the vehicle
vehicleid - The ID of the vehicle
Returns the ID of the interior or 0 if the vehicle does not exist
AntiCheatGetVehiclePaintjob(vehicleid)
Use to get the ID of the paintjob of the vehicle
vehicleid - The ID of the vehicle
Returns the ID of the paintjob or 3 if the vehicle does not exist
Added in v1.9.43:
AntiCheatGetVehiclePos(vehicleid, &Float:x, &Float:y, &Float:z)
Use to get the vehicle position
vehicleid - The ID of the vehicle
&Float:x - The variable for storage the x coordinate, passed by reference
&Float:y - The variable for storage the y coordinate, passed by reference
&Float:z - The variable for storage the z coordinate, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist
AntiCheatGetVehicleZAngle(vehicleid, &Float:z_angle)
Use to get the vehicle z rotation
vehicleid - The ID of the vehicle
&Float:z_angle - The variable for storage the z rotation, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist
AntiCheatGetVehicleSpawnPos(vehicleid, &Float:x, &Float:y, &Float:z)
Use to get the vehicle spawn position
vehicleid - The ID of the vehicle
&Float:x - The variable for storage the x coordinate, passed by reference
&Float:y - The variable for storage the y coordinate, passed by reference
&Float:z - The variable for storage the z coordinate, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist
AntiCheatGetVehicleSpawnZAngle(vehicleid, &Float:z_angle)
Use to get the vehicle spawn z rotation
vehicleid - The ID of the vehicle
&Float:z_angle - The variable for storage the z rotation, passed by reference
Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist
Added in v1.9.46:
AntiCheatGetInterior(playerid)
Use to get the ID of the interior in which a player is
playerid - The ID of the player
Returns the ID of the interior or 0 if the player is not connected
Example of setting OnCheatDetected in your gamemode
Multilingual: The script can be configured in any of the available languages. To do it, just download the desired localization, save it in a directory with the main include (nex_ac.inc) and recompile your script.
* .lang files can be opened even in default notepad and easily edited
Did not find your language? Help the project ???? If you know well a language that is not in the list, please translate anticheat into this language. To do this, just share the translated .langfile in this thread. I will be very glad of your help and add you in the list of those who helped the development of the anticheat.
It is also recommended to check for using any other anticheats in order to avoid conflicts with them.
Installation: 1. Download version of the anticheat which compatible with the version of your server 2. Download the language file (.lang) in your preferred language 3. Copy both files to a folder "/pawno/include" which is located in a folder with the server 4. In gamemode and all filterscripts, after "#include <a_samp>" write the following: "#include <nex-ac>" Warning! If you use Streamer Plugin by Incognito, Timerfix plugin by Dan, foreach, sscanf, Pawn.RakNet or y_hooks, include it before nex-ac! Also keep in mind that filterscript must have "#define FILTERSCRIPT" before including the anticheat 5. Compile the modified scripts
Do you get an error when you compiling this anticheat with YSI? Check out some tips
Changelog:
Code:
v1.0
* Initial release
v1.1
Changes:
* Compatible with Streamer Plugin
* Compatible with y_hooks
* Minor optimization
Fixes:
* Increased certain values and the distance considering ping
* Fixed a bug with a pick up similar weapons on the pickups
* Fixed a bug with a kick when spawn and then install the player position/interior
* Fixed a bug with a kick when spawn and then install the player weapons (if used AddPlayerClass/Ex)
* Fixed crash when calling ShowPlayerDialog in CallRemoteFunction
v1.2
Changes:
* Compatible with y_dialog
* Additional compatibility with foreach
Fixes:
* Fixed several bugs in Anti-God Mode
* Fixed a bug with a kick during prolonged shooting a minigun
* Fixed display of statistics and reports about kick
* Tweaked Belarusian localization
Now it is available on GitHub! (by popular demand)
v1.3
Changes:
* Added "#define USE_QUERY" (true by default)
** If your server is under Brute-force attack - for better protection USE_QUERY value can be changed to false
** Attention! If false, the server will not display the information in the server browser, so use in extreme cases!
* Added features IsAntiCheatEnabled and IsAntiCheatEnabledForPlayer
Fixes:
* Fixed load anticheat configuration from config-file
* Increased some values in favor of players with high ping
* Rcon protection (against Brute-force) now also dynamically enabled/disabled by function EnableAntiCheat
* Fixed minor bugs in the anti-cheats on ammo hack, RapidFire, SpeedHack in vehicle, Anti-GodMode on foot and in vehicle
v1.4
Changes:
* Compatible with Socket Plugin
* Removed some anti-crashers (which are fixed in the new version r2)
* Improved anti-tuning hack: now detects free tuning in ModShops
* Improved anti-carshot
Fixes:
* Tweaked some values in the anti-flood
* Fixed several bugs in anti-weapon hack
* Fixed a bug where all the cars could have a siren
* Fixed a bug in the anti-teleport hack with a kick at the entrance to ModShop
* Fixed a bug in the anti-GodMode onfoot with a kick if the bullets were desync
v1.5
Changes:
* Improved interaction with anticheat by OnCheatDetected
* Improved Anti-ProAim: now detects Silent-Aim
* Removed error when compiling, if you have not included the localization
* Minor optimization
Fixes:
* Fixed compatibility with Streamer Plugin
* Fixed compatibility with a foreach from last YSI
* Improved Anti-GodMode onfoot and Anti-GodMode in vehicle
* Fixed a bug in Anti-FlyHack with a kick when jumping on a bike
* Fixed some bugs in Anti-Invisible hack
v1.6
Changes:
* Improved compatibility with y_hooks in the latest YSI
* Improved Anti-Rapid fire: now detects fast reload
* For security reasons, added a few Anti-Aim crashers
* Added check when compiling for compatibility with the server version
* OnCheatDetected is now called even for those detects, which are don't kick by default
* Anti-UnFreeze hack is now disabled by default
Fixes:
* Fixed a bug in Anti-Teleport into vehicle with enter closed vehicle
* Fixed protection against Rcon hack (in game)
* Fixed function EnableAntiCheat
v1.7
Changes:
* Updated Anti-Tuning crasher
* Additional compatibility with sscanf
* Improved compatibility with other scripts
Fixes:
* Fixed compatibility with Streamer Plugin
* Fixed Anti-SpeedHack, Anti-Flood and Anti-Invisible hack
* Fixed a bug in Anti-Ammo hack with ResetPlayerWeapons function
v1.8
Changes:
* Improved Anti-RapidFire: now detects Auto +C
* Minor optimization
Fixes:
* Fixed some anticheats which didn't worked properly
* Increased the maximum allowable onfoot speed
* Fixed a bug in Anti-Invalid seat crasher
* Fixed Anti-Weapon and Ammo hack
v1.8.1
Changes:
* Rewrote the Anti-Dialog crasher (%)
Fixes:
* Fixed a bug in Anti-Ammo hack with a kick for a detonator
* Fixed debug mode
v1.8.2
Fixes:
* Fixed EnableAntiCheatForPlayer function
* Fixed bugs with "#define AC_USE_<...>"
v1.8.3
Fixes:
* Fixed display messages about kick in some localizations
v1.8.4
Changes:
* Minor optimization
Fixes:
* Increased some values (considering ping)
* Fixed a bug in Anti-RapidFire with a kick for the shooting of the passenger seat
* Fixed a bug in Anti-Ammo hack with a kick for the shooting of the driver's seat
v1.8.5
Fixes:
* Fixed some checks for invalid vehicle model
v1.8.6
Changes:
* Returned some anti-crashers (which are "fixed" in version r2)
v1.8.7
Fixes:
* Fixed a bug in Anti-FlyHack (onfoot) with a kick for a jump to the water
v1.8.8
Changes:
* Improved code readability
* Minor bug fixes and improvements
* Added debug functions
Fixes:
* Fixed compatibility with the latest versions of Streamer Plugin and YSI
v1.8.9
Fixes:
* Tweaked some settings
* Fixed GivePlayerWeapon and SetPlayerAmmo functions (NOP protection)
* Fixed SetVehicleHealth function
* Fixed SetPlayerInterior function
v1.9
Changes:
* Minor improvements
* Added a hook LinkVehicleToInterior function
* Improved anti-ammo hack for Sawnoff Shotgun, 9mm, Uzi and Tec-9
* Added filterscripts support for protection against spoofing dialogs
* Rewrote the Anti-AFK Ghost
Fixes:
* Fixed RepairVehicle function
* Fixed a bug in the Anti-GodMode (in vehicle) with "Array out of bounds"
* Fixed a bug in the Anti-Godmode (in vehicle) with a kick when shooting on wheels
* Fixed a bug with SetPlayerArmedWeapon in OnPlayerTakeDamage
* Fixed a bug in the Anti-Ammo hack when shooting from the driver's seat
* Fixed an issue with the calculation of the max seat for vehicle model 483
* Fixed a bug in the Anti-Godmode (onfoot) with a kick while entering the car
* Fixed errors with "STREAMER_ENABLE_TAGS"
* Fixed several bugs in the anti-cheat on pickups
v1.9.1
Changes:
* Added compatibility with Nexius's Update Checker
v1.9.2
Changes:
* Minor improvements
* Changed some values in anti-flood
Fixes:
* Fixed a bug with a kick the player for the setting him interior in which he already is
v1.9.3
Changes:
* Removed the check for the distance when leaving the vehicle in the anti-teleport hack (due to false detects)
v1.9.4
Changes:
* Changed the punishment for teleport unoccupied vehicles
Fixes:
* Fixed a bug in anti-teleport hack
* Fixed a bug in the protection on NOP RemovePlayerFromVehicle
* Fixed anti-money hack
v1.9.5
Fixes:
* Fixed a bug in the anti-teleport hack with the setting of the interior before spawn
* Fixed hook OnPlayerClickPlayerTextDraw
v1.9.6
Changes:
* Changed some values in the anti-flood
Fixes:
* Fixed a bug in the anti-invisibility hack with spawn during spectating
* Fixed a bug in the anti-speedhack with SetVehicleToRespawn function
* Fixed compatibility with streamer checkpoints
* Fixed minor bugs
v1.9.7
Changes:
* Changed some values in anti-flood
* EnableAntiCheat(ForPlayer) and IsAntiCheatEnabled(ForPlayer) functions can be called from filterscript
* Added protection against registration bypass (an idea by f0Re3t)
* Rewritten the protection against high ping
Fixes:
* Fixed a bug in the Anti-SpeedHack with a kick for a fast ride on the train
* Fully fixed a bug with a kick for a change of interior
v1.9.8
Changes:
* AntiCheatGet* functions are now can be called from filterscripts
* Faster call hooked functions from GameMode
* Rewritten anti-money hack
Fixes:
* Fixed a bypass in anti-ammo hack for high-rate weapons
* Fixed a bypass in the anti-teleport with the ability to teleport after changing interior by server
* Fixed a bug in the anti-weapon hack with a kick when buying weapons in Ammu-Nation for the wrong price
* Fixed a bug in the protection against NOPs with a kick for take a similar weapons
* Fixed compilation errors when included in filterscript
v1.9.9
Fixes:
* Fixed several bugs in the anti-special actions hack
* Fixed a bug in the anti-weapon hack with a kick when ResetPlayerWeapons used in OnPlayerDeath
* Tweaked some values
v1.9.10
Changes:
* Removed kick function when player timeout/crashes
* Updated an array of valid tuning components for each vehicle (taken from fixes)
* Added internal checks for the arguments in GivePlayerWeapon, SetPlayerArmedWeapon functions
* Significantly improved debug mode
* Minor improvements
Fixes:
* Fixed a bug in the protection against NOPs with a kick for the attempt to enter already occupied vehicle seat
* Fixed anti-speedhack in vehicle (check the maximum speed)
* Improved anti-rapid fire for the shotgun
Due to the numerous cases of connection problems with anti-cheat, there was added a version that is compatible with the server version 0.3.7 R1
v1.9.11
Fixes:
* Fixed SetPlayerArmedWeapon function
* Fixed PutPlayerInVehicle function
* Minor fixes
v1.9.12
Changes:
* Changed some values in anti-flood
* Rewrote system of call some hooked functions
Fixes:
* Fixed a bug when trying to get on the bus on the passenger seat more than 1
* Fixed a bug in protection against NOPs with the wrong type of health and armor when comparing
* Fixed anti-infinite ammo hack for sniper rifle
* Tweaked function PutPlayerInVehicle
v1.9.13
Changes:
* Changed some values in anti-flood
Fixes:
* Fixed a bug in the anti-teleport in closed vehicles with a kick while attempting to enter the passenger seat
v1.9.14
Changes:
* Improved anti-GodMode
* Minor improvements for EnableAntiCheat and EnableAntiCheatForPlayer functions
* Changed the default punishment for repairing cars by cheats (returns the old health)
* Removed some anti-weapon crashers
v1.9.15
Changes:
* Anti-parkour mod and anti-fake NPC is now disabled by default
Fixes:
* Fixed a bug in the protection against NOP RemovePlayerFromVehicle
v1.9.16
Fixes:
* Tweaked SetPlayerPos, SetPlayerPosFindZ and SetVehiclePos functions
v1.9.17
Changes:
* Added check for the validity of the pickup when a player picks it up
* Increased the minimum distance of detection AirBreak onfoot
Fixes:
* Fixed anti-CJ run with a kick for landing on parachute (holding 'S' key)
* Fixed anti-FlyHack with parachutist animation
v1.9.18
Changes:
* Debug mode is now enabled by default
Fixes:
* Fixed false detection in anti-flood with fast entering and exit from boats
* Tweaked minimum values of 'fire rate' in anti-rapid fire for desert eagle
* Fixed false kick for NOPs if the server gave health/armor to player or his transport while he/it burned
* Fixed anti-infinite ammo hack for m4, mp5 and silenced pistol
v1.9.19
Fixes:
* Fixed a bug in the anti-fakespawn with a kick for exit from spec mode when observed player is leaving
* Fixed anti-health (onfoot/in vehicle) and armor hack
v1.9.20
Changes:
* Minor improvements in code
Fixes:
* Fixed a bug in the anti-pickup hack with a kick for a teleport on the pickup position
* Fixed RemovePlayerFromVehicle function
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
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
v1.9.23
Fixes:
* Fixed incorrect values return in some publics
* Fixed bug when vehicle didn't reset the value of its driver after the player disconnect
* Fixed bug with ping check when connecting
v1.9.24
Changes:
* Reduced sensitivity of anti-FlyHack in vehicle
* Reduced sensitivity of anti-AirBreak on short distances
* If the default enter/exit markers are enabled (ie, gm is not used DisableInteriorEnterExits), then anti-teleport for long distances will automatically disabled (to avoid false detections when entering the roof of a skyscraper in LS)
Fixes:
* Fixed a bug with a kick for entering bus (id 431 & 437) for more than one passenger
* Fixed a bug with a kick for quick entering train vagon (id 570)
v1.9.25
Changes:
* Reduced sensitivity of anti-Speedhack
* Minor improvements
Fixes:
* Fixed a bug in anti-teleport hack at death in the interior
* Fixed a bug in anti-fast spawn using ForceClassSelection
* Fixed a bug in anti-GodMode onfoot with a kick when player exiting from vehicle, if someone is shooted in he at this moment
* Fixed ResetPlayerWeapons function
v1.9.26
Changes:
* Rewrote anti-teleport to interiors hack
* Added additional protection from Damage Helper
* Added protection against explosion of vehicles after teleporting in them with cheats
* Minor fixes and improvements
Fixes:
* Fixed some bugs in anti-special actions hack
* Tweaked the minimum price of weapons in ammu-nation for anticheat
* Fixed SpawnPlayer function
v1.9.27
Changes:
* Increased maximum speed onfoot
* Changed some delays that await server's functions performing
* Added protection against vehicle respray if default modshops is disabled
* Increased the number of warnings for protect against high ping
* Rewrote anti-teleport for Streamer pickups
* Removed AntiCheatGetClass function
* Minor fixes and improvements
Fixes:
* Fixed anti-money hack
* Fixed a bug in protection against NOP GivePlayerWeapon
* Fixed an anti-fakespawn bypass when cheater calls OnPlayerRequestSpawn before spawn
* Fixed false detections after long shooting from some weapons
* Fixed some variables resetting during player spawn
* Fixed anti-speedhack
v1.9.28
Changes:
* Added support for Streamer_UpdateEx function
* Added compatibility with the Timerfix plugin by Dan
* The minimum detection distance for anti-teleport hack in vehicle is changed from 15 to 25 meters
* Reduced sensitivity of anti-AirBreak onfoot at short distances
* Increased the number of warnings for anti-money hack
Fixes:
* Fixed bypass with instant teleport after leaving the vehicle
* Fixed a bug in anti-health hack with a kick if player fell from bike (at low health values it is restored to 5 by the game)
* Fixed a bug in anti-teleport hack in vehicle with a kick when player teleports to the modshop with passengers in the vehicle
* Fixed anti-infinite ammo hack for Country Rifle
* Minor bug fixes
v1.9.29
Fixes:
* Fixed a bug in anti-GodMode with a kick of the victim when shooting him from a long distance
* Fixed a bug in anti-teleport hack with a kick after a teleport to the surface by the game when the player fell under the map in the vehicle
* Fixed bypass in anti-ammo hack, when the cheater gave himself a negative value of ammo, thereby making them endless
* Fixed bypass in anti-teleport hack in vehicle, when the cheater teleported at the time of entering the vehicle
* Minor fixes and improvements
v1.9.30
Changes:
* Increased minimum speed for FlyHack detection
* Increased waiting time for applying server functions in NOPs protection
Fixes:
* Tweaked anti-vehicle health hack and anti-GodMode in vehicle
* Fixed bugs in anti-teleport when player exit the vehicle
v1.9.31
Changes:
* Improved FlyHack detection (onfoot) with different animations
* Ability to include localization by yourself before including anticheat
* Reduced the sensitivity of anti-SpeedHack for tank (modelid 432)
* Changed anti-flood settings for public OnPlayerExitVehicle
v1.9.32
Changes:
* Added OnTrailerUpdate desync after the kick of cheater for the delay time (for r2 server version)
* Added exclusion checks for NPCs in some publics
Fixes:
* Fixed prices for some tuning components in default modshops
v1.9.33
Changes:
* Increased the number of warnings for high ping before kick
* Increased the minimum teleport distance for detect from 5 to 8 meters
* Added a check in OnPlayerWeaponShot on the validity of the hitid
Fixes:
* Fixed a bypass in anti-teleport hack into vehicle passenger seat
* Some fixes for anti-flood
v1.9.34
Changes:
* Improved protection from slappers in vehicle
* AntiCheatGetSpeed function now returns the speed as an integer and can be used in fs
* Minor optimization
Fixes:
* Fixed a check for shooting on the wheels of vehicle in anti-GodMode in vehicle
* Fixed a bypass in anti-teleport hack, when the cheater could teleport to the coordinates he needed immediately after applying SetPlayerPos
* Fixed a bug in anti-special actions hack with kick when player didn't apply some special actions in vehicle
* Fixed the behavior of anti-weapon hack when player takes some weapons with 0 ammo
v1.9.35
Changes:
* Added protection against passenger seat spoofing when manipulating unoccupied vehicle
* Minor optimization
Fixes:
* Fixed bug in anti-tuning crasher with kick when viewing paintjobs in default modshops
* Fixed a bug in anti-FlyHack with kick during parachute flying while performing some special actions
* Fixed a bypass in anti-teleport hack in vehicle, when the cheater could teleport to the coordinates he needed immediately after applying SetVehiclePos
* Fixed a bug in anti-teleport hack with kick when exiting the train from the passenger seat
v1.9.36
Fixes:
* Tweaked anti-teleport hack (unoccupied vehicle to yourself)
* Fixed a bug in anti-CJ run with a kick if invalid skins sets to a player
* Minor fixes and improvements
v1.9.37
Changes:
* Added warnings for anti-SpeedHack onfoot
* Rewritten anti-FlyHack onfoot with parachutist animation
* Removed protection against passenger seat spoofing when manipulating unoccupied vehicle
* Added the ability to adjust the time for zeroing the warnings for anti-SpeedHack in vehicle
* Added protection against sending an invalid position and speed for unoccupied vehicle
* AntiCheatGetDialog function now returns -1 if the specified player isn't connected
* Added "#define NO_SUSPICION_LOGS" to enable/disable logging of kick messages
* Added "#define AC_USE_PICKUP_WEAPONS" to enable/disable checks on getting weapons on default weapon pickups
* Added filtering for GetPlayerFacingAngle and GetVehicleZAngle, which now return a rotation angle of 0.0 if the player passed NaN
* Added AntiCheatKickWithDesync, AntiCheatIsKickedWithDecync functions and public OnCheatWarning, OnFloodWarning, OnNOPWarning
** For more information, see the "Functions" section in the first post of the topic
Fixes:
* Tweaked anti-flood settings
* Tweaked anti-AirBreak at short distances
* Fixed an issue when some anti-cheats could ignore the player when disabling NOP protection
* Fixed several bugs in anti-AFK Ghost
* Minor improvements and bugfixes
v1.9.38
Changes:
* Improved anti-Pro Aim and AFK Ghost
* Increased anti-rapid fire warnings for quick-fire weapons
* Changed default punishments for anti-pickups teleport and anti-lagcomp spoof
* Improved the mechanism for waiting for server functions to be applied when anti-NOPs is disabled
* The minimum distance for anti-teleport onfoot is increased from 30 to 40, and from 30 to 80 in vehicle
* Added warnings for protect against weapon mismatch in the hands and the one from which the player shot
* Reduced the maximum distance for anti-GodMode after which the protection ignores the player
* Increased some distances and delays because of players with high ping
* Improved protection from sending invalid data for unoccupied vehicles
* Added check for invalid damagedid in OnPlayerGiveDamage
Fixes:
* Tweaked anti-flood settings
* Fixed several bugs and anti-special actions hack
* Fixed an anti-teleport bypass when the cheater teleport to another place and back without kick while the server setting him a position
* Fixed a bug with installing an incorrect vehicle's interior when the server installed the player's interior
* Fixed a bug in the anti-teleport hack with kicks of passengers when the vehicle spawns
* Minor fixes and improvements
v1.9.39
Changes:
* Improved anti-AirBreak onfoot
* Improved anti-CarShot from passenger seat
* Changed the default punishment for anti-money hack
* Improved protection from fake teleport to default modshops
* Improved desync of the cheater before kick, especially if using OnCheatDetected
* Added warnings for anti-FlyHack onfoot with cyclist animation
* Added check for invalid vehicleid in OnPlayerExitVehicle
* Added check for invalid bodypart in OnPlayerTakeDamage
* Improved anti-fake kill
Fixes:
* Tweaked anti-rapid fire for Desert Eagle
* Improved anti-infinite ammo hack for some weapons
* Fixed a bug in anti-NOPs with a kick for NOP RemovePlayerFromVehicle when the player couldn't get off the vehicle at high speed
* Fixed a bug in anti-weapon hack with a kick for getting parachute when changing the server's vehicle and leaving the last one
* Fixed a bug in anti-special action hack with a kick when re-picking a jetpack
* Minor improvements and bugfixes
v1.9.40
Changes:
* Added warnings for anti-CJ run
* Added AntiCheatGetSpawnPos function
* Improved checks on purchase of weapons in default ammunitions
* Rewritten anti-teleport into vehicle and anti-invalid seat in vehicle
* Added compatibility with Pawn.RakNet (for better desync before kick)
* AntiCheatIsKickedWithDecync now returns 2 if the player was kicked being driver
* Improved anti-teleport and anti-speedhack onfoot, anti-ammo hack and anti-carshot from the passenger seat
* Improved the mechanism of protection from the vehicle teleport after the disconnection of the cheater
* Added protection against forbidden characters (%) in GetPlayerVersion
Fixes:
* Tweaked anti-flood settings
* Fixed anti-infinite ammo hack for some weapons
* Fixed an anti-teleport bypass when the cheater skipped the state PLAYER_STATE_SPAWNED after death/spectating
* Fixed a bug in anti-health hack in vehicle when the hacked hp could be kept after the disconnection of the cheater
* Minor improvements and bugfixes
v1.9.41
Changes:
* Added EnableAntiNOP, EnableAntiNOPForPlayer, IsAntiNOPEnabled and IsAntiNOPEnabledForPlayer functions
* Changed the default punishment for sending invalid data for unoccupied vehicles (now desync instead of kick)
* Minor improvements and fixes
Fixes:
* Fixed bypass of anti-teleport into locked vehicles
* Tweaked some anti-flood settings
v1.9.42
Changes:
* Removed version mismatch warning for 0.3.DL server version
* Now anticheat is distributed in one file for 0.3.7-R1 and 0.3.7-R2
* Added AntiCheatGetVehicleDriver, AntiCheatGetVehicleInterior and AntiCheatGetVehiclePaintjob functions
* Improved protection against Silent Aims
Fixes:
* Fixed the bypass of anti-teleport hack when the cheater could teleport from under the map
* Minor improvements and fixes
v1.9.43
Changes:
* Ability to run anticheat on older server versions (down to 0.3e inclusive)
** Correct work on older versions is not guaranteed and part of the functionality that isn't available in older versions will be just disabled
* Added AntiCheatGetVehiclePos, AntiCheatGetVehicleZAngle, AntiCheatGetVehicleSpawnPos and AntiCheatGetVehicleSpawnZAngle functions
* Increased and tweaked some distances
v1.9.44
Changes:
* Improved anti-FakeKill
* Added anti-teleport hack (onfoot and in car) and speedhack (in car) in the timer
* Improved anti-unoccupied vehicles teleport hack (for trailers)
* Minor improvements and fixes
Fixes:
* Tweaked compatibility with the latest version of Streamer Plugin
* Tweaked some settings of anti-infinite ammo hack for some weapons
* Fixed OnPlayerPickUpPickup call for pickups created via AddStaticPickup
* Fixed the formula for calculating the distance for versions below 0.3z
v1.9.45
Changes:
* Improved compatibility with Pawn.Raknet and sscanf
* Added "#define AC_USE_NPC" to enable/disable NPC checks
** You can disable this option to increase performance if you don't use NPC
* Improved anti-teleport onfoot/in vehicle and protection from damagers
* Increased some delays and warnings
Fixes:
* Fixed a bug in anti-teleport in vehicle with a kick when player enter/exit from the default modshops
* Fixed a bypass in anti-ammo hack with the ammo given by the server immediately after cheating their negative value
* Fixed frequent unoccupied vehicles teleport for a few meters back when a player exited from it on a speed
* Fixed a bug in anti-NOPs with a kick when fist was set as a weapon by the server and a player had brass knuckles before it
v1.9.46
Changes:
* Added AntiCheatGetInterior function
* Added check of the dispatched seat in passenger sync
* Improved anti-teleport hack (unoccupied vehicles to player) and anti-teleport hack (in vehicle)
* Added configuration file for configuring anti-NOPs (nex-ac_nop_settings.cfg)
* Added "#define AUTOSAVE_SETTINGS_IN_CONFIG" to enable/disable updating configuration file settings
** If this option is enabled, any use of EnbaleAntiCheat/EnableAntiNOP will also update settings in configs
* Minor improvements and fixes
Fixes:
* Fixed a bypass in anti-health hack in vehicle, when a cheater could send the health as NaN
* Fixed anticheat bypass with shooting fake weapons from driver’s and passenger’s seats
* Fixed a bypass in anti-teleport hack into closed vehicles when a cheater replaced the seat when entering as passenger
* Fixed a bypass in anti-speedhack onfoot when a cheater could send very high speed when surfing on cars
* Fixed some problems with y_hooks
Bugs: See the Issues section. If you find a bug, please write about it in this thread.
Thanks: Magic_York, Roberto_York, TheHero, Nike_33, Vitalik_Gonsor, Mix_Rargard, Unisheld, f0Re3t - testing ZiGGi, Urukhay, Yashas, theYiin, RaefaldhiAmartya, PatchwerkQWER, kvann, rt-2 - advices on the code Carper - German translation Jstylezzz - Dutch translation J4Rr3x, Sasino97 - Italian translation Alex Westbrook, JustBored - Spanish translation lashona, ArthourP, DAKYSKYE - Georgian translation wampiros6 - Polish translation DeitY, Dragony92 - Serbian translation NicK_ - PT/BR translation KyleSmith, infin1tyy - Improved English translation M4D - Persian (Farsi) Translation Valera_Kovshikov - Ukrainian translation RaefaldhiAmartya - Indonesian translation vannesenn - Croatian translation j3rry, vic1997 - French translation zaibaslr2 - Lithuanian translation UnforgiveNNN - Romanian translation Pedro. - Hungarian translation Ben_Lovejoy - Finnish translation Rengar - Latvian translation bgedition - Bulgarian translation Jensenn - Turkish translation Sanady - Slovak translation Grig - Armenian translation SooBad - Czech translation OldPawn - Estonian translation Negativ_Tm - Turkmen translation Trung.Tin - Vietnamese translation willbedie - Albanian translation aktah - Thai translation Michael.Richmond - Moldavian translation NemanjaMAX - Bosnian translation
This script also contains materials from third-party open source projects. Licensed under the GNU LGPL.
P.s. I developed this anticheat for about a year and spent on it a lot of effort and time. I really hope that it will be useful to you.