Can Exploiters detect kicks if they are called from the Client?

So I’m currently in the midst of creating an anti-cheat for a few friends of mine and I was wondering if I was to kick the player on the server, could an exploiter just use the metatable of game to detect a kick, and make it hang (with wait(math.huge) ) before it kicks them?

No, they can not as far as I know.
What I do know is if you try to kick them or ban them, some of them have some sort of anti ban script that makes you say something else. For example “:kick cuj_o” it will be intervened and it will make you say “I’m a lolipop” instead.
I have even tried using a GUI for this and it still stops them from being banned.

if the kick is handled solely on the server, no they cannot do anything about it

3 Likes

Thank you all for the quick feedback!

If the kick is on the client. You can bypass it, This is because they can set a custom __namecall meta method to defuse the kick function called on a local player, However developers can detect this by doing such activities such as spawning a new thread and calculating weather a game is active or not. Clearly if they’re kicked. Its not active. A developer could also check the network flow after kicking the client.(Done though stats service) - If this value is bigger than 0. Data is being sent and recieved. Which means it isn’t kicked. And well. Due to all of this, I’d say its best to just call a

while true do os.clock() end

which will just crash them. Since they didn’t leave the nice way.

However, Having a kick on the server. They’ll not be able to stop. A server kick will actually show up in the F9 console. “The server has kicked you: …”. But a client kick wont. (At least I think.)

FYI exploiters can use ScriptContext:SetTimeout to time out any crashing attempts.

Why do os.clock() instead of just
“while true do end”
I did this here instead of Private Messages to help anyone else running through understand.

I noticed after calling os.Clock after like 5 times. It slowed my computer down. In studio. To apoint I couldn’t use it lol,

Then delete all scripts in game. Break the game for the client so they can’t do stuff. lol

1 Like