Linux Dedicated Server need please

Pascal Bigeault shared this feedback 2 years ago
Submitted

The servers are generally more stable on linux and many games offer the ability to make a server on linux, better control of resources assigned by application and better management of resources available to operate multiple server at the same time, from my choice to use Linux for platform for dedicated servers.


I can understand that at the moment they have impossible you to modify the games to make it Opengl. However, it would be possible and easier to do than for the games, to modify the launcher for the dedicated server so that it can run on linux.

Thank you :)

Comments (1)

photo
1

Unlikely.


Game is built upon C# and .NET - a proprietary Microsoft Windows technologies.


It would require a complete rewrite in different language unless a Linux port will be done by MS itself ...

photo
1

Wasn't it also something with the physics engine not being available on Linux?


Nevertheless, yes, a Linux server version is needed. Windows costs money and is humongous, both factors severe deterrents from setting up one's own dedicated server.

photo
1

C# and .NET are available under the dotnet core 3.1 api on linux

photo
1

It can surly be done if quoted conditions listed below are fine. But it will be necessary with some rewriting here and there when extending from net to .net core. I also guess it would be necessary to implement support for OpenGL?

The .net core framework has been re-written all over from bottom to top and is recommended for new code, e.g. if performance is a priority. Following is some usage scenarios quoted:

Use .NET Core for your server application when:

  • You have cross-platform needs.
  • You're targeting microservices.
  • You're using Docker containers.
  • You need high-performance and scalable systems.
  • You need side-by-side .NET versions per application.

Use .NET Framework for your server application when:

  • Your app currently uses .NET Framework (recommendation is to extend instead of migrating).
  • Your app uses third-party .NET libraries or NuGet packages not available for .NET Core.
  • Your app uses .NET technologies that aren't available for .NET Core.
  • Your app uses a platform that doesn’t support .NET Core. Windows, macOS, and Linux support .NET Core.

https://docs.microsoft.com/en-us/dotnet/standard/choosing-core-framework-server


I also believe that I've read that core 3.1 is the first "true" cross-platform framework, as from this version all remaining Windows specific "IIS" libraries has been removed from the framework. Unfortunately this means that the regular .net framework no longer can reference this version of the core framework.

Alternatively I think a lower core version could be used to a start, making use of the ".net standard 2.0" (or lower). Thus having ".net standard" libraries shared between ".net framework" and ".net core framework". Or using multi-targeting using both ".net standard 2.0 and 2.1" side by side.


A quote explaining .net platform support between .net and .net core frameworks:

".NET Framework is the implementation of .NET that’s installed on over one billion machines and thus needs to remain as compatible as possible. Because of this, it moves at a slower pace than .NET Core. Even security and bug fixes can cause breaks in applications because applications depend on the previous behavior. We will make sure that .NET Framework always supports the latest networking protocols, security standards, and Windows features.

.NET Core is the open source, cross-platform, and fast-moving version of .NET. Because of its side-by-side nature it can take changes that we can’t risk applying back to .NET Framework. This means that .NET Core will get new APIs and language features over time that .NET Framework cannot. At Build we showed a demo how the file APIs are faster on .NET Core. If we put those same changes into .NET Framework we could break existing applications, and we don’t want to do that."

https://devblogs.microsoft.com/dotnet/announcing-net-standard-2-1


Also a list showing how all versions are connected in the .net standard:

https://github.com/dotnet/standard/blob/master/docs/versions.md

photo
1

Actually I might be guessing wrong about the OpenGL part. If all graphics are managed on clients only it properly shouldn't be necessary with OpenGL on a Linux server?

photo
1

The .Net Framework will only get security updates in the future, where .Net Core will continue as the new .Net 5.0 and onwards:


https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of-net/

https://docs.microsoft.com/en-us/dotnet/core/dotnet-five

https://www.youtube.com/watch?v=kX0eX5tDGgc

photo