Retrieving DNS Name and Port Before the onGameSessionStart Callback

0

I am currently writing a server using the C# SDK. I would ideally like to retrieve the DNS Name and Port of the process before calling ProcessReady(), as there is some initialization I would to do with that information. Is this possible? Am I misunderstanding a part of the process?

Thanks for the help!

질문됨 3년 전180회 조회
2개 답변
0
수락된 답변

Hi @REDACTEDUSER

Those are certainly possible.

For DNS name of the instance, you'd need to use EC2 metadata, see "HostName" in https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html. Here is how you can retrieve the data: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html

Port, on the other hand, is under your control. The recommendation is to pass them in via command line argument when executing your game server process, e.g.

aws gamelift create-fleet --region $REGION \
--name "TestFleet" --ec2-instance-type c5.large  \
--ec2-inbound-permissions FromPort=6252,ToPort=6254,IpRange="0.0.0.0/0",Protocol=TCP FromPort=22,ToPort=22,IpRange="0.0.0.0/0",Protocol=TCP \
--build-id $BUILD_ID \
--runtime-configuration ServerProcesses="[{LaunchPath="/local/game/gamelift-test-app",Parameters='port:6251 gameSessionLengthSeconds:10',ConcurrentExecutions=1},\
{LaunchPath="/local/game/gamelift-test-app",Parameters='port:6252 gameSessionLengthSeconds:10',ConcurrentExecutions=1},\
{LaunchPath="/local/game/gamelift-test-app",Parameters='port:6253 gameSessionLengthSeconds:10',ConcurrentExecutions=1},\
{LaunchPath="/local/game/gamelift-test-app",Parameters='port:6254 gameSessionLengthSeconds:10',ConcurrentExecutions=1}]"

Then, in my gamelift-test-app, I retrieve the port parameter from the CLI and use that for ProcessReady.

답변함 3년 전
0

That is exactly what I was looking for. Thank you for the help!

답변함 3년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠