FlexMatch Matchmaking times out

Hey there, I am using GameLift with Unreal, and I set up the FlexMatch system exactly as it is described in the docs.

I have a queue on eu-central-1, which has a fleet linked to running at us-west-2. To that, I got a matchmaker ruleset and configuration on eu-central-1. The configuration uses the queue.

I integrated everything in my client and server, but if I start my matchmaking, it’s at SEARCHING for 60 seconds (my matchmaking timeout I defined in the configuration), and then returns TIMED_OUT, even though the fleet has one instance up. I also tried to create a new session through the queue using start-game-session-placement from the AWS CLI. That did create a new session successfully on my server too, but the matchmaking won’t simply find that.

Help is greatly appreciated :slight_smile:

Hey @Nisshoku!

Can you supply the name of your ruleset and matchmaker, and perhaps a fleetId and queue ARN so that we can look up what is happening?

You generally will see timeouts if you do not have enough concurrent requests to StartMatchmaking to make a match based on your rules (less players than minPlayers in your ruleset), so being able to take a look at your rules and matchmaker configuration will help us see what is happening.

Has any progress been made on this?
@Matchmaker @Nisshoku

I am also using UE4 with FlexMatch and running into timeout issues.

They maybe 2 separate issues but the first time I run StartMatchmaking on a fresh fleet I get status COMPLETED and see the player session in the dashboard. But that times out after 60 seconds.

After the first time, whenever I try to run StartMatchmaking from my lambda again on the same fleet it just runs through all 12 describeMatchmaking attempts and fails to connect to the game session. Using matchmaking config and lambda very similar to this blog post for testing. Slightly modified to allow testing with less clients.

If you are seeing player sessions timing out after 60 seconds, that means you are not calling Accept on your player sessions.

I would also check you are terminating game sessions correctly as it sounds like after the first run things stop working, which sounds like you don’t have an available process to place a game session on. Look at your fleet metrics and ensure you have capacity to place a game session on your fleet prior to starting matchmaking.

Thanks for the pointers @Pip!

I’ll take deeper look and report back.

Hi @Pip,

For the first point, I assume you are referring to this AcceptPlayerSession() referred to in this graph? I seem to be having issues finding a mention of it in aws-sdk-cpp, do you know if the name of the function has been has changed?
The other Accept method is this one, but from what I have read, that is only needed when the matchmaking configuration requires player acceptance which ours does not at the moment.

It seems you are correct that the server process is not terminating correctly as I see this log when deleting the fleet:

Server process did not cleanly exit within 30 seconds of OnProcessTerminate(), exitCode(-1)

However I don’t think that is the issue preventing StartMatchmaking to launch any further game sessions, after the first one, as I have my concurrent processes set to 4 so there are still 3 “Available Game Sessions”. Interestingly I can spin up a new game session (again after the first successful match) if I call create-game-session from the aws cli. So it must be an issue in the matchmaker.