The XSAPI provides a matchmaking service, called SmartMatch, that is wrapped by the. Regardless of which API you use, the conceptual information in this article applies. SmartMatch matchmaking groups players based on user information and the matchmaking request for the users who want to play together. Matchmaking is server-based, meaning that users provide a request to the service, and they are later notified when a match is found. When building a title for Xbox One, you can use SmartMatch as described in. Alternatively, you can your own matchmaking service as described in. Note that accessing this link requires that you have a Microsoft dev center account which is enabled for Xbox Live development. The matchmaking service works closely with MPSD to simplify matchmaking.
SmartMatch Matchmaking UWP app developer Microsoft Docs
It allows titles to easily do matchmaking in the background, for example while the user is playing single-player within the title. Individuals or groups that want to enter matchmaking create a match ticket session, then request the matchmaking service to find other players with whom to set up a match. This results in the creation of a temporary match ticket residing within the matchmaking service for a period of time. The matchmaking service chooses sessions to play together based on configuration, statistics stored for each player, and any additional information given at the time of the match request. The service then creates a match target session that contains all players who have been matched, and notifies the users titles of the match.
When the target session is ready, titles perform QoS checks to confirm that the group can play together, and then begin play if all is well. During the QoS process and matchmade game play, titles keep the session state up to date within MPSD, and they receive notifications from MPSD about changes to the session. Such changes include users coming and going, and changes to the session arbiter. A match ticket session represents the clients for the players who want to make a match. It is created based on a game, or on a group of strangers who are in a lobby together, or on other title-specific groupings of players.
Competitive Counter Strike Wiki FANDOM powered by Wikia
In some cases, the ticket session might be a game session already in progress that is looking for more players. Submitting a ticket session to matchmaking results in the creation of a match ticket that tracks the matchmaking attempt. Attributes in the ticket, for example, game map or player level, along with attributes of the players in the ticket session, are used to determine the match. Hoppers are logical places where match tickets are collected. Only tickets within the same hopper can be matched.
For example, a title might create one hopper for which player skill is the most important item for matching. It might use another hopper in which players are only matched if they have purchased the same downloadable content. Hopper rules provide definitions of the criteria that the matchmaking service uses for deciding on the players to group together. There are two types of rules: MUST rules -- have to be satisfied for match tickets to be considered compatible.
Within each of these categories, there are several specific types of rules. For more information, see runtime operation configuration information in SmartMatch Runtime Operations. Once a matched group has been found, the service creates a match target session and reserves places for all the players from the ticket sessions that are matched together. A client designated as the matchmaking scout sets up a match ticket session to represent a group of players who want to enter matchmaking. Join method.
Once the session is populated with players, the title submits the session to the matchmaking service using the MatchmakingService. CreateMatchTicketAsync method, which creates a match ticket that represents the session.