Is there any way to stop exploiters from teleporting their character?

I’m making a platformer game where the levels are timed and there’s a world record time display that people might try to beat. I’m worried that exploiters will be able to just teleport their character to the end and the time record will become meaningless.

Is there literally any way to stop this?

1 Like

Hey there :wave:

I don’t know if there is an obvious way to stop it, but you could set a minimum time (i.e. 5 seconds), and make the time not count if before then.

Another way is you could constantly detect if their current position minus their last position (Maybe 1 second ago) is over a certain amount.

However, that method won’t be useful if you teleport players via scripts (Non exploited teleports).

Sorry I just don’t know a better way :person_shrugging:

1 Like

Thanks for the advice, I suppose I could have a minimum time for each level, that would help. I could give people a warning/ban if they finish the round too fast.

The best way to do this would to constantly check character position on the server, and compare it to the previous position. If its farther than expected then teleport them back.

You wouldn’t kick or ban for this, incase the player just lags or a false positive happens.

3 Likes

Very good suggestion. I would just use position:changed on the character to reduce use of any while loops.

.Changed doesn’t fire for physics related properties, so Position, Orientation, CFrame, etc. being changed wont fire .Changed. You’d have to use a loop for something like this.

1 Like