I know this has been a hotly debated subject in previous years when I viewed the dev forum. However, during that time, I did not realise that stealing games would be so easy. Now with the rise of synpase and other exploits, there are even people selling services such as “Steal Roblox game for you”. In this, you literally pay five dollars for the guy to steal five games of your choice (Though provided nothing in serverscriptservice and serverstorage can be taken.)
It’s always a subject of not caring for it until it happens to you. Now, I’ve realised that a number of people have been stealing my games and sending me screenshots of them being in studios with my game. Though I realise that Roblox can remove uploaded versions of these games, it still does not stop them selling these to unwitting clients as models they’ve made themselves.
So, having around 4 years of coding experience, making games on Roblox and scripting for other people, I’ve compiled here a list of possible ideas I have of limiting game stealing and minimising its impacts. (Note, at least from my knowledge, I don’t think it is possible to completely prevent client side game stealing, however us devs can try to make it as hard for the hackers as possible.)
The list goes from most effective to least effective. I haven’t been able to really test these, so whether they do work or not is up to debate. But if any reader knows any of their methods, please do share!
Hiding game-breaking codes in the game, which check for the id of the owner of the game through ProductInfo. It also checks if the game has RanService IsStudio() for further complexity on hacker. So they don’t realise that the game has a virus script inside. The script can be called something generic like “script” or " "(space) so making it harder to search in explorer. The script itself could do something like having a loop which kicks everyone, effectively shutting down the server each time it’s played; deleting everything in workspace and rep storage; or doing something really laggy that breaks the game each time a server is created. A few upsides is that it stops people from being able to use the game even if they steal it. However, experienced scripters will be able to find the script with ctrl shift F. So it’s more of a bandaid than an actual solution. It also does not stop hackers from just taking your models and leaving the game.
Having models only spawn in from the serverstorage to repstorage when player needs them. And then cloning the models from rep storage to workspace in the client side, and deleting it in rep storage immediately after inserting in Workspace. The upside is that even if the hacker takes everything in workspace and repstorage, they just get an almost empty game with a few models loaded in. Downside is that it lags your own game due to all the client to server interactions, and doesn’t stop hackers from stealing specific models.
Making your game have so many parts that it literally breaks the computer of anyone trying to steal it. Either making your game super big, or have a script that spawns in a bunch of unnecessary blocks in a really far off corner of the game that it will hardly affect gameplay. This prevents hackers with bad computers from downloading client side, or cause them issues and make their life miserable while they steal your game. However, it lags your game as well. I’ve experimented and noticed that if you spawn the parts into rep storage, it still makes it hard to download, but the gameplay will be less effected. It does slow down initially loading servers in if you are creating a bunch of instances. Again, this is not a perfect solution since someone with a good computer and lots of patience can still steal your models.
Make your game so popular and famous that anyone stealing it will be called a rip off the moment they do. This is what most triple A games do. Their games are completely open source, and everything is downloaded client side anyways. Yet, nobody really steals off them since their games are so famous that anyone trying to steal can be seen as an immediate fake. (And because they have top notch lawyers.) There is no real downsides to this, but good luck getting your game famous enough.
Get a lot of money, make use of DMCA/ hire a lawyer. Again, it works, but it is a lot of hassle and takes money on your part, all for the cause of a Roblox game. I understand if the bigger games would take use of this, but for smaller hobby devs, it’s just not feasible.
The above is just some solutions I was able to brainstorm. Sorry for the lengthy post. If anyone have their own solutions, as again, I am very happy to hear them.