After a player sends the matchmaking request to FlexMatch, a client tracks down the ticket status through describe_matchmaking() in Lambda by polling. The output of the api includes an ip address and a port of a dedicated server in Fleet.
I didn’t check whether the ticket status of the player who didn’t get the ip address was “COMPLETED” or not but before I checked other cases. All ticket status in the other cases were “COMPLETED” but FlexMatch didn’t send an ip address and a port of a dedicated server.
The matchmaking flow is that a client sends its matchmaking request without its ticket id. “start_matchmaking” requests the matchmaking to FlexMatch. The api returned a new ticket id for the matchmaking request. The ticket id is sent to the client to track down the status of the ticket by “describe_matchmaking()”. Now SNS Topic is not used. So the “describe_matchmaking()” is often called to get the ticket status, an ip address and a port of a dedicated server.
This is the function for the “start_matchmaking” in Lambda.
This is another function for the “describe_matchmaking” in Lambda.
This is the screenshot that I took when one of players couldn’t get to a lobby but I didn’t check if the player’s ticket status was “COMPLETED”. Also, I didn’t check whether the player didn’t get the ip address of the dedicated server or not but before when players couldn’t get to a lobby, I looked at their ticket status. It was “COMPLETED” without an ip address of a port.
The ticket status is “Timed Out”. It means that it was “Reserved”.
FleetId : fleet-d013596a-b036-41f2-8a42-77a2b3be7c5e
Game session: arn:aws:gamelift:us-west-2::gamesession/fleet-d013596a-b036-41f2-8a42-77a2b3be7c5e/1ef17d2b-6b02-4fe1-9bcf-e2bdf0c80385
PlayerSessionId : psess-afcb0fa3-0071-40a6-84d0-344c23fbb84a
TicketId : Unfortunately, I don’t have it.
Thank you for taking your time!!!