This is a common question but I have not found a working solution. My game is FilterEnabled and this script will kick players who change their JumpPower, but it only works in the studio:
local player = game.Players.LocalPlayer
local character = player.Character
if not character or not character.Parent then
character = player.CharacterAdded:wait()
end
local char = game.Players.LocalPlayer.Character:WaitForChild("Humanoid")
while wait() do
if char.JumpPower ~= 50 then
player:Kick("Jumping to the moon is not allowed")
end
end
It is a LocalScript and I placed it in StarterCharacterScripts

5 comments
Since this is in an LS, you'd probably want to do server invokes, but if I were you I would just run this entirely on the server.
Also, you'd probably want to check if the JumpPower would be >= 50.
Localscripts shouldn't be used for anti exploits. The exploiter can easily delete this.
I used to use local scripts for anti exploits but I set it to where it would require another script which if any were deleted it kicked for suspected exploit
if your interested in roblox anti exploit feel free to join this server discord server :) its helpfull https://discord.gg/Yhb8m29 it has advance anti fly and noclip and more!!