I was wondering how I could protect my games from being stolen. I‘m not an exploiter and therefore I have no clue how it works, but I have played some copies and scripts don’t get stolen. So, can‘t I just load in all parts from server storage using a script?
You can’t protect your game from being stolen when it comes to exploits. The problem with Roblox is they lack the security most games should have that allow you to protect your own content. What you can do to make up for this, is to research how to report to Roblox that someone has stolen your game.
Anti-decompilers are a thing, but they’re kept private & expensive. If you’re really interested in buying one, you should look for a dev that’s capable of making one or that’s already selling one.
Anti-decompiling exists, it’s just not talked about.
What you could do to prevent your client scripts from not being decompiled is obfuscating them with obfuscators like PSU.
I really wouldn’t worry about it. For the amount of effort required to steal the average game you might as well just make your own game. Exploiters can’t steal physical assets for example, so they only have decompiled local scripts (which generally need to be paired with server scripts that they can’t access).
At the moment you don’t have much to do. I usually look for some anti-exploits on the toolbox and which ones are better I put in my game. However, Roblox will solve this problem for everyone in the future.
I hope they do to be honest. I feel like if they do something in the launcher, or in the the roblox client, it’ll be a lot more efficient than what we’re able to do right now.
Anything shown on the client (Models, Local Scripts, Module scripts called from local scripts, Animations) can be stolen you cant do anything about that unfortunately. Things on the server (Server Scripts, Module scripts on server) cant be unless theirs a backdoor. So you cant stop your game from being stolen but you can minimise what they can steal. By making sure you dont allow any FAKE plugins or FREE assets implant a backdoor.
The reason you cant just load all parts from the server is because the client has to see those assets. While their in the server storage they cant be effected. But once it enters the workspace it can easily be stolen.