As a Roblox developer, it is currently impossible to make scripts be verified before they run. I’ll expand upon this below:
Exploiters like to inject scripts, and this is a very big problem. So my solution would be to have a master script that creates a key that scripts must have in order to run (like a property.) All scripts would share this key, and if the script doesn’t have the key in their properties then the script can’t run. This would keep developers from needing to rescript their games for Filtering Enabled.
Exploiters are unable to inject scripts – they are only able to run code locally. Because of this, there’s no need to verify on the server, and verifying on the client would be a waste because they can tamper with their client. Unfortunately, there’s no easy way the engineers can prevent clients from executing arbitrary code – even AAA titles like CoD fall victim to this.
You should just use FilteringEnabled – there’s no excuse not to. It’s how games should be made.
Yeah but sending the key to the server might be an issue, because the exploiter would be able to see client-side what key it’s sending to the server, and an auto-renewing key wouldn’t help very much either, as the exploiter can possibly just make a program that auto updates its key so that it can continually use its malicious scripts.
Non-FE games are being phased out. “Experimental mode” (non-FE) is not meant to be used for production-level games. Please implement your game properly – no security measures will be developed for non-FE games.
Even with FE turned on, something like this could be quite useful. If anything, it’s another layer of security. It may not stop determined exploiters from cheating, but it will stop the majority of most exploits.
Exploits usually run in ScriptContext or CoreGUI which developers are off limits to. Also, as long as you have proper sanity checks and client server verification, you don’t need to worry about exploiters running code.
Yeah, he wants a public facing setting thing I’m pretty sure (why tho)
This thread is wrong in many ways, so I think that this thread should be locked (because it’s clear that, not only does something similar happen internally, but this thread is extremely misinforming)
Yeah go ahead and lock it, I think I have my answer. A public facing thing is what I was going for but I guess there would be no point if Roblox already is doing it.