Is obfuscating code in open source models ok/allowed?

I have been working on an open source hand cuff/jail system. I want to improve its quality by hiring an animator and some Gui Artists, but since it is open source I don’t have a budget for that. So I decided to work on a paid ‘‘premium’’ version with some extra features, but of course I need something to keep it paid only. My idea was to obfuscate the code and include some kind of list of owners or communication with a server to determine if the user actually paid, but I noticed that many people on the forum are not fans of obfuscation (some also claimed that it could lead to moderation of roblox).

Should I obfuscate the “premium” code and will I get in trouble if I do so?
If your answer to this question is no, do you know of any alternatives or another solution?

No, roblox bans models with obfuscated code now.

1 Like

Some people said that Roblox only moderates it if you publish it to the toolbox. Is that true?

That is what I meant by model, yes.

If I were to put it in a .rbxl file, and distribute the file in discord or some different place. Would it be fine?

It depends on what the model or script is going to be for. If it’s a virus, or stolen content, then no. If it’s an anticheat made for good intentions, or private commissioned work, then it’s fine.

If it’s free & open source and you want to keep it that way, then I recommend getting someone who wants to work on it to help along with that stuff. Though, to answer your question: Roblox does not support paid models – nor is it likely you could pull off a remotely working system to prevent piracy without at least severely hindering the use of the model.

Really, the best thing you can do (for open source sake) is to keep it easy to modify for anyone who wants to implement their own GUI

A simple check to determine if they aren’t pirating wouldn’t hinder the usage of it as long as you aren’t pirating?

Edit: I tried making GUI easy to modify, but it’s quite hard plus most of the users don’t know how to make their own UIs.

Obfuscating an anti pirating system that works with http requests to my server will be considered a virus or malicious I assume?

Yes, I would never put obfuscated code that accesses https. No one should put that in their game, it could send their entire game through https to anywhere. It could also have modifiable behavior through https, basically making it a complete backdoor.

I hate to be this person, but I can’t see anyone buying a paid version of something so simple. I would recommend just having a free rblx and a paid rblx or just sticking to only a free version.

1 Like

No, how do you prevent pirating? If someone has access to the script, can’t they just remove the piracy check…? Obfuscation can only go so far

You would be surprised how many people are willing to pay for it. I see your issue though I wouldn’t put obfuscated code that makes http requests in my game either. I will stick with just a paid rbxl. I’ll update it regularly maybe that helps against pirates.

If the code is received by a programmer, he will first of all check it against Http requests, and secondly, even if you do this, the code cannot run in the editor to delete itself, and during the test, I think the person will notice this and start fixing this point, since the code will not disappear in the editor.

In short, it is impossible to create a copyright verification system.

My original idea was to check for the purchase when the game’s server started this would be converted into some type of value. All other functions of the system would check that value and see if they bought it. If they didn’t then the function would just terminate/return. If they wanted to remove the checks they couldn’t or would need to put effort into deobfuscating the code.

Edit: Creating a copyright verification system is indeed impossible, but you can still make it hard to pirate.

I agree, but we still have people who can do this and publish open source code.

Also, if you want to sell it on another platform as a file, you should remember that one person can buy it and make it freely available.

I’m aware of that. That’s why I thought about releasing updates as often as possible. This would make it so that leaked versions get outdated quickly. That’s all I can think of as some sort of solution at this point.

Friend, I was thinking about whether it’s possible to make a verification system and remembered that there are functions that download published files, you can make a system that will download the main file of the entire system and there will also be a verification code, since ordinary people will not have all the code at once, but only the downloader, which can be made confusing, they probably won’t be able to get the open source code so easily, and when the game starts, the game will check for rights when downloading files and if it finds that it does not have rights, it will instantly cancel everything.

Of course, you can make it even more complicated, but it also takes some time to load the files.