/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the gamelift-2015-10-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.GameLift.Model { /// /// Container for the parameters to the StartMatchBackfill operation. /// Finds new players to fill open slots in currently running game sessions. The backfill /// match process is essentially identical to the process of forming new matches. Backfill /// requests use the same matchmaker that was used to make the original match, and they /// provide matchmaking data for all players currently in the game session. FlexMatch /// uses this information to select new players so that backfilled match continues to /// meet the original match requirements. /// /// /// /// When using FlexMatch with Amazon GameLift managed hosting, you can request a backfill /// match from a client service by calling this operation with a GameSessions /// ID. You also have the option of making backfill requests directly from your game server. /// In response to a request, FlexMatch creates player sessions for the new players, updates /// the GameSession resource, and sends updated matchmaking data to the game /// server. You can request a backfill match at any point after a game session is started. /// Each game session can have only one active backfill request at a time; a subsequent /// request automatically replaces the earlier request. /// /// /// /// When using FlexMatch as a standalone component, request a backfill match by calling /// this operation without a game session identifier. As with newly formed matches, matchmaking /// results are returned in a matchmaking event so that your game can update the game /// session that is being backfilled. /// /// /// /// To request a backfill match, specify a unique ticket ID, the original matchmaking /// configuration, and matchmaking data for all current players in the game session being /// backfilled. Optionally, specify the GameSession ARN. If successful, a /// match backfill ticket is created and returned with status set to QUEUED. Track the /// status of backfill tickets using the same method for tracking tickets for new matches. /// /// /// /// Only game sessions created by FlexMatch are supported for match backfill. /// /// /// /// Learn more /// /// /// /// /// Backfill existing games with FlexMatch /// /// /// /// /// Matchmaking events (reference) /// /// /// /// /// How Amazon GameLift FlexMatch works /// /// public partial class StartMatchBackfillRequest : AmazonGameLiftRequest { private string _configurationName; private string _gameSessionArn; private List _players = new List(); private string _ticketId; /// /// Gets and sets the property ConfigurationName. /// /// Name of the matchmaker to use for this request. You can use either the configuration /// name or ARN value. The ARN of the matchmaker that was used with the original game /// session is listed in the GameSession object, MatchmakerData /// property. /// /// [AWSProperty(Required=true, Min=1, Max=256)] public string ConfigurationName { get { return this._configurationName; } set { this._configurationName = value; } } // Check to see if ConfigurationName property is set internal bool IsSetConfigurationName() { return this._configurationName != null; } /// /// Gets and sets the property GameSessionArn. /// /// A unique identifier for the game session. Use the game session ID. When using FlexMatch /// as a standalone matchmaking solution, this parameter is not needed. /// /// [AWSProperty(Min=1, Max=256)] public string GameSessionArn { get { return this._gameSessionArn; } set { this._gameSessionArn = value; } } // Check to see if GameSessionArn property is set internal bool IsSetGameSessionArn() { return this._gameSessionArn != null; } /// /// Gets and sets the property Players. /// /// Match information on all players that are currently assigned to the game session. /// This information is used by the matchmaker to find new players and add them to the /// existing game. /// /// /// /// You can include up to 199 Players in a StartMatchBackfill /// request. /// ///
  • /// /// PlayerID, PlayerAttributes, Team -- This information is maintained in the GameSession /// object, MatchmakerData property, for all players who are currently assigned /// to the game session. The matchmaker data is in JSON syntax, formatted as a string. /// For more details, see /// Match Data. /// /// /// /// The backfill request must specify the team membership for every player. Do not specify /// team if you are not using backfill. /// ///
  • /// /// LatencyInMs -- If the matchmaker uses player latency, include a latency value, in /// milliseconds, for the Region that the game session is currently in. Do not include /// latency values for any other Region. /// ///
///
[AWSProperty(Required=true)] public List Players { get { return this._players; } set { this._players = value; } } // Check to see if Players property is set internal bool IsSetPlayers() { return this._players != null && this._players.Count > 0; } /// /// Gets and sets the property TicketId. /// /// A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon /// GameLift will generate one in the form of a UUID. Use this identifier to track the /// match backfill ticket status and retrieve match results. /// /// [AWSProperty(Max=128)] public string TicketId { get { return this._ticketId; } set { this._ticketId = value; } } // Check to see if TicketId property is set internal bool IsSetTicketId() { return this._ticketId != null; } } }