.NET 5 Server App on GameLift?

Hey dear community,

I’m new to GameLift, and I tested Unity server build both on Windows and Linux, they were all properly activated on GameLift.

But can I write my own server code by using C#(.NET) (along with GameLift SDK but without Unity, ), and upload the executable console app to GameLift? If yes, is .NET 5 supported? Or do I have to use specific .NET Framwork / Core version?

I read this .NET Core&GameLift topic , it seems currently it’s not possible to write GameLift c# code and run it without unity.

I tried my .NET 5 server app on GameLift and the result :
SERVER_PROCESS_CRASHED
Win : Server process exited without calling ProcessEnding(), exitCode(134),
Linux : Server process exited without calling ProcessEnding(), exitCode(-532462766)

Anyone can help? If it won’t work, I hope I can get the answer and just stop trying. Thanks.

The GameLift C# Server SDK does not officially support creating C# server builds outside of Unity. However, the SDK is essentially a utility for sending websocket messages to the websocket server on the EC2 instance, so if push comes to shove you could write your own C# .Net5 server SDK. Folks have done it in the past for other languages, see:

  1. Rust: aws-gamelift-server-sdk-rs/src at main · ZaMaZaN4iK/aws-gamelift-server-sdk-rs · GitHub
  2. Go: GitHub - neguse/gomelift: Unofficial GameLift Server SDK in Go.
  3. Other community projects: GitHub - favoyang/awesome-gamelift: A curated list of awesome packages, articles, and other cool resources from the GameLift community.

However, before diving into that, it might prudent to find out why your server process crashed. First, it’s best to test out your server process with GameLift Local first. Testing locally will save you the trouble of having to wait for fleet creation. See: Testing Your Integration - Amazon GameLift

Next, it might be worth remoting to the fleet instance and run the server process directly on the instance to see if you see any helpful error message. Make sure you create your fleet with RDP port (3389) opened. See: Remotely access GameLift fleet instances - Amazon GameLift

1 Like

Thanks for your answer! I will try to dig further with the info you provide!