Hey, I have released my game, it’s called Operation Assault, I wanna protect my game from exploiters (even though I have encountered 0 exploiters in my game lol). Please, tell me what type of exploits are very harmful.
I am using ACS Engine, so please tell me about some stuff about the engine too.
There are lots of harmful types of exploits in FPS games that could be abused.
Fly hacking, Unwanted Walkspeed and Jumppower Modification, Noclipping, ESP, Aimbot, Remote Abuse (Logging remotes then spamming them for gain)
The simplest one is tricking raycast (since it’s quite literally one of the first things you do when you develop a FPS), You can prevent this by redoing the casts for bullets server-side however, on a slightly larger area than the player or accounting for last movement (lag compensation) to verify if this shot is even possible, As cheaters can easily just make all walls be ignored by raycasts.
if I was you I would start with the shooting. so to do this you would have to create a cooldown for each players in a table and check if it is true in the shoot function?
Well I don’t know how your character movement and stuff like that work, but applying velocity to fly around or just setting CFrame is the most basic one. Also if your code sucks(not saying it does), there may be even more. Exploiters can for example just set all walls to CanQuery = false which makes them ignored by raycasts. Or abuse remotes by spamming them, if you didn’t sanity check them.
Yeah that wont be enough lol. exploiters can just for example ApplyImpulse in MoveDirection to increase speed. There is also the fact that they can fly around by using CFrames.
One of the fixes which I saw for this was to calculate approximate location of player on server by getting their MoveDirection and doing some simple math. May be computively expensive. You could also fire raycast under player to see for how long he is in air. That would actually fix the CanQuery because no exploiter is gonna spend time manually setting CanQuery only on walls.