#Anti-exploit
1 messages · Page 1 of 1 (latest)
you have to just have checks on the server that prevent what they are doing
im not too experienced in anticheat development but u can watch some of these videos to get a better understanding:
https://www.youtube.com/watch?v=SFAwwmb8G6o
https://www.youtube.com/watch?v=hr_8svt1n1E
Discord: https://discord.gg/bEn49K5JUt
Patreon: https://www.patreon.com/Suphi
Donate: https://www.roblox.com/games/7532473490
0:00:00 - Intro
0:00:27 - Demonstration
0:02:35 - Solution one
0:03:23 - Solution two
0:04:47 - Solution three
0:05:10 - Solution four
0:09:16 - Outro
you cant check walkspeed on the server
because exploiters can set their walkspeed to 100 on the client
and the server will still think their walkspeed is 16 (default walkspeed)
There are a few ways to do checks to prevent people from setting their walkspeed very high though (DO THIS ON SERVER SCRIPT):
- Run a while true loop and just set every player's walkspeed to 16 forever.
- Continuously check the player's humanoid root part position. So if the player is at (0,0,0) and then the next second they are at (100,0,0) then you know that something might be wrong and you could teleport the player back to their old position or something like that
there is probably more ways but im not experienced in anti cheat so these are just the ways I know
to note with that first solution, if the value hasnt changed on the server it wont tell the client about the assignment, so you have to set it to something slightly different then back to 16 for it to work
oh okay
so set it to like +0.01 then -0.01
yeah
tbh trying to make anticheats to this degree is a lot of the time fighting a losing battle
speed exploits are not easy to detect or prevent without countless false positives and/or harming the user experience by them feeling like theyre rubber banding
your focus should probably be more on making sure that speed doesnt give them a competitive advantage, or implementing ways to moderate things manually instead of trying to automate everything
only way to check walkspeed on server is constantly seeing the amount of change in distance from previous position in a loop
not checking actual properties
only way to win is by patching common scripts which skids use, and hope competent exploiters don't find the game. That's if their only using inf yield, etc.
i have a weird approach to this but im not sure if its correct
in my game u can move at crazy speeds when ur sliding around or exploded and since its a movement i dont want it to have input delay so as to keep it as smooth as possible
what i do is i keep track of their positions on the server and then when i see a crazy change in position like this i log it and then wait for a remote event on the server (mines named "Movement")
if the remote event does not happen in a certain amount of time i then position them back
good solution as long as you detect the movement event isn't being constantly fired
its fired at a maximum rate of 4 seconds per player
thats the slide cd time
does it check on server if its fired before 4 seconds?
good way to allow fast speed
wait i dont understand
I'm saying the exploiter can constantly fire it to avoid being detected by AC
BRO I DIDNT CHECK FOR THAT
UR RIGHT
OOPS
I would just do a check between remote firing times, and if the remote is being fired under ~2-3 seconds apart more then 10+ times then you can flag them for possible remote manipulation
currently i just check like this
server detects big speed ----> expects response within a certain time frame ----> if no response then reset pos
yeah i forgot to include this
it should only be possible to fire that remote every 4 seconds at maximum per player for me
oops
but im not sure if this is the best way this is what i do; u can alternatively have ur humanoids and stuff on the server and handle visuals on the client
if u are interested on that u might want to look into chickenoid or something its called
u mean giving humanoids network ownership to server ?
theres this custom humanoid called chickynoid its not giving owership over to the server but its server authorative what that means is the server corrects ur inputs
oh I see
so if u press w and u are at position 10,0,0 in ur client but at the server u are at 5,0,0 then the server will put u back at 5,0,0