Hello. I am working on a project that allows players to build vehicles on plots. When the player places a block, it fires a message to the server with the block info. I have secured all my remote events, and they already have max use limits, anti-exploit kicks, and more. However, exploiters are still managing to copy builds.
Their method is to simply run through all the blocks in another players plot, and then send an event to the server telling it to place that block in that specific location. What could I do to stop this?
This isn’t a minor issue because the game is active and there are amazing creations being built.
I don’t think there is much you can do to stop this unfortunately since all of it is done on the client and you can’t stop the client from seeing object in workspace…
I understand that. I want to add in measures to make it harder for the exploiters to do what they’re doing. Right now, the only measure against the exploit is a detector to check if blocks are being placed with a similar measure of time in between them, and a few more methods that I don’t want to let people know about.
Maybe a report system for those whose builds are being copied from? Basically if player B copies from player A, player A can report player B and the server will check if the builds are exactly the same–if they are, player B can be kicked or something
You can check if the blocks placed on a plot are similar to other builds in the server. you can check the amount of specific part types and compare them to other builds. You can check the blocks in specific regions and compare them to the same regions in the other plots.
If you’re not already doing it, you should also add a ratelimit to the remote so people can’t just flood it.
There’s not really a reliable way to prevent building copiers, your game relies on construction and that means your code has to be very reliant on the client for proper positioning and information.
If you were to prevent copying builds, it would also prevent players from sharing their builds with eachother.
You could add remote keys, but that is just a time-waster for exploiters and doesn’t fix the underlying problems.
I reckon you could add distance checks on the remotes and unload vehicles from plots if the player isn’t near them? So then they would have to store the data of the vehicle they want to steal, go back to their plot, and place it.
What distance would be checked? If it’s the distance of the player from where the block will be placed on the plot, the exploiter can still access the positions of all the blocks on another players’ plots. They can just stand next to their plot and let their script to do its thing. They can easily just take the position of other blocks and subtract it by the position of the targets plot and then add the position of the exploiters plot.