Can I check when SaveInstance() is used?

Through the client is it possible to check when SaveInstance() is used. I need this to counter exploiters stealing games. If you can help, please private message me any code (It isn’t wise for it to be put out publically)


No and it’d be useless to. Malicious clients would just delete the code you would make to detect it. Place stealers can only steal LocalScripts, ModuleScripts on the client, and the geometry of a place. They do not have access to any server script, period. They also do not have access to ServerStorage and ServerScriptService. Unless your game is extremely basic, a stolen copy doesn’t really matter.


I am aware, but my problem is that if I had a game with very detailed builds and rigs, that could all be easily stolen. This literally means that I cannot release this game to the public due to exploiters who will leak it, which is very unfair.


I don’t think it’s possible. If it was everyone would use it.
If you find anyone stealing your games you’re better to use the Report Abuse feature or contact the Roblox staff.
Even, maybe you could add a hidden script to any hidden object which destroys the game when the game.CreatorId isn’t equal with your id. Off course, this script can be removed, but not that easy.
Big games get leaked, such as Jailbreak, but nobody cares so. Just focus on your project and don’t worry.


ROBLOX does not help with games that are stolen etc after it has happened once. That is why certain games have multiple uncopylocked places of them on the site by different people.

Also front-page games that are leaked most local scripts and module scripts aren’t there or blank. That could either be because the person stealing it did a bad job or something cleared it.

And for me it is a big deal if it gets stolen, considering some people have offered over 10k R$ for copies of certain rigs. In the past people have sold my models on sites such as “V3RMILLION” in exchange for lots of R$.

I’m not quite sure but if SaveInstance() is 99% of the time how exploiters leak games, why not just add a way to disable it from your game? After all, it is depreciated and an “ancient data persistence method”.

There’s no point removing it because people will still download games. Once something is on the client, it has been downloaded through the network

1 Like

Yes, but what other options does one have? This is a sort of pointless thread, but I’m just interested in what I can do instead because if ROBLOX cannot help then there’s no point.

The SaveInstance that you are talking about is the method from the old data persistence service. The SaveInstance that exploiters use are functions that are built into the exploit to copy a place. They are not related to each other.


Feels stupid

That makes sense, I guess there is really nothing to stop this then.

Yes they do. You’re thinking of the one time rollback where if your account is hacked once, they’ll rollback the damages once.

:SaveInstance() is not what they use, but suppose they were just using a normal API function. Removing the API function would just result in them doing it by hand (which is what they actually do). This would solve nothing.

1 Like

Yeah, I understand. But I was told about a year ago by ROBLOX Support that they may be unable to assist with further leaks on the same game due to people just saving it on their hard drive and re-uploading. My main issue with people leaking is that once people have a copy of it for themselves, it isn’t that special anymore to players. They can see how things were done and they can just replicate those ideas and techniques in their own games.

Trust me - not enough people will download it and play from that download to have an impact at all. It doesn’t make your game any less special - but as a rule of thumb, keep most logic done on the server side. They can’t steal that (effectively making your game uncopyable unless they try to recreate it - even so, you can take down any copies that get popular. It’s not a concern you should have.