How to configure Gamelift concurrent process for the server ?

0

Hi, I am trying to add concurrent server processes to my instance. I wonder how to make sure the activation succeeds for the instances with concurrent process. In my activation code for gamelfit in UE, IU hardcoded port 7777. How can I make this dynamic. I am not understanding the flow.

params->OnStartGameSession.BindLambda(onGameSession);

//OnProcessTerminate callback. GameLift invokes this before shutting down the instance 
//that is hosting this game server to give it time to gracefully shut down on its own. 
//In this example, we simply tell GameLift we are indeed going to shut down.
params->OnTerminate.BindLambda([=]() {gameLiftSdkModule->ProcessEnding(); });

//HealthCheck callback. GameLift invokes this callback about every 60 seconds. By default, 
//GameLift API automatically responds 'true'. A game can optionally perform checks on 
//dependencies and such and report status based on this info. If no response is received  
//within 60 seconds, health status is recorded as 'false'. 
//In this example, we're always healthy!
params->OnHealthCheck.BindLambda([]() {return true; });

//Here, the game server tells GameLift what port it is listening on for incoming player 
//connections. In this example, the port is hardcoded for simplicity. Since active game
//that are on the same instance must have unique ports, you may want to assign port values
//from a range, such as:
//int32 port = FURL::UrlConfig.DefaultPort;
//params->port;
params->port = 7777;

gameLiftSdkModule->ProcessReady(*params);

So how can I make sure the port I am selecting is the exact port at which matchmaking happened and the session is running?

已提問 4 個月前檢視次數 189 次
1 個回答
0

Hello,

Thank you for reaching out.

Please note that, the port would be defined before session placement, and not the other way around. Hence, you can pass the port on the command line arguments of the fleet configuration and then use that when you call ProcessReady (instead of the hardcoded one). Each instance will have the exact processes you configure always be running and waiting for sessions, for example on ports 7777, 8888, 9999 and the backend will get info when placement is ready on which port (and process) on which instance (and IP) was allocated.

AWS
已回答 4 個月前

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

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

回答問題指南