I'm making an anti-exploit that supports FE games(yes, players can still exploit their walkspeed, etc) and I'm trying to find a way to detect a deleted script on the client.
It won't allowed to do this:
-- Server script
player.PlayerGui.OliviaMain.ChildRemoved:connect(function(Change)
if Change.Name == "Olivia Client Control" then
warn("Nice try")
ModeratorAction(player,"Exploit","Tampering with Olivia Client Control")
end
end)
Which I'm assuming because the server is interacting with the client. Is there any way around this? Any script detecting deleted scripts on the client can just be deleted.

7 comments
I don't think you can detect if the client deletes something on the server because the changes don't replicated to the server. You can only check on the client, but then those scripts could be deleted. I guess you could make a script that fires "OK"s to the server so the server knows the script still exists. But really good question!
You can have a script on the client, or fire a remote event from the client every time an instance is removed and check from the server
Maybe have two client scripts watch each other, so the only way to get past the system would be to delete both the scripts at the exact same time :P
I'll try making a script constantly fire OK. Thanks!
I don't really know about filtering enabled but I think this might work if FindFirstChil("script") then
What if you made each script on the client depend on each other? This way if a client's script cant find a dependency you can either try to fix it or kick the player.
RIP just saw old happy said the same thing in different words.