Are you doing gsub on the client? You need to do it on the server. If you are, then this is a programming help issue and you should make a separate post asking people to figure out why your ping filter isn’t working.
I have tried pinging by creating a server script on the client but the server scripts do not execute.
It worked however they could still spam fill my applications and such.
Then you just need to add a debounce to limit the number of requests. The solution is not to do some weird script environment hack.
What if they just spam rejoin the game and run the script. It would still give me the same results unless I used a Data Store to stop them
Speaking of a data store, that could actually work if you log os.time()
on data stores and cache it on server without having to running GetAsync
all too many times. The player joins and their last sent request will be loaded, 0
as default. This number is saved in, let’s say, cache
, which is a table. If the player requests, set os.time()
to the key of Player.UserId
and os.time() - cache.UserId >= ratelimitSeconds
would stop request spams.
GetAsync
is limited to per server and not game. Ahaha! If the cache already exists, do not use GetAsync
and use the existing one from cache. MessagingService
will also be useful in case of cross-server issues. Once MessagingService
is used, the server will check cache
to match the UserId
and then fill it with a new value if it’s an old one.
Well no, because you can check how long it’s been since the last time the remote fired. An exploiter can’t run code on the server. The exploit vector you’re looking at is the remote event, so as long as you add security after the server receives the remote event you’ll be able to prevent them from spamming it.
You haven’t been able to turn off FilteringEnabled for years.