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 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则