Leys Serverside AntiCheat (LSAC) - the beast serverside Anti-Cheat!

(30)
(285)
You can always read the reviews or discuss this product
Media gallery
King of Kekistan Endorsed
Buy product

Uses third party DRM. The product author has marked that this product uses a third party DRM service, you might have restricted access to the product source code and/or require additional setup after purchase.

In short

Must have. Leys Serverside AntiCheat (LSAC) is the final Anti-Cheat for gmod you will need! It offers a clean and sleek user-interface. This is the last serverside Anti-Cheat you will ever need!

Discord (kinda unofficial): https://discord.gg/veGQ75U9eR

Group for cool Anticheat users: https://steamcommunity.com/groups/leysac

(compatible with SwiftAC, use SwiftAC + LSAC if u're cool)

(remove SimpLAC if u have it)

THIS ADDON HAS A DRM WITH A C++ MODULE. IF YOUR HOST DOES NOT SUPPORT INSTALLING MODULES, DO NOT BUY THIS!

YOU CAN USE IT ON ALL OF YOUR SERVERS. AS LONG AS THEY ARE YOURS IT'S FINE.

YOU CAN NOT EDIT THE DEFAULT ANTICHEAT FILES. IT IS ONLY EXTENDABLE THROUGH THE API. IF YOU NEED ANYTHING IN THE API, TELL ME AND I WILL CONSIDER IT.

If you own SimpLAC or SwiftAC, join the discord and write /coupon for a discount

pepeHeart by MiraMoonx - FrankerFaceZ

Leys Serverside Anti-Cheat is a new Anti-Cheating solution running fully on the serverside with a focus on being efficient yet powerful. The Anti-Cheat consists of Detections and Cheat Preventions.

Detections detect any players which might try to use several cheats such as Aimbot on your server and

Cheat Preventions break cheats that are not easily detectable (e.g. ESPs, Wallhacks, BunnyHops, and NoSpreads all get broken).

There are no files being sent to your non-administrator clients - STEALTH. Admins get the menu streamed into their game through a mix of SendLua and svc_Gmod_ServerToClient magic.

The menu allows you to adjust pretty much everything from turning on and off detections to the reasons for kicking or banning players and more. On the Credits page, you can even play a game if you feel like it.


Anti-Cheat Youtube Playlist 📹

https://www.youtube.com/playlist?list=PLJnIlan9gVIo7vxfGOevFLmkoFvTg2MUp

Features 💎

  • Live Preview of Detections with ability to Abort Punishments
  • MySQL Integration
  • Fully stealth, no files sent to clients. The client Lua files being sent are sent to your admins only.
  • Detection Logs
  • Generic Logs
  • Access Logs
  • Error Logs
  • Automatic down and uploading of log pages
  • Detailed detection log view with various information like the last things the player said, where he was located, damage dealt, etc
  • Statistics Viewer with multiple Graphs showing how many % Cheat, how many cheaters per month, what detection got the most cheaters, etc
  • 40! Modules against cheaters
  • No more Wallhack! Serverside Anti-ESP
  • Several detections against Aimbots
  • Several detections against Flashlight Manipulation and other Impulse Spammers
  • Blockers for VPNs, Family Sharing Alts, etc
  • Perfect Silent Aim breaker!
  • Spinbot Detection
  • Detections for other manipulations to the games movement systems
  • Even heuristics based on e.g. too good K/D etc
  • Several more cheatpreventions/breakers such as anti bhop, antiesp, etc!
  • Discord Integration
  • False Detection Scanner
  • Ability to adjust what Modules you want on through Modules Selection
  • Specific settings for some modules
  • Interactive Minigame in Credits!
  • and MoREEeeEEeeee


Detected Cheats 😈

  • Methampetamine (a ratted cheat, see here a user who got ratted remotely and banned https://i.imgur.com/HAie7oI.png https://i.imgur.com/aVDWNFj.png) (review by meth user https://i.imgur.com/NplwmHe.png)
  • BigPackets
  • Bounty/Bouncy
  • Aimware
  • FriendlyHack
  • Free the Skids
  • HvH Base
  • Better Autostrafe
  • Reflx
  • Ares
  • chit mod
  • GMOD SDK
  • FapHack
  • SethHack
  • mApex
  • Hera
  • LemiGMOD
  • Time's Hack
  • AOShax
  • Nikyuria
  • NanoHack
  • many many many maaaaany more! :)

Commands 💻

TO RUN THESE COMMANDS YOU NEED ADMIN PERMISSIONS OR YOU HAVE TO BE THE DOWNLOADER OF THE SCRIPT

Chat Commands (for typing in chat)

  • !ac or !lsac to open the menu
  • !testcheat to open the test cheat
  • !rac to reload the menus code (use this when the menu e.g. didn't load)
  • !acver to see the anticheat version
  • !exportsettings to store settings in servers data/lsac_settings_export.txt
  • !loadsettings to load settings from data/lsac_settings_import.txt

Console Commands (for running in console)

  • gmod_undonum lsac ac
  • gmod_undonum lsac acver
  • gmod_undonum lsac rac
  • gmod_undonum lsac testcheat

Useful Lua Commands (for running in server console)

  • lua_run LSAC.cheatpreventions.modules["name of the module"]:SetEnabled(false) -- disable cheat prevention example, replace name of the module
  • lua_run LSAC.detections.modules["name of the module"]:SetEnabled(false) -- disable detection example, replace name of the module
  • lua_run LSAC.cheatpreventions.modules["Wallhack Breaker"]:SetEnabled(false) -- disable wallhackbreaker cheat prevention (resource intensive)
  • lua_run LSAC.cheatpreventions.modules["Aimbot Breaker Bot"]:SetEnabled(false) -- disabling the bot (some people don't know how2use the menu somehow)
  • lua_run for k,v in pairs(LSAC.cheatpreventions.modules) do print(k) end -- print out the names of all cheat preventions
  • lua_run for k,v in pairs(LSAC.detections.modules) do print(k) end -- print out the names of all detections

It does not matter whether you use chat or console commands - both work

Some Explanations 🧠

Performance

This is more efficient than any extensive client-side Lua anti-cheats since it uses no client resources. Clientside AntiCheats overwrite plenty of functions and send plenty of data to your server all the time. Clientside Anti-Cheats use resources on both the client and the server and in most cases performance issues scale up exponentially with the number of addons you have since those all of those need to be scanned. This is incredibly wasteful and leads to a bad experience for both your server and your players. LSAC meanwhile has no clientside code and is also more efficient than any other serverside anti-cheat approaches you might have seen because it's been benchmarked and tweaked rigorously in cooperation with some 100+ player Garry's Mod servers. The Modules can individually be turned off to your liking for even more performance in the sacrifice of some effectivity, which in the case of this AntiCheat is not an issue since it has so many methods - that there's an incredible amount of resiliency and reliability! :)

Why this vs SimpLAC:

SimpLAC is the spiritual predecessor. Think of it like Call of Duty 1 vs Call of Duty 2, or Garry's Mod vs Sbox. This system is much more advanced, complex, feature rich and just based of lines of code alone ~10x more complex than SimpLAC. If you want the latest cutting edge detections with UI and all, you need this. If you don't care about using some legacy system, then you can keep on using SimpLAC.

Why use this over a "Lua Anticheat"

Lua Anticheats are essentially dead in Garry's Mod. The problem is, a Lua AntiCheat is made with the goal in mind of detecting Lua Cheats. If they do detect C++ cheats, they simply have cheat specific detections i.e. checking for a folder of a specific cheat or a material. This as you can guess is pretty bad. It's a blacklist-esque approach, leading to any not yet added cheats and private cheats simply not getting detected.


Aimbot detections, general detections for "active" cheats, etc.:

Many cheats also affect the game's movement directly. Examples of this are stuff like Autofire cheats or Aimbots. To detect those, the server can use heuristics to for example measure how the players aim moved while ingame. There are clear differences between machine or even AI movement versus player movement. These subtle differences can be reliably scanned for and detected. This is what the detection parts of the anti-cheat focuses on.


AntiESP/AntiWallhack, general prevention for "passive" cheats, etc.:

Any ESP and Wallhack cheats will be unusable because you don't receive positions when you can't see the players anymore.

With the AntiCheat players, positions will ONLY be updated when those players are actually within your visibility range. Therefore, any Wallhack or ESP will always show outdated information and the old positions of the players.


For example, a player can have moved across the entire map while not being visible to you. The ESP would only see the last position of the player while he was in your visibility range. If you never saw him while moving across the map, you would only see the first position of the player i.e. his spawn position. The ESP would not show the player moving nor where he currently is making your ESP effectively useless. The reason for that being, the players position is outdated. His position only gets updated when he is visible to you.


An ESP however is passive in nature. It does not affect the movement of the game directly. Therefore, it is very hard for the server to detect. What the server can however do is change the code of the game in a way to render the cheating method ineffective. An example of this is the AntiESP which prevents you from seeing players positions while they are not in your visibility range, or the antinospread preventing you from ever properly predicting the spread of a bullet.


Cheat Preventions vs Detections

A detection catches a player in action and bans him for it. This is possible with several cheats such as for example Aimbots. However, there are some cheats that can only very hardly be detected due to the nature of how they work. A good example of this is a Wallhack. A Wallhack never affects the movement of the game and helps you see stuff you shouldn't, but it never manipulates the game in a manner which the server can detect. This is why I came up with Cheat Preventions. While the server can not reliably detect that the player is using a wallhack, the server can break the Wallhack from working, effectively making the Wallhack useless. This is done by changing the way the code of the game works. Other examples of this might be stuff like AntiNospread, breaking nospreads, or AntiBhop, breaking bhop cheats.

Effectivity

NO AntiCheat detecting "100%" of Cheaters or claiming to do so is telling you the truth. Some Cheats or Cheat Features may always slip through any sort of AntiCheat. Anyone making outrageous claims such as "This AntiCheat detects every cheat11!!" should not be listened to. The truth is, most people try to upsell their products hard to get more sales. This AntiCheat will detect Lua Cheats, C++ cheats and more. Unlike several other "attempts" at making an AntiCheat by some other unreferenced people, this here relies on new innovative methods and brings new ideas to the table. This is very important in the AntiCheating scene because the cheats will have to try to adapt to those which takes time. Whereas copying or mimicking other methods ends up in a recycling of something old.

Time until Ban/Kick/Punishment

The time from initial detection to punishment (kick or ban) is hardcoded to be at least 60 seconds. This means, when someone does cheat, there will be a delay between the action and the ban. This is required for two reasons. First, to gather more data i.e. take screenshots of the person cheating. Secondly, to help against false detections. Instant bans would lead to someone getting booted off your server without having been able to gather enough data or judge whether a detection was false. Lastly, it is bigger or equal to 60 seconds because as the last statement says more data has to be gathered sometimes. Imagine if we banned someone instantly at their first snap and kill headshot. Maybe they just got lucky. If they did it twice, maybe they were just very lucky. If we booted them off for that you'd get false detections. That is why for some detections it takes a few times until they kick in and get rid of the cheater. It's adding reliability - so while the cheater might be cheating for e.g. 1 minute or 2 minutes before getting booted off - you will have to deal with fewer players getting banned while not cheating. Lua Anticheats (for example SwiftAC) have quicker detection times while having lower detection rates.

Kicking vs Banning vs Logging (Why does it kick [...])

In some cases, the AntiCheat can not be 100% sure whether a certain detection was triggered by a Cheat or a legitimate user. In those cases, it will just kick or log instead of banning. Some might even only log instead of kicking or banning. A simple example for this might be a check for whether a user is trying to open a Cheat Menu. Since it is way too easy to cause this even as a legit user, it just kicks. A more complicated example might be something like the General Bind Mismatch Check. A cheat would 100% trigger it. But a legit user might too if they are for example trying to run those binds manually in the console or through the usage of macros.

Detection Time

Detection time does not mean the player will get punished instantly. See above for the entire time it takes. The average time for detection itself is very quick for most Cheats and Aimbots. Just for a "detecting alone" the time can be under 1 second or under 10 seconds

Demonstration Videos (no, your cheaters will not get booted off that quickly when using the addon, due to read section: Time until Ban/Kick/Punishment):

https://streamable.com/iqjc9c - ~0.15 seconds

https://streamable.com/n5iasp ~ 5.8 seconds

What about Ban Waves

The system is not designed in a way to support ban waves. How would you handle multiple infractions, how would you store them in a way that causes no duplicate information, how would you get the "wave to kick in" etcetera. Everything from the logging to the way it punishes is incompatible with ban waves. You'll end up flooding your logs and more. If you want that kind of behaviour, you'll have to implement your own custom logging with ban wave support and so on.

Disabling both kicks and bans

Not supported. Best you can do, is use the popup mode + manual mode, so you have to confirm every punishment individually https://i.imgur.com/tRlT1HS.png . The Anti-Cheat is supposed to at least kick the user. If you want that kind of custom behavior, you have to implement it yourself. The users who did implement it themselves eventually complained because they ended up flooding their logs with information about the same cheater getting detected over and over again. Plus, the players in their servers bitched about cheaters still being there. So don't do it, and if you want to do it, implement that behavior yourself.


Installation

Ez Guide

The installation process is amazingly easy. Drag and drop the addon to your servers garrysmod folder. It should add the files into the already existing directories addons/ and lua/. Reboot your server and it's installed! You can now open the menu by typing !ac in chat. If it doesn't you either A. Are not an admin on your servers admin mod or B. copied the wrong directory or into the wrong directory.

After Installation you may configure the addon to your liking. However, I recommend leaving as much as possible to default settings because if you don't know what you are doing this may cause more harm than good.

To open the menu you need admin rights in your admin mod.

If you are not sure whether you have installed it right, check the server ( NOT CLIENT ) console. The Anti-Cheat will always print there that it loaded.

Video Tutorial on how to Drag n Drop (you dont need this if you know how to drag n drop)



Configuration

Video Tutorial where someone disables some false detections in around 30 seconds

(this can also be used to disable other modules like the bot)

Changing Anti-Cheat Settings

Within the menu there is a settings tab with all of the settings of the Anti-Cheat.

You can view all of them as they currently are and change them to your liking. For example, lets say we want to change the message being shown to cheaters. We simply go to the settings and click on punishments. Then we get a nice overview of all current punishment settings.

Then we can proceed to click on "Message to show cheaters" and we get a popup enabling us to enter a new message for cheaters to see when they are getting punished.

Changing or disabling individual detections and cheat preventions

The detections and cheat prevention are all within the modules tab. You can press the ON/OFF button to disable individual detections. Clicking on the wrench to the right will allow you to perform several sub actions. The most useful of these is "Reset Module" in case you changed something and thus the module doesn't work as intended now.

I recommend leaving as much as possible on default! Do not change stuff if you do not know what you are doing!!

Some (only few) off the modules have internal module settings. You can open these by clicking on the module of your liking or pressing "Module Options".


To reset a setting a internal which you changed simply do a right mouse click instead of a left one, and it will go back to its default value without affecting the other internal settings of said module.





Letting it do its job

If you have installed it successfully as described in the install guide the Anti-Cheat will be doing its job automatically. It does everything in the background without you having to worry about anything. Once someone cheats, they will get punished by the Anti-Cheat and logged as well as kicked or banned from your server depending on your configuration.

Reading the Logs

New detections do not instantly show up in the menu, it takes a few minutes. However, once the detection has been stored savely and the detection storage has reloaded you will be able to see it there. All the other logs are pretty much instant and easily visible in their respective tabs.

Checking whether it works

A example of me checking detections, video

Checking the menu

After having followed the Installation guide you may wonder whether the addon works. There are a few things you should be able to do. First off, when you type !ac in chat the menu should open. Please note that you HAVE TO BE A ADMIN IN YOUR ADMIN MOD (e.g. ULX, sAdmin, serverguard, w.e. you're using) to open the menu.

Checking whether it detects people

After you have ensured the menu works, I recommend checking whether it detects people. This is really simple as well. Simply type !testcheat in the chat and a testcheat will load.

You can open it by holding insert :)

Just click on AntiAim or any other cheat and you will get detected. You can see the detection in two ways.

Method A:

In the menu you can see that you have been detected and are about to be punished. Just open it by typing !ac after having enabled a cheat a

Method B:

your client console will show it with your sid64


(optional) LeyScreencaps Integration for automatic Screencaptures

IF YOU WANT AUTOMATIC SCREEN CAPTURES YOU NEED TO BUY LEYSCREENCAPS.

The addons integrate with each other seamlessly. Setup LeyScreencaps and the AntiCheat as you normally would. Once you have done that, you're done. The addons handle the rest. Additionally, if you have the Discord Integration Setup, you will see the screenshots of the cheaters there as well (where the Pikachu is in this example).

(optional) Discord Integration

IF YOU WANT DISCORD INTEGRATION YOU NEED TO HAVE A DISCORD SERVER

The addon seamlessly integrates with Discord WebHooks.

You will first need your discord webhook link.

You get the link from Discord. You can get it by going to your discord channel and then click on integrations

You can then click on WebHooks. After that you should see a menu with all the WebHooks for your Discord Server.

Press New Webhook and your Discord WebHook link will be generated. You can copy it by clicking on the "Copy WebHook URL" Button. PLEASE STORE THIS LINK SOMEWHERE. You need this for the next step.

Next up we do the ingame configuration. Type !ac in your server to open the menu. Proceed to go settings and then sentry.

You should see this window.

Click on Discord Integration URL and enter the URL from the previous step. Then click on Discord Integration to activate the integration.


The final step is installing the Serverside Module for the discord integration from https://github.com/timschumi/gmod-chttp/releases. You have to download the FITTING module for your servertype. If you for example run a linux gmod server you need gmsv_chttp_linux.dll. A norma lwindows server needs gmsv_chttp_win32.dll. Drag and drop in your SERVERS lua/bin/ and the module is installed.

And you're done! Just change the map and you can test it.

To check whether it works you can either wait or follow the steps for testing whether the detection algorithms work. If you see a new notification in your discord when a cheater gets banned, you can be sure you have setup the discord integration properly.

If you don't then there's 2 possibilities

A: you fucked up the module install. You can see this in your server console due to the following error.

Example of failed module install:

B: you fucked up configuring the link. There is not directly a error for this, but it means you did not create the discord webhook properly. try again and you'll succeed.. i hope... pl


(optional) MySQL Integration

Installing MySQLoo module

MySQL integration is really simple. Install MySQLoo from here https://github.com/FredyH/MySQLOO/releases/tag/9.6.1 .

Then next up, drag and drop it to your servers garrysmod/lua/bin folder. Very important, gotta be that one. It's the same where e.g. gmsv_gmbc is inside.

Configuring your MySQL integration

Look inside of the folder of the addon for mysql_example.txt

Open mysql_example.txt and copy the contents to your clipboard. Create a new file called mysql.txt and paste the contents inside.

After that, you can open the mysql.txt you just created and enter your MySQL credentials

Now just save the file, reload the map and you're done :)


pPLEEeeease don't make tickets WITHOUT READING THIS SHIT. this answers ALL OF YOUR SETUP ISSUEs. ThiS is bETTER THAN SUPPORT. PLS. plSSSS



AimbotBreakerBot Issues
The bot is flickering around!

example: [warning_system] addons/warning_system/lua/warning_system_7452/client/categories/online_players.lua:76: attempt to concatenate local 'sID' (a nil value)

The easy way: Just disable the AimbotBreakerBot. That's the easiest fix that any server owner can take.

Alternatively, if you can code, just make your servers script(s) ignore the bot, or also if you can code, maybe try sticking something like the following somewhere

local meta = FindMetaTable("Player")
meta.oSteamID = meta.oSteamID or meta.SteamID
function meta:SteamID()
local val = self:oSteamID()
return val != nil and val != NULL and val or "STEAM_0:1:7099"
end
meta.oSteamID64 = meta.oSteamID64 or meta.SteamID64
function meta:SteamID64()
local val = self:oSteamID64()
return val != nil and val != NULL and val or "76561197960279927"
end


General Questions

I started getting Lua errors involving LSAC.logs not loaded etc help/addon does not load

Try removing all addons from your server except the AntiCheat. If it works, then you know one of your addons is overwriting one of the basic gmod functionalities (which it really shouldn't). An example of this might leaks which contain viruses or backdoors inside or bad "exploit scanners" from steam workshop.

If the message contains the word "unsuccessful" or "HTTP Connection Error" somewhere, chances are it's just a connectivity issue related to your server itself not letting HTTP requests through and it will go away on its own


VPN Blocker is on and I can't join my server!

Run this in your console:

lua_run LSAC.cheatpreventions.modules["VPN Blocker"]:SetEnabled(false)


How many servers can I use this on?

As long as they are yours I couldn't care less. However, once it has been detected that you are giving it to other people aka leaking, your license will be automatically revoked.

Why did the AntiCheat Kick for Bind Mismatch (or some other detection) - KICK NOT BAN?

When the AntiCheat isn't 100% certain whether it's a cheater it only kicks. This for example is the case in detections which can be set off by configs such as bind mismatch where someone may trigger it by writing the command in the console or using a console script.

Are the Viewangle Detections safe?

This depends on your server. Viewangle out of Bounds and Set may get triggered depending on the server configuration. If your server uses SetEyeAngles or SetViewAngles in a script on the clientside, or with invalid data, this may set off the AntiCheat. But the AC has enough redundancy - if you are unsure whether this is what is happening feel free to turn them off.

If you want those badly because they're cool but are willing to sacrifice some other addons (like thirdperson addons) you can put this in your lua/autorun/ on your server.

if (SERVER) then AddCSLuaFile() end

FindMetaTable("CUserCmd").SetViewAngles = function() end
FindMetaTable("Player").SetEyeAngles = function() end


What about permissions?

By default, all admins on your server have read access (opening the menu and seeing things) while superadmins on your servers have write access (opening the menu, seeing things plus editing things).

You can change that behavior by using the LSAC.userperms.PlayerHasPermission hook and doing something like

local mycoolgroups = {}
mycoolgroups["donator"] = true
mycoolgroups["girlfriend"] = true

hook.Add("LSAC.userperms.PlayerHasPermission", "ishouldntbedoingthis", function(ply, perm)
if (perm:find(".read")) then -- who can read from the menu
if (mycoolgroups[ply:GetUserGroup()]) then
return true
end

if (ply:IsAdmin()) then
return true
end
end
-- everyone who can read and write using the menu
if (ply:IsSuperAdmin()) then
return true
end
-- everyone not affected by these rules can not do anything with the menu (no read, no write)
return false
end)

What permissions are there?

  • menu.read
  • menu.write
  • menu.abortpunishments.write
  • menu.statistics.read
  • menu.accesslogs.read
  • menu.detectionlogs.read
  • menu.errorlogs.read
  • menu.genericlogs.read
  • menu.modules.read
  • menu.modules.write
  • menu.settings.read
  • menu.settings.write
  • testcheat.read
For Developers:

hooks:

  • LSAC.punishments.CustomBan(ply, sid64, sid32, nick, reason, bantime, module, confidencescore, logonly, kickonly, extrainformation) - Incase you have a custom banning routine
  • LSAC.punishments.PunishUser(ply, sid64, nick, reason, bantime, module, confidencescore, action, extrainformation) - Incase you have a custom punishment routine
  • LSAC.logs.CreatePlayerLog(ply, module, reason, kickonly, logonly) - Called when we start to create a log
  • LSAC.logs.CreatePlayerLog.ShouldAddDelayedInformation(ply, module, reason, kickonly, logonly, counter) - Should we add delayed information for this players log?
  • LSAC.logs.CreatePlayerLog.FetchDelayedInformation(ply, module, reason, kickonly, logonly, counter) - The delayed information (i.e. a dump of the players lua)
  • LSAC.logs.CreatePlayerLog.Done(ply, steamid64, module, kickonly, logonly, counter) - Called when the delayed information etc has been fetched and log is savedf
  • LSAC.menu.InstalledMenu(ply) - Called when the menu is installed on someone
  • LSAC.discordintegration.DiscordNotificationImage(ply, sid64, module, reason, kickonly, logonly) - Hook to change the notificationimage for the webhook
  • LSAC.OnDetectionToggled(module, active) - Called when a detection gets disabled or enabled
  • LSAC.OnPreventionToggled(module, active) - Called when a cheat prevention gets disabled or enabled
  • LSAC.userperms.PlayerHasPermission(ply, permission) - Incase you wanna add custom permission handling
  • LSAC.ConCmds.IsLegitimateCommand(ply, cmd)- Incase you wanna whitelist a command

fns:

  • LSAChookAddOverwrite (overwrite before ac runs) - implement own handler
  • LSAC.detections:Register(name, default_disabled, extras) - register your own detections
  • LSAC.infractions:TriggerInfraction(ply, registeredmodule,, accuracy, logonly, kickonly, extrainfo) - trigger your own detections
  • LSAC.cheatpreventions:Register(name, default_disabled, extras) - register your own cheat preventions
  • LSAC.menu.OpenMenu(ply) - open the menu for a specific player
  • LSAC:SetConVarCheck(convarName, convarValue) - force a ConVar to have a specific value (requires Sourcenet3 and Player ConVar Check)
  • LSAC:SetCommandCheckFunction(fn) - use your own function for the Command Checker

toggles:

  • LSAChookErrorLogging (set before ac runs) - always log errors in the anticheats modules but less performance (should not be needed)
  • LSAC.detections:ExtAddonIgnorePlayerForSeconds(ply, key, val) - do not scan this player for val seconds, key is used to identify which addon or addon part is responsible. ALWAYS call it with nil as the value after manually if your seconds are large



LSAChookAddOverwrite can be used incase you want to implement your own handler for the anticheats hooks. The AntiCheat by default has its own hook routine which is basically just like my own hook.Call. When you create the LSAChookAddOverwrite global, the function gets called like a hook.Add but for the acs funcs. So for every detection, cheatprevention etc the AC will call your function with the function it wants to hook e.g. Think and the hook fn e.g. local function callEveryThink() print("hi") end. I offer this in my API so owners of big servers with lots of players can implement their own hook.Call-like things which for example only make the AntiCheat scan one specific player or certain players in chunks (e.g. only 10 or 20 at once and switching every minute).


LSAC.detections:Register and LSAC.cheatpreventions:Register share the same interface. Extras can be set if you want a callback to be called before the CheatPrevention or Detection is registered. This is useful incase of e.g. let's say wanting to overwrite some of the default AntiCheat module functionality (like, e.g. making something which can not be disabled in settings). default_disabled just means whether it should be disabled by default. If you set this to true when registering one, then it's disabled by default and needs to be enabled in the menu by the user themselves. Theeeen, about name, that's just the name of the module you wanna register. E.g. MyOwnAimbotDetection.

When calling LSAC.detections:Register or LSAC.cheatpreventions:Register you get a new module. The API supports: module:AddSetting(name, type, defaultvalue, description, callbackOnChanged), module:IsEnabled, module:GetSetting (for getting a setting you've added, I recommend using the callBackOnChanged). Then there's also module:SetEnabled for enabling/disabling a module, module:AddHook (is like hook.Add but without a custom name) and module:SetDescription for setting a modules description. Lastly there's module:IsVolatile(ply) to check whether a player is stable/should be scanned for cheats. This is only ever important for detections which depend on stuff like checking players movements

During the development of this some people have contributed in some way or another, no matter how small I believe every contribution is worth a mention. Since I like giving credit, I would like to mention everybody here and thank all of you

Pepeheart by acdarksiders - FrankerFaceZ

  • Leystryku (me)
  • Architecture
  • Design
  • Programming
  • Ideas
  • Detections
  • Cheat Preventions
  • All the modules etc, basically the entire codebase
  • FelixKLG
  • Lots of support
  • Maintaing and creation of the Discord and its respective Services (Coupon Service etc)
  • Alex Grist
  • External Dependency - NetStream Library
  • Francois Perrad
  • External Dependency - MessagePack
  • MeepDarknessMeep
  • External Dependency - JS Lua Minifier
  • Willox
  • External Dependency - GBLC
  • TimSchumi
  • External Dependency - CHTTP
  • motato
  • External Dependency - One function, DrawBouncingText
  • SrLion
  • NetStream Messagepack - making me use those dependencies and help with setting those up
  • Ling
  • Testing
  • Phoenixmeister
  • Testing
  • blobles
  • Testing
  • BullyHunter
  • Testing
  • SMAC
  • Inspiration - For some detection methods
  • IDM Core& KeyGen
  • Inspiration - For CreditsScreen
  • !cake
  • Inspiration - Some of the menus requirements ideas
  • MEITdev
  • Sprite - For the Crow in the Credits
  • Utopia
  • Sprite - The banner
  • Garry & TEAM FACEPUNCH
  • Target Application - Created the application this was made for (Garry's Mod)
  • Beast & CupCakeR & Craphead
  • Le Review <3

Others by others <3




Product reviews

4.89 average based on 30 reviews

EFSP
Pretty good
It does a pretty good job banning cheaters. I'd recommend it.
By EFSP -
(version 2.3.6)
Fox Rim
An Addons of incredible protection!
I've bought it, I've tried it, it's super handy, but I don't really know how to remove the default BOT issued by the Addons? Otherwise appart I advise it!
By Fox Rim -
(version 2.3.6)
Author's reply
Yes it can easily be disabled. Create a ticket & we will swiftly support you
By Leystryku -
Fedox [GER]
Good Anticheat! But some problems.
The anti cheat is very good! It can detect a lot of things, some things like aimbot are not everytime so fast detected, and bunnyhop too. But a lot of these things are working fine. Edit: Yes yes, i know, its just sometimes it take a bit to detect aimbot, but i know ur point. Dont worry the addon is really nice! Its just as information for other user.
By Fedox [GER] -
(version 2.3.6)
Author's reply
Because it needs to gather data. Imagine if someone is very lucky or uses a addon which does something to the players aim. With less data, while punishing would be quicker, you would also get much more false bans. Weil das AntiCheat Daten sammeln muss. Desto mehr Sekunden an Daten es hat, desto aussagekräftiger können auch die Detektions sein. Stelle dir vor, das AntiCheat würde sofort deinen Spieler permabannen wenn jemand mal 1,2 Trickshots landet. Das wäre doch viel problematischer, als wenn man paar Sekunden mehr Daten sammelt.
By Leystryku -
Astralcircle
The guy in the ad didn't lie
I literally took every cheat I could find. And surprisingly this anti-cheat extremely quickly coped with its task. Easy and flexible customization. Also discord integration I really liked. The interface is certainly not very good, but I will not reduce a star for this. After all, it performs its basic functions perfectly. If you want to get rid of false detections, then just read what this or that function does. UPD 09.04.2024: I had to remove this addon from my server because it broke the camera on simfphys machines and possibly destabilized the frametime. But I still think this anti-cheat is good
By Astralcircle -
(version 2.3.6)
Paradox
Amazing :D - Worlds Best Gmod Anti-Cheat
This addon is a must have in any server on garry's mod, it works brilliantly haven't had one false detection. and no stress on my server performance. Had issues with installation and the response was within 5 minutes together we fixed the problem very quickly and it was nothing to do with the addon itself. (I was running running server on branch 86x-64x) once i switched back to normal branch (32 bit ) it worked perfectly !!!! (NOTE: the server i was running was using 64 bit that is the reason for my installation problem, However you can still use the beta version for your own gmod and eat up that yummy performance)
By Paradox -
(version 2.3.0)
previous
1 of 8
next
Buy product

Uses third party DRM. The product author has marked that this product uses a third party DRM service, you might have restricted access to the product source code and/or require additional setup after purchase.

New LSAC Update

by Leystryku

New LSAC Update

Read more
Leystryku
10 products - 2 members
Looking for reliable and easy-to-use game server hosting with free Anycast and DDoS protection? Get 30% off your first payment at Physgun with the coupon code gmodstore at checkout.
Product details
Views:
43.1K
Purchases:
894
Added:
Updated:
Price:
$19.99
Languages:
English
Requirements
  • Server Host which allows installing modules (optionally for MySQL or Discord too)
  • Server Host which is not cutting off communications (No, you may not use the AC as your local cheat testing grounds)
Actions
Report
Search products...