Shutdown Gamelift Session

Hey we are currently integrating Gamelift into our UE4 project. Our game is session based and will shutdown its process manually when the game is finished. We are currently using UE4 shutdown method:

FGenericPlatformMisc::RequestExit(false);

It seems that this is not the proper way as we get these events in the gamelift console:

SERVER_PROCESS_TERMINATED_UNHEALTHY - Server process exceeded 3 minutes without reporting healthy

Also it seems that the lambda OnTerminate is not beeing called (Which is most likley the cause for the UNHEALTY event).

My question is: What is the proper way to shutdown our dedicated gamelift server?
Is it by calling TerminateGameSession?
Or should I call

FGenericPlatformMisc::RequestExit(false);
and thereafter
ProcessEnding

Thanks!
Kris

To shutdown a GameSession you should call GameLift either by:

  • TerminateGameSession: Closes current game session and GameLift can immediately place a new game session here.
  • ProcessEnding: Closes the current game sessions, ends the current process and will cause a brand new process to start to replace to it. Once process is ready, GameLift will consider it a candidate for new game sessions

https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-interactions.html

Basically Server needs to tell GameLift its down with the Game Session.

1 Like

FWIW, that’s what we do – we don’t kill the process but rather unload the maps et al and get back to an idle state, waiting for a new session. Seems to work well, and no terminated/unhealthy reports =)

THanks this did the trick :slight_smile:

1 Like