Reliable height movement exploit detection methods?

Hi. I’m currently trying to make a server-sided movement anti-exploit. I have already achieved detecting speed exploits by averaging out the magnitude of the velocity of the character if it was on a 2d plane, though I have yet to find a reliable solution for exploits which manipulate height such as flight or jump power.

Any help is appreciated.

My initial instincts would say that you could adjust the orientation of the plane you’re using to assess movement. So you mentioned you’ve checked speed on the Y plane, you could replicate this method on the other 2 planes also.

This is getting into sticky situations, for example what if the player is falling, or what is the player if flung somewhere? The trouble with a lot of anti-exploits is unique physics cases. One reliable method of checking for someone flying is to raycast directly downwards and calculate the magnitude of distance between the player’s character and the floor. Using your gravity calculations you can see whether or not the character is moving in a way that makes sense with all physics considered. For example, if they are accelerating downwards slower than the gravity constant, they may be flying.

Good luck with movement anti-exploits.
-Tom :slight_smile:

2 Likes

Hi, thanks for the response. The issue I have with raycasting is in the event that a character is standing on a ledge, the raycast may shoot below the platform which the character is standing on which will result in a false positive that they are in mid air. I considered using region 3 to cover the whole bottom surface of the feet of the character to see it there were any touching parts. However, I then realized if the character is falling while being right up against a wall, it would result in a false positive that they were stationary on a platform. Do you have any ways solve this issue?

When raycasting downwards, it would be a good idea to trace each corner of the hitbox of the character’s legs (for example directly downwards of each corner of the bottom side of the legs).

When looking at the touch solution, you don’t have to check whether the character is touching something, only that the feet side of the legs is touching something. There will be very very low chances that the character won’t be standing up and having their feet pressed against a wall to call a false positive, and to get around that I would suggest checking the orientation property of the legs to see whether the player is standing up.

1 Like