No More events when PotentialMatchCreated is received

-1

Hi, i've been following the whole guide of Gamelift setup with FlextMatch, i already setup all the lambda functions and everything to receive the events of FlexMatch and save them on a DynamoDB Table, but no matter what rulesets on the flexmatch i always get the same behaviours: I Open first client login with Cognito Credentials with a Username called "X" and password then start matchmaking i receive the TicketID on the DynamoDB Table as MatchmakingSearching, Then i Open the second client login with Cognito Credentials with a Username called "Y", start matchmaking and then the two ticketsID on DynamoDB change to PotentialMatchCreated and then no gamesession is created and the two players stay like that until the two requests are Timeout. I Saw another post about the same that they could solve it by setting the values:

minSize: 1,
  maxSize: 10,

on the fleet, i Tried to set them to minSize:1 and MaxSize 1: To ensure that a instance is running but same behaviour, i checked out that the instance is running by using SSM and remote accessing it to it and checking the logs.

My Current FlexMatch RuleSet : (Which is the same as the other post just to ensure that the ruleset was not causing issues)

{
  "name":  "simplest_match",
  "ruleLanguageVersion":  "1.0",
  "playerAttributes": [],
  "teams": [{
    "name":  "players",
    "maxPlayers":  2,
    "minPlayers":  2
  }],
  "rules": [],
  "expansions": []
}

This is the output from SNS when trying to find a match: SNS Topic

When using the example rule set provided on the documentation of flexmatch: https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-examples.html

{
    "name": "aliens_vs_cowboys",
    "ruleLanguageVersion": "1.0",
    "playerAttributes": [{
        "name": "skill",
        "type": "number",
        "default": 10
    }],
    "teams": [{
        "name": "cowboys",
        "maxPlayers": 2,
        "minPlayers": 1
    }, {
        "name": "aliens",
        "maxPlayers": 2,
        "minPlayers": 1
    }],
    "rules": [{
        "name": "FairTeamSkill",
        "description": "The average skill of players in each team is within 10 points from the average skill of all players in the match",
        "type": "distance",
        "measurements": [ "avg(teams[*].players.attributes[skill])" ],
        "referenceValue": "avg(flatten(teams[*].players.attributes[skill]))",
        "maxDistance": 10
    }, {
        "name": "EqualTeamSizes",
        "description": "Only launch a game when the number of players in each team matches, e.g. 1v1, 2v2",
        "type": "comparison",
        "measurements": [ "count(teams[cowboys].players)" ],
        "referenceValue": "count(teams[aliens].players)",
        "operation": "="
    }],
    "expansions": [{
        "target": "rules[FairTeamSkill].maxDistance",
        "steps": [{
            "waitTimeSeconds": 5,
            "value": 50
        }, {
            "waitTimeSeconds": 15,
            "value": 100
        }]
    }]
}
  • It would help your question if you can provide context, such as what is GameLift and FlexMatch and links to relevant guides that you're following.

Pau
asked 9 months ago167 views
1 Answer
0

Hi Pau,

From the looks of it, it seems like FlexMatch was able to match the two tickets together, but the Queue (linked to your Matchmaking Configuration) failed to place the corresponding match onto your fleet.

A queue is configured to retry placements until the configured Queue timeout after which the tickets are transitioned to a TIMED_OUT status. It's difficult to reason why the Queue couldn't create the placement on the fleet without looking at your specific resources, but I would check the AvailableGameSessions metric for the particular fleet in your CloudWatch account to ensure there are active, healthy server processes which are capable of placing Game Sessions. If this is 0, it may be indicative of:

  1. Insufficiently scaled fleets, in which case you can scale up your fleets to always have AvailableGameSessions.
  2. Problems with the Game Session going ACTIVE. You can verify this by looking at game session logs on the box when SSH'd onto the host. This logs are located at C:\Game\ for Windows (or) /local/game for Linux.

If you need further assistance please cut GameLift a support ticket so we can help identify the exact root cause for your issue.

Thanks!

AWS
answered 7 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions