Trying to create a Linux fleet with C# server SDK

I have a visual studio c# server that uploads and creates a fleet successfully in Windows 2012. To reduce costs, I want to use that server and create a fleet in Amazon Linux. I created the linux executable from that windows executable with mkbundle in wsl and it generated a self-contained “shared object” file. I upload the file with all its dependancies and try to create the fleet with it but it returned with this message “Server process exited without calling ProcessEnding(), exitCode(1)” then after it errors out. I know the problem had to be with the executable file. I just don’t have any context on what the error means.

Anyway, any help would be appreciated.

Thanks.

Failure to launch is frustrating and on Linux esp can be a little painful. I would assume you probably need to install various parts of the .net runtime on your Amazon Linux2 host.

Some tips:

  • Learn how to remote access a GameLift instance: GetInstanceAccess - Amazon GameLift Service
  • Get on the instance and manual launch the process (will give you the reason for failure)
  • Use Windows subsystem Linux (ok but its not binary compatible with AL2) local AL2 docker container (better), actual AL2 EC2 instance (also good). Copy over your binary and experiment with what runtime dependencies are missing.

Then set-up your install.sh script for Linux to set up the right things.

There are quite a few threads about exit(1) and Linux and how to debug. For example: * Server process exited without calling ProcessEnding(), exitCode(1)