Gamelift ruleset maxPlayers bug

0

I'm experiencing a bug regarding rulesets. When I try the first ruleset and make 2 clients search for a match, it never finds a match. But with the second ruleset, it works. It seems that using 48 players will cause the matchmaking to bug, and it was working previously. Not working:

 {
     "name": "TestGameLiftRule",
     "ruleLanguageVersion": "1.0",
     "playerAttributes": [],
     "algorithm": {
         "backfillPriority": "high",
         "strategy": "exhaustiveSearch"
     },
     "teams": [{
         "name": "NoTeam",
         "maxPlayers": 48,
         "minPlayers": 2
     }],
     "rules": [],
     "expansions": []
 }

Working:

 {
     "name": "TestGameLiftRule",
     "ruleLanguageVersion": "1.0",
     "playerAttributes": [],
     "algorithm": {
         "backfillPriority": "high",
         "strategy": "exhaustiveSearch"
     },
     "teams": [{
         "name": "NoTeam",
         "maxPlayers": 20,
         "minPlayers": 2
     }],
     "rules": [],
     "expansions": []
 }
asked 2 months ago105 views
2 Answers
0
Accepted Answer

Hey natejona,

Amazon GameLift's matchmaker has a distinction between small and large match rulesets with a cutoff of 40/41 maximum players in a match. I'd recommend checking out the following documentation to see if that helps unblock your development:

AWS
answered 2 months ago
  • Yes this is correct

    Here is an example of working ruleset for 41 max players: { "name": "TestGameLiftRule", "ruleLanguageVersion": "1.0", "playerAttributes": [{ "name": "latency", "type": "number" }], "algorithm": { "strategy": "balanced", "balancedAttribute": "latency" }, "teams": [{ "name": "NoTeam", "maxPlayers": 41, "minPlayers": 1 }], "rules": [], "expansions": [] }

    Would like to mention that some examples in the documentation don't pass the json validation

-2

This issue with maxPlayers exceeding a certain threshold causing matchmaking to fail is likely due to a limit imposed by GameLift.

Some things to check:

  • The maxPlayers value cannot exceed the max players supported by the GameLift queue it is matching into. Check your queue configuration and make sure maxPlayerSessionCount is high enough.

  • There may also be an account-level limit on the max players per match, often around 50. Check your GameLift service quotas and request an increase if needed.

  • Try gradually incrementing the maxPlayers value to see at what point it starts failing. This can help narrow down where the limit is.

  • Use exponential backoff and retries when matchmaking fails - it could be a transient issue.

  • Double check the fleet is configured and sized appropriately to support the requested maxPlayers value.

So in summary, GameLift imposes some limits on maximum players per match to ensure efficient match placement. Work with their service quotas and queue configuration to determine the max that will work for your game. Start with a lower value like 20, then scale up gradually.

AWS
Saad
answered 2 months ago
  • Regarding your first point:

    • The maxPlayers value cannot exceed the max players supported by the GameLift queue it is matching into. Check your queue configuration and make sure maxPlayerSessionCount is high enough.

    There is no such thing as maxPlayerSessionCount when I create a new Queue

    I also tried various fleet compute size, even though I was doubtful, indeed it's not fixing the issue

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