godarklight / DarkMultiPlayer

DarkMultiPlayer - A multiplayer mod for Kerbal Space Program
MIT License
278 stars 120 forks source link

[Discussion] .Net Core Support #448

Open HurricanKai opened 5 years ago

HurricanKai commented 5 years ago

This is not an issue, so i dont use the template, but simply enough, to make it easier to run this on Linux, i woud suggest updating to .Net Core. Ill create a Fork later today doing this.

I simply created this as a Reference for a possible future Pull Request & As Discussion place

HurricanKai commented 5 years ago

This Project in general looks fairly Abandoned, how is its status? I mean i see that there are updates to the latest KSP Versions, but on bugs?

Xinayder commented 5 years ago

The main issue with supporting .NET Core is client-server incompatibility. We run .NET 3.5 as it was the version supported by Unity a few versions ago. I'm not sure if it changed, but we can look at it.

HurricanKai commented 5 years ago

in 2018.3 unity will officially change all defaults to .Net 4.0 shortly after 3.5 will be deprecated! To my knowledge the common stuff coud be done in .Net Standart and then Server in .Net Core and the Client in .Net 4 / 3.5? (i dont think this woud be much more work then just editing some settings, common to .Net Standart woud prob. be the biggest issue?)

Xinayder commented 5 years ago

I'm not really sure, but I don't think it would be possible. .NET Core/Standard would present some incompatibilities between Common and Server/Client. We need to ensure they're both compatible with each other. Also, porting Common to .NET Core wouldn't have any difference.

HurricanKai commented 5 years ago

but Porting Common to .Net Standart woud make it compatible with both .Net Core and .Net Framework? at least if i remember this right? What do you mean with incompatibilities if im not getting you here?

joshudson commented 5 years ago

The compatibility differences are likely to be so low for the code you share that it's almost certainly a few lines of #if and #else and you're done.

tgxn commented 3 years ago

This change would also allow the server to run in docker image mcr.microsoft.com/dotnet/sdk:5.0-alpine