Make Unturned Open Source


#1

Disclaimer: Copied from Reddit

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.

Trojaner’s expansion:

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: https://github.com/KeenSoftwareHouse/SpaceEngineers. Space Engineers has an EULA for using the source code: https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/EULA.txt It basically restricts usage to “educational purposes” and “contribution”.


#2

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.


#3

I’m glad to hear this. I look forward to contributing to Unturned in the future.


#4

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) =)


#5

As it seems Nelson changed his mind, afaik he won’t open source anything of UT4.

Edit: to make it clear, Nelson said:

I don’t think I’ll be importing community content or code officially into 4, but with the improved tools, mod and workshop support there’ll be a lot more options.

Which hints that he does not have any intention on open sourceing it.


#6

Dude, this topic is 4 months old.


#7

Doens’t matter, its still an active topic to us developers. Recently it has been brought up again on GitHub and Nelson said that he does not have any plans to open source parts of UT4.


#9

Interesting, I hope to see further news on this


#10

That comes off as quite elitist. Might want to word what you say better in the future xd

I think it was fairly obvious Nelson didn’t have plans to open source 3.0, and now that 4.0 is nearing those odds decrease heavily.


#11

I said something earlier about the fact that just because you made Rocketmod doesn’t make you any more special than one of us, but it seems to have disappeared. I do find that a tad bit… odd.

It’s been clarified and I get why it was deleted. (but still…)


#12

It doesn’t make him more special, it just makes this topic more relevant to him. And that’s what he was trying to say.


#13

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.


#14

Nelson actually had plans to open source parts of Unturned 3. Due licensing issues he couldn’t. Thats why the Community Module exists in first place.


#15

I actually made some parts of the RocketMod Rework branch. At the moment I’m listed as RocketMod Development team member on GitHub.

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.


#16

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.


#17

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.


#18

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.

Thank you Nelson


#19

Oh. When I clicked on your profile and saw “active developer of rocketmod” it’s kinda easy to assume that you meant that you made it. I guess that’s my mistake there. No hard feelings?


#20

It doesnt mean I made it. It means that I’m one of the persons who are actively developing it. There is a difference.