My game has different sea shells that spawn in.
A player is teleporting all of the shells to him or teleporting himself to all of shells. What sort of anti exploit measures should I try?
My game has different sea shells that spawn in.
A player is teleporting all of the shells to him or teleporting himself to all of shells. What sort of anti exploit measures should I try?
I think another possible solution to this would be to spawn shells on the client, now I know the remote could get easily abused, however it shields the noncheating players from having their gameplay disrupted by the people exploiting to and from the shells.
There isnt much “power” to be gained by the hacker, they just beat the game really fast.
If your game depends on a singleplayer model this could work, but if having more shells than other players affects the general gameplay it might not be the best solution.
The game is just going around, collecting different shells, going to different islands, exploring with friends. There really is no loss, to just let the exploiter do what they want as long as it doesn’t disrupt others.
There really isn’t much competition with other players, and I don’t plan on it being a big aspect of the game.
I have the same problem in my game where exploiters just teleport coins to themselves. If you use.Touched to trigger the pickup event then the game is cool with exploiters teleporting consumables. Since the teleport isn’t replicated, verify on the server that the distance between the character and the shell is < (arbitrary distance) before giving rewards.
Alternatively, exploiters can just teleport their character TO each of the shells rapidly. To handle this, add a server side debounce or some kind of anti-teleport measure that tracks distance traveled by players.
(For reference to rerumus reply)
DONT use .Touched/touch interest.
Exploiters can fire any touch interest, I suggest making your own touch lib, or just using magnitude.
This is bad advice. There is no reason to make your own touch event when the Roblox one works just fine and you can still check the distance on the server.
Any sort of custom “touches” using magnitude would mean checking the distance between the player and each shell multiple times per second. For my game, to get the level of responsiveness I want, that would be hundreds of operations a second.
Alternatively, check magnitude once on the server after a .Touched fires a remote event