Shutdown Gamelift Session

0

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

已提問 5 年前檢視次數 540 次
3 個答案
0

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.

已回答 5 年前
0

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 =)

已回答 5 年前
0

THanks this did the trick :)

已回答 4 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南