How to prevent a model that I'm selling from being leaked

I was thinking of adding a line

if game.PlaceId ~= 203940302 then return end

but the player can just delete that line, another solution I was thinking was obfuscating my code so they cant find where that line is but that would probably slow down my script.

4 Likes
  1. selling individual items is bad practice
  2. you can’t prevent leaking, they can just delete the script; it doesn’t have to be deobfuscated for it to be deleted
  3. sell services, not goods
  4. if you can’t trust someone with your product they have no reason to trust your obfuscated code
7 Likes

But the placeID check will be inside the core script where it will handle remoteEvents so they cant just delete that otherwise the Model wont work.

they can just recreate the script or edit out any checks you might have built into the core script. easy

Here are some suggestions I list below

  • Hide it
  • Add the line to some of your asset’s scripts
  • Or don’t name it if all the scripts are just the default name

I hope this helps.
Edit: If the script is in any other services other then ServerScriptService and ServerStorage, the script can be copied too.

They cant just edit out any checks considering the script is obfuscated

There are many tools available to help out with deobfuscation. I don’t see much of a point in selling goods rather than services though

Someone could be upset for having some unexpected obfuscated and hidden script in their model. So that’s not a good idea.

1 Like

I don’t see how it makes it a bad idea just because some may disagree with it. I’ve use services that has obfuscated scripts as I use third party services and I don’t mind them doing that, nor do the thousands of other customers that use those services.

Personally I would not want some unknown code being served in my game, it could do bad things; so I would end up deleting it.

Sure, that may be your opinion but I believe he should talk and consult with his customers rather than us calling obfuscating bad.

If he convinces his customers, and they agree to it then that’s all fine

A solution is: If someone leaks the model and you realize it, you can DMCA takedown request their leaks. This way, it means they were copyright striked. It is best recommended to copyright claim your model, in case it gets leaked.

3 Likes

There are not many tools for deobfuscation, as you might be wrong, the model can be copyright claimed, meaning if someone were to leak it, the leaker would get a DMCA copyright strike.

One problem with the DMCA claim route, and that is that Roblox will probably not do it. However, assuming they do take this route, they need to be sure that they can prove that this model is theirs, and not the copy. Roblox is very stingy with taking action on a DMCA claim, so you might want to have as much proof the asset you are selling is yours.

3 Likes

I agree, but if the developer manged to gave true evidence of them owning it, then they will copyright claim their model (the developer.)

Then, if someone leaks their model, the developer can find it, then copyright strike it.

1 Like

I was just pointing out that there have been times where Roblox has dismissed evidence as not enough, so I was just giving a warning to be careful.

I accept that, but if roblox has dismissed the owners’ evidence as enough, then they would have permission to DMCA copyright strike the leaker’s model. This will not happen if the leaker gets permission from the owner/claimer to leak the owners’ model.

2 Likes

Since the script you provided is a server script, if it’s stolen via exploits, the server script can’t be decompiled so it’ll just end up being a blank script anyways.

To prevent models from being stolen or leaked, don’t release them, ever.

You could try using require() to import the code from a private asset, then nobody can change/access/see the code without that asset. You could add the placeId check in the module being required or maybe use MarketPlaceService to check if the owner of the game actually owns the correct model version.

2 Likes

Use vendr it has a build in whitelist system. It works great.