yeah pretty clueless op. here's some real tips.
Never trust the client. Common sense.
Avoid remote-spys by networking in pure Lua as much as possible. event:FireServer() is always visible. event.FireServer is visible, but not if you do it while the client loads. The actual FireServer function is pure lua; invisible.
The newest spys will see everything regardless. Obfuscate your remote names & your data arguments as GUIDS.
event1:FireServer("a")is useless if a different server requires
event2:FireServer("b"). Another technique is to flood spys with dummy logs. Not too fast or lag.
Jailbreak does all of this amazingly.