Each time you use Remote events, [Client will send data to server]
some hackers change data and values, what you can do is
[You created a logic that: The server has already a module containing all information about what is True, and all items and things about the game ]
Anything that is different from what the server knows, would result in a [Perma-Ban]
this can kill many exploiters that don’t know what they are doing, BUT, they know how
to modify values.
The only way to replicate to others players some action is:
If the server accept the Data that the [Client] sent.
otherwise nothing will happen,
you can create locally some preventions before firing a Remote event like:
--Local Script
if "the player is Level highter than X" and "has some Item X" then
Fire remote event,
Normal players would ocasionally stop at this parameter,
whatever, if an exploiter bypass this thinking that they were smart…
Then, in the server-side
the server has this logic:
[Since the client fired the remote event, then probally their data is true… but i’ll check
if everything is ok]
--Server Script Remote Event activated
if "Player level is highter than X" and "has some specific Item" then
--Run the function ( alright, the client is not lying, Trusted )
--Server Script Remote Event activated
else if "player level is lesser than X" or "the item is missing or maybe the item is == nil" then
-- the player modified something, preparing to kill some exploiter
in the end, this is the best you can do to prevent many exploitable situations