Make Client Think It Is The Server?

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.

1 Like

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.

1 Like

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.

1 Like