Game server starts successfully, but game sessions never show as "Active"

I recently started cross-compiling my game for Linux servers, and my flexmatch queue never places the player(s). The fleet is active, the instance is online, the server logs all look healthy, but the gamesession never changes from “Activating” until it times out and goes to “terminated”.

Side note, windows instances of the same game server work perfectly.

Activating means that GameLift is trying to place a game session on your queue/fleet. If it timesout then either:

  • No healthy capacity is found
  • Or your GameSession is not accepting the game session via ActivateGameSession

You want will to:

  • Reduce your set-up so only your fleet to debug is taking traffic, and run ideally just a single instance at a time.
  • Double check your wiring for OnGameSessionStarted in your ProcessParams call to ProcessReady
  • Ensure no unexpected fleet events (ie that GameLift doesn’t think you called InitSDK, or your processes are going unhealthy)

Then:

  • Validate with GameLift local that you can create and successfully place a game session on your Linux Server
  • If that all looks good, then remote into your fleet instance and then place a game session ideally directly though CreateGameSession, or through the queue
    • Tail your logs and ensure everything looks good.

If you are still having problems if you can provide game session id, can get GameLift service team to take a look.