Common problems

The following is a list of common Matchmaker problems and their respective solutions. If you need additional support, contact our technical support team.

When polling for a ticket status, I get a "Max Capacity Reached" error.

This is a common error from Game Server Hosting. This occurs because of the scaling settings of the Game Server Hosting fleet. Increase the maximum number of available servers in your fleet and then try again.

Additionally, ensure that your DGS terminates properly so it gets deallocated. Sometimes when a server is stopped manually through the Unity Cloud Dashboard, it does not get deallocated correctly.

When polling for a ticket status, I get a timeout allocation, but a server is still allocated on Game Server Hosting.

This can happen if the timeout you have set for the pool or the queue is less than 2 minutes. Increase your timeout and then try again.

When polling for a ticket status, I get a timeout allocation every time.

This can happen if you are testing during development with low traffic. Some common causes of this scenario include the rules in the pool being too constrained or the tickets being created with different attributes and targeting different pools.

When polling for a ticket status, I get a ticket incompatible with config error.

This error usually means that the matchmaker was unable to find a match for this ticket. This includes trying to put this ticket in its own empty match but with unsuccessful results.

Other common reasons for this error include:

  • The rules expect certain data types but the ticket uses a different data type. For example, an equality rule expects to match a number 40 but finds a string “40”.
  • The number of players in the ticket is greater than the maximum number of players in any of the configured teams.
  • At least one of the rules defined did not pass for this ticket, even after considering relaxations and trying to put this ticket in its own match.

When creating a backfill ticket through the HTTP API, I get an “The supplied value is invalid for Properties” error.

The following error occurs if the Data field in your properties is encoded in base64 without padding.

For example, in GO, use base64.RawStdEncoding.EncodeToString and not base64.RawURLEncoding.EncodeToString.

"Unexpected end when deserializing object. Path '', line 8, position 1.",
"The supplied value is invalid for Properties."

I have backfill enabled, but my servers are not full and new servers keep getting allocated.

When backfill is enabled, the matchmaker creates a backfill ticket for each match that reaches the minimum number of players but does not reach the maximum number of players. In order for the backfill ticket to remain active in the matchmaker, the DGS needs to periodically approve the backfill ticket. Ensure that your server boots up and approves the backfill ticket within 20 seconds of the allocation.

I am trying to test locally but I keep getting rate-limited.

Because rate-limiting on the matchmaker is per player ID, running two clients on a single machine usually results in the same player ID when using the Unity Authentication service.

There are two ways to address this issue:

  • Build the project, and then run one standalone client and the other in the Unity Editor. The standalone client will have a different player ID than the Editor client.
  • Use ParrelSync with different player authentication profiles.

I see a high time-to-match when the Matchmaker initially processes the first ticket.

If it has been more than 36 hours since the Matchmaker received a ticket, you might experience a slight increase in the time required to process the first newly-received ticket. However, once the first ticket is matched, the time-to-match should return to its usual level.

If your game is in development and has less constant traffic on Matchmaker, the recommended best practice is to pre-warm your matchmaker pools before testing. This allows Matchmaker ample time to create the dedicated resources necessary for your game to seamlessly create matches.

Match and Teams are not filling as expected.

Matchmaker first tries to fill matches and teams to the minimum number of players required by the matchmaking configuration and then tries to add more players to the teams to reach the maximum number of players.

Matchmaker will add all the players of a ticket in the first team of a match, then will add all the players of another compatible ticket to the second team and so forth until the minimum number of players is reached. Then Matchmaker will add tickets to keep the teams balanced until the match is full or the number of players relaxes.

Error message reference

CategoryError Message

Description

TicketMax capacity reachedThis is a common error from Game Server Hosting and is due to the scaling settings of the Game Server Hosting fleet. Increase the maximum available servers in your fleet and then try again. Additionally, ensure that your DGS safely terminates so it gets deallocated properly. Sometimes when a server is stopped manually through the Unity Cloud Dashboard, it does not get deallocated properly.
TicketTicket incompatible with configThis error usually occurs when the Matchmaker is unable to find a match for a ticket., even after trying to put this ticket in its own empty match but unsuccessful results.
TicketThe ticket is not compatible with the match definitionThis error occurs when the ticket provided will never be able to match with the rules defined in the pool the ticket is falling into. That could be because the number of players in the ticket is higher than the number of player in a single team, or an equality rule with no relaxation cannot be satisfied for example.
TicketQueue {QUEUE_NAME} does not exist in config with upid {UPID} and env {ENV_ID}This error occurs when the ticket created is targeting a queue that does not exist in the project. Verify your queue name.
TicketErrors: “attributes”: [“{ERROR DETAILS}”]This error message includes details regarding a failure when the matchmaker tried to decode your attributes. Verify that your attributes are correct.
TicketErrors: “players”: [“{ERROR DETAILS}”]This error message includes details regarding a failure when the matchmaker tried to decode your players. Verify that your players are correct.