Skip to main content

Intro to AGS Matchmaking X-Ray tool

Last updated on October 24, 2024

Overview

The AccelByte Gaming Services (AGS) Matchmaking X-Ray tool provides game developers with visibility into the matchmaking process. With this tool, you can observe how tickets are matched, along with the factors, conditions, and circumstances influencing the process until a match is formed. This enhanced visibility allows for a comprehensive understanding of the matchmaking process.

This article covers the AGS Matchmaking X-Ray tool in detail.

Why do you need X-Ray?

The X-Ray tool helps alleviate issues like the following:

  1. Lack of visibility: Without comprehensive tools, it's challenging to gain insights into the status of matchmaking processes. The X-Ray tool addresses this by providing two primary sections: the X-Ray overview and the X-Ray timeline. These sections offer both high-level and detailed views of matchmaking events, ensuring visibility at every stage of the process.

  2. Difficulty in monitoring performance: Monitoring the performance of matchmaking processes can be time-consuming and complex. The X-Ray overview section of the X-Ray tool presents matchmaking metrics in a concise format, allowing users to quickly assess performance without extensive manual analysis. This enables timely adjustments and optimizations to improve overall efficiency.

  3. Inability to identify issues: Without detailed insights into matchmaking events, it's challenging to pinpoint where the specific issues or bottlenecks are in the process. The X-Ray timeline section of the X-Ray tool offers a chronological view of matchmaking events, including the identification of unpicked tickets and detailed matchmaking outcomes. This enables users to identify and address issues promptly, leading to smoother operations and better user experiences.

  4. Lack of flexibility in analyses: Limited search options make it difficult to conduct targeted analysis and troubleshooting. The X-Ray tool allows users to conduct searches based on various criteria, such as Match ID, Match Pool, Ticket ID, and User ID, providing flexibility in analysis. This facilitates swift identification of specific information and the streamlining of troubleshooting.

Glossary

TermDefinition
Matchmaking rulesetThe set of predefined criteria and parameters that dictate how the matchmaking process operates within a gaming environment. Matchmaking rulesets define various aspects, such as acceptable player skill levels, preferred game modes, and other conditions that influence the formation of matches.
MetricsQuantitative measures used to assess and evaluate the performance and effectiveness of the matchmaking process. These metrics include various parameters such as total tickets created, total matches formed, average player counts per session, and average match length, among others.
Match IDA unique identifier assigned to each match formed during the matchmaking process. Match IDs allow for easy tracking and referencing of individual matches within the system.
Match PoolA specific variant or configuration of gameplay offering distinct rules and various matchmaking configurations. Each match pool provides a unique gaming experience, catering to different player preferences and styles of play.
Ticket IDA unique identifier assigned to each matchmaking ticket created by players seeking to join a game session. Ticket IDs facilitate tracking and management of individual matchmaking requests within the system.
WorkerA unique identifier assigned to each matchmaking process that happened within the system.
Ticket ObservabilityA feature that allows the X-Ray tool to track individual matchmaking tickets throughout the matchmaking process. By enabling ticket observability, developers gain insights into how tickets are processed and matched, facilitating debugging and optimization of the matchmaking system.
P99 of MatchmakingA statistical metric that represents the time it takes for the 99th percentile of matchmaking requests to be processed.
Unmatched ticketA ticket within the matchmaking system that has not yet been successfully matched with other players or game sessions. Unpicked tickets may remain in the matchmaking pool for various reasons, such as insufficient player availability or mismatches in skill levels.
Average Acquiring DS Wait TimeThe average amount of time players spend waiting to connect to a dedicated server (DS) after a match has been formed.
Ticket CancellationThe process of canceling a matchmaking ticket initiated by a player. Ticket cancellations may occur due to player preferences, changes in availability, or other factors, resulting in the removal of the ticket from the matchmaking pool.
Queuing TicketsTickets within the matchmaking system that are currently awaiting processing and matching with other players or game sessions. Queuing tickets represent active matchmaking requests initiated by players seeking to join multiplayer matches.
Expired TicketsTickets within the matchmaking system that have exceeded a predefined timeout period without successfully finding a match. Expired tickets are removed from the matchmaking pool and may require players to reinitiate matchmaking requests.

Sample use cases

The following outlines some example scenarios of how and when to use the AGS Matchmaking X-Ray tool.

The player cannot find a match even though they meet all the necessary requirements

Detailed problem statement: The player attempts to enter the matchmaking queue yet encounters ongoing challenges as matches fail to initiate despite adherence to all necessary conditions.

Previous debug approach:

  1. Compare the player ticket with the ruleset to ensure the correct parameters are sent.
  2. Verify, either through sampling or log analysis, if other players have experienced similar issues.
  3. Reproduce the steps to understand and resolve the issue.
  4. Confirm whether the player ticket is processed or if the matchmaking system received the request.

X-Ray utilization:

  1. Visit the overview page to monitor the current status of matchmaking, identifying any potential service outages or individual player issues.
  2. Access the timeline page to search for the user ID or ticket ID.
  3. Review detailed information on the specific user and whether his ticket is processed or not along with the reason why it couldn't match (e.g., a low pool of super-high Matchmaking Rating (MMR) with mismatching players in queue)

The matchmaker fails to place players within the same session

Detailed problem statement: The matchmaker's inability to group players into the same gaming session results in fragmented multiplayer experiences, even when players of similar skill levels queue simultaneously with the expectation of being matched together.

Previous debug approach:

  1. Cross-reference the player ticket with other players expected to join the same session.
  2. Verify if the requested game mode supports backfilling, assessing the likelihood of a player backfilling other sessions while another player creates a new session due to session capacity constraints.
  3. Analyze how the two players queued for matchmaking and examine the chronological log entries.
  4. Debug more thoroughly by going deep into the logs to see if matchmaking is being processed under the same tick, as there would have been no way to know this beforehand.

X-Ray utilization:

  1. Access the timeline page to search details of each user ticket ID.
  2. Check if both tickets have the same matchTickID.
    • If they do, open the details of the specific matchTickID and review the data of all tickets being processed in a specific matchTickID.
    • If they don't, pinpoint that the ticket is being processed in a different matchmaking tick, which can explain how it is not being matched with each other (e.g. the matchmaking queue is crowded and it only has a small possibility for the two to be matched in a same game session).