I’m trying to make an anti-cheat for my game, and I don’t want to go through the hassle of making a server-sided debounce for each individual server script. Is it possible if I just check if the remote events are being fired too quickly instead of typing a server-sided debounce for each individual server script?
Depends on where you’re checking if remotes are being fired. From the client? Absolutely not, this can be bypassed because ANYTHING the client has access to can be exploited. From the server? This will always be the preferred method to do it, even if it is annoying to add a custom debounce for each remote event for each player. To alleviate some of the hassle, I always make a custom modulescript to handle remoteevent or remotefunction debounces. When a player fires an event, I :getDebounces() (theoretical) from the modulescript, which would returrn the last time a player fired a specific event. I then just make sure that an amount of time has passed since the last time the event was fired.
some exploiters do abuse certain remotes in other to crash servers, but generally if the remote
-doesn’t create any instances
-isn’t too resource intensive
it should be relatively safe to keep less important remote events without a debounce as they wouldn’t be usable for server crashing shenanigans, however it’s an unnecessary risk that’d take a relatively short time to prevent
tl;dr
you don’t have to do it on all of them but there’s no reason not to