How to safely invoke the client

game.Loaded:Wait() might infinitely yield since it only fires one, if you don’t want it to infinitely you can use repeat RunService.Heartbeat:Wait() until game:IsLoaded()

What I meant that if I make a remotefunction and wait for the client to tell me that their loaded, they can easily make an infinite yield

Sorry for the misunderstanding lol

1 Like

What Is this supposed to do, I do not understand due to the formatting.

when you use remotefunctions to invoke the client, the exploiter can infinitely yield server, so this serverscript is basically a timeout thing.

what is that ? Is the handshake system like the timeout thing?

No pcalls? The documentation for InvokeClient specifically mentions wrapping in a pcall to prevent errors

I think task spawn already handled this for you

It won’t stop the current thread from continuing but it doesnt exactly catch the error either
(Nor is invoking the client ever truly safe)

Then add a pcall I guess.

This post is inherently misleading, due to the fact that exploiters can still hook onto your OnClientEvent‘s using metamethods. There is no “safe” on the client, no matter how hard you try. You might slow down script kiddies and exploiters who have no knowledge on this, but any competent exploiter can still, very well, just spoof the data.

2 Likes

I would like to see you make a code that yields the server infinitely.

What? No one is able to do that without a server sided vulnerability?

I think you’re misunderstanding me. Im saying method you have provided doesn’t seem very practical or safe as a security measure as you claim it to be.

I have no idea what your saying. If my method is bad, why can’t you bypass it?

Reading through again, I did misinterpret your solution a little on my end, my apologies.

Though I will say the use case is fairly low for something like this and the claim of exploiters not being able to mess with it anymore is a bit of an overstatement.

1 Like

If you didn’t want to cause damage to the server, couldn’t you use

pcall(function()

yes but they can still return wait and it will infinitely yield the server.

If you just use pcall, it will can be still be yielded infinitely by exploiter by simply return wait(9e9)

Like onclientonvokw and client returns the wait

Still waiting on that formatting…