So you deobfuscated unturned. Great. This is extremely useful. Now, anyone can look at the games’ internals to figure out how it works. People can find exploits, bugs, and things to be improved. Great, now how do we go about getting them fixed? Well, if unturned was open-source, people could simply fix it themselves, and make a pull request for their change to be adopted into unturned. Why is this necessary? Nelson is one person, the community of people capable of doing this, however, is dozens large. Together, we can accomplish more than Nelson can do alone. So what consequences are involved? None that I can tell. People exploiting the game already have the potential to harm it, and keeping the game closed source but deobfuscated prevents people legitimately trying to help from being able to do so.
I’m Trojaner, developer of many popular Unturned plugins such as vault, regions, etc.
Every good Unturned Plugin developer knows the source code of Unturned. Just open any decompiler and you get it. Of course this is semi-legal but Nelson is actually allowing this (although not officially). But we don’t just want to see the code, we also want to contribute. Plugins are very limited these days, as they can not change client side behavior. Modules were going to change that but they also have other limitations, like no BattlEye, manual download, etc…
Nelson has issues with licensing, because Unturned uses proprietary code (assets from asset store like Highlighter for example), which he is not allowed to make open source. We would never be able to get a compile-able version of Unturned because of that, and some open source licenses like GPL (especially FOSS licenses) are not compatible with proprietary code.
My suggestion is this: firstly Nelson should not make anything “open source”. Because open source means he owns all rights / code and allows anyone to copy and use his code how they want it. No, instead he can make the code “public” and force a CLA on each pull request, to transfer ownership of code to himself. Instead of using a open source license, he can make source code public but still proprietary. See Space Engineers example below. Any third party code can remain closed source. He should also only publish the “code part” of the project, no assets (like textures, models), shaders, settings file, resources etc.
Games can have public source code while remaining proprietary: GitHub - KeenSoftwareHouse/SpaceEngineers. Space Engineers has an EULA for using the source code: SpaceEngineers/EULA.txt at master · KeenSoftwareHouse/SpaceEngineers · GitHub It basically restricts usage to “educational purposes” and “contribution”.
When considering this previously I hadn’t seen an example of a license like that, so I’ll hold onto that and potentially reference it in the future thanks!
I’d been aiming to go this direction with modules and eventually release my source code for all the official modules, but unfortunately moving everything out of the Unity assembly is going to take ages. Opening everything up for more modding potential continues to be one of my top priorities, however.
I totally agree with you. I tried changing the game code, I did it (I understand that it’s illegal) and I made a tough change for my project, you can do the same protection so that the content can not be stolen (fashion and maps) =)
It was most likely removed by Reaver or another forum moderator for it being borderline an attack on character rather than something relevant to the post. It wasn’t accurate either, as Trojaner did not make RocketMod. RocketMod is developed by Sven “fr34kyn01535” Mawby. Trojaner has, however, developed RocketMod plugins and contributed to the Community Module.
That aside, I do not recall Nelson making any GitHub posts regarding Unturned 3, which is the version this thread was originally about in August of 2017, in such a manner that would imply his intentions to make Unturned 3 more “open source” has changed. As far as I am aware, Unturned 3 is still open to getting more “open” modding capabilities down the line, even though the handling of Unturned 4 is going to be different.
Nelson said multiple times that he actually wanted Unturned 3 open source like Unturned 2. Due licensing issues - since he is also using external code which he does not own - he can not do that. He decided to make the Community Module instead. With Unturned 4, he decided to not make an equivalent of the Community Module and it also seems like he decided to throw away the idea of open sourceing it (he said that he does not plan to include community code in UT4). Instead, he will have a proper modding API this time, which makes the Community Module obsolete.
To clarify this, I did not state at any point here that I made RocketMod (I just “contributed” to it). Also I did not say that I’m more special in any way, just that this topic is more relevant to me, as Kr4ken pointed out. The topic still matters even if it’s 4 months old.
I touched on this in the most recent devlog, but to catch up on this topic:
I’ve been following up with Epic for distribution of the Unturned 4.x Unreal Editor (which according to the Unreal EULA can only be made available through the Epic Games Launcher), so that should be on track for the first testable version. It will contain all of the Unturned project files and .uassets minus source files that can’t be redistributed e.g. audio.
4’s c++ code does not have any third party dependencies, so it shouldn’t be an issue to make that available as well. For example Unreal Tournament’s c++ source is available on GitHub.
Even without the c++ source download the majority of my code for 4 is exposed to blueprints, so modded gameplay features are possible purely from the downloaded editor.
Why can the Unturned 4.x Unreal Editor only be distributed through the Epic Games Launcher? Does that also means that it will be not available on Steam?
Which source code does the editor contain? Can we build mods upon that (e.g does it provide the full modding API)?
Since you mentioned that on 4 - unlike 3 - you do not depend on external code, does that mean you might open source it? If yes, you said earlier on GitHub that you do not plan to include any community contributed code, so will we only be able to see code but not participate?
Yes, Unreal Tournament’s source code is available but only in a private repository which you need to be given access to (although everyone can request access and most will also get it). Its license is not open source, instead it ships an EULA. This is something that should be considered when taking Unreal Tournament as an example of an open source UE game.