How would I go about making a safe jump cooldown system?

Hello everyone, so I was just wondering.. how could I possibly make it so I can implement a safe jump cooldown system in my game? Thought about using RunService and detecting for Jump, but I think exploiters can just still bypass it.

Exploiters can literally just teleport their character wherever they want because they have full ownership of the character. You’ll have to write a system that tracks where a user is and follows a valid path and check that a jump is valid (there was ground underneath them recently) and checks that the jump followed a trajectory that makes sense to stop this.

A lot of games actually take your inputs and simulate it on the client and the server so that they are running the same sim at the same (simulated) time (the client for the smooth updates, the server for the anticheat properties). If your client sided character differs too much from the servers simulation that’s when it teleports you back. While I won’t say this is strictly impossible on roblox though, you do overall have less control over these types of things so it will be harder to get working if you are trying to rely on roblox’s systems for it.