Server Script not detecting deletion or disabling on client

The script is suppose to see if the client disabled or deleted it with a loop.

The issue is that It is only looking at the server side.

-- Main loop
while wait() do
	for _, v in pairs(PlayerService:GetPlayers()) do
		local acScript = v.Backpack:FindFirstChild("AntiCheatClient")
		if acScript == nil then
			v:Kick("stop exploiting")
		else
			if acScript.Disabled == true then
				acScript.Disabled = false
			end
		end
	end
end

Please do not ask people to write entire scripts or design entire systems for you. If you can’t answer the three questions above, you should probably pick a different category.

The server won’t know if the client deletes anything. You have no way of knowing if the client deletes an anti cheat script. You can make it as convoluted as possible, but in the end, the client will eventually find a way to bypass.

You would unfortunately have to check on the client. By the way, exploiters don’t need to destroy or disable your scripts to prevent them from working. They can disconnect your connections, change your anti-cheat’s constants/globals/etc, or just spoof any values you check for (like WalkSpeed).

Doesn’t a loop allow the server to view the client?