Amazon GameLift · JSON Structure

Gamelift Create Matchmaking Configuration Input Structure

CreateMatchmakingConfigurationInput schema from Amazon GameLift API

Type: object Properties: 15 Required: 4
Cloud ComputingGame ServersGamingMultiplayerMatchmakingFlexMatchFleetIQ

CreateMatchmakingConfigurationInput is a JSON Structure definition published by Amazon GameLift, describing 15 properties, of which 4 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

Name Description GameSessionQueueArns RequestTimeoutSeconds AcceptanceTimeoutSeconds AcceptanceRequired RuleSetName NotificationTarget AdditionalPlayerCount CustomEventData GameProperties GameSessionData BackfillMode FlexMatchMode Tags

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-gamelift/refs/heads/main/json-structure/gamelift-create-matchmaking-configuration-input-structure.json",
  "name": "CreateMatchmakingConfigurationInput",
  "description": "CreateMatchmakingConfigurationInput schema from Amazon GameLift API",
  "type": "object",
  "properties": {
    "Name": {
      "allOf": [
        {
          "$ref": "#/components/schemas/MatchmakingIdStringModel"
        },
        {
          "description": "A unique identifier for the matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket."
        }
      ]
    },
    "Description": {
      "allOf": [
        {
          "$ref": "#/components/schemas/NonZeroAndMaxString"
        },
        {
          "description": "A human-readable description of the matchmaking configuration. "
        }
      ]
    },
    "GameSessionQueueArns": {
      "allOf": [
        {
          "$ref": "#/components/schemas/QueueArnsList"
        },
        {
          "description": "The Amazon Resource Name (<a href=\"https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html\">ARN</a>) that is assigned to a Amazon GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Format is <code>arn:aws:gamelift:&lt;region&gt;::gamesessionqueue/&lt;queue name&gt;</code>. Queues can be located in any Region. Queues are used to start new Amazon GameLift-hosted game sessions for matches that are created with this matchmaking configuration. If <code>FlexMatchMode</code> is set to <code>STANDALONE</code>, do not set this parameter. "
        }
      ]
    },
    "RequestTimeoutSeconds": {
      "allOf": [
        {
          "$ref": "#/components/schemas/MatchmakingRequestTimeoutInteger"
        },
        {
          "description": "The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed."
        }
      ]
    },
    "AcceptanceTimeoutSeconds": {
      "allOf": [
        {
          "$ref": "#/components/schemas/MatchmakingAcceptanceTimeoutInteger"
        },
        {
          "description": "The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required. "
        }
      ]
    },
    "AcceptanceRequired": {
      "allOf": [
        {
          "$ref": "#/components/schemas/BooleanModel"
        },
        {
          "description": "A flag that determines whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to <code>TRUE</code>. With this option enabled, matchmaking tickets use the status <code>REQUIRES_ACCEPTANCE</code> to indicate when a completed potential match is waiting for player acceptance. "
        }
      ]
    },
    "RuleSetName": {
      "allOf": [
        {
          "$ref": "#/components/schemas/MatchmakingRuleSetName"
        },
        {
          "description": "A unique identifier for the matchmaking rule set to use with this configuration. You can use either the rule set name or ARN value. A matchmaking configuration can only use rule sets that are defined in the same Region."
        }
      ]
    },
    "NotificationTarget": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SnsArnStringModel"
        },
        {
          "description": "An SNS topic ARN that is set up to receive matchmaking notifications. See <a href=\"https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html\"> Setting up notifications for matchmaking</a> for more information."
        }
      ]
    },
    "AdditionalPlayerCount": {
      "allOf": [
        {
          "$ref": "#/components/schemas/WholeNumber"
        },
        {
          "description": "The number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>."
        }
      ]
    },
    "CustomEventData": {
      "allOf": [
        {
          "$ref": "#/components/schemas/CustomEventData"
        },
        {
          "description": "Information to be added to all events related to this matchmaking configuration. "
        }
      ]
    },
    "GameProperties": {
      "allOf": [
        {
          "$ref": "#/components/schemas/GamePropertyList"
        },
        {
          "description": "A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process with a request to start a new game session (see <a href=\"https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession\">Start a Game Session</a>). This information is added to the new <code>GameSession</code> object that is created for a successful match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>."
        }
      ]
    },
    "GameSessionData": {
      "allOf": [
        {
          "$ref": "#/components/schemas/GameSessionData"
        },
        {
          "description": "A set of custom game session properties, formatted as a single string value. This data is passed to a game server process with a request to start a new game session (see <a href=\"https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession\">Start a Game Session</a>). This information is added to the new <code>GameSession</code> object that is created for a successful match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>."
        }
      ]
    },
    "BackfillMode": {
      "allOf": [
        {
          "$ref": "#/components/schemas/BackfillMode"
        },
        {
          "description": "The method used to backfill game sessions that are created with this matchmaking configuration. Specify <code>MANUAL</code> when your game manages backfill requests manually or does not use the match backfill feature. Specify <code>AUTOMATIC</code> to have Amazon GameLift create a backfill request whenever a game session has one or more open slots. Learn more about manual and automatic backfill in <a href=\"https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html\"> Backfill Existing Games with FlexMatch</a>. Automatic backfill is not available when <code>FlexMatchMode</code> is set to <code>STANDALONE</code>."
        }
      ]
    },
    "FlexMatchMode": {
      "allOf": [
        {
          "$ref": "#/components/schemas/FlexMatchMode"
        },
        {
          "description": "<p>Indicates whether this matchmaking configuration is being used with Amazon GameLift hosting or as a standalone matchmaking solution. </p> <ul> <li> <p> <b>STANDALONE</b> - FlexMatch forms matches and returns match information, including players and team assignments, in a <a href=\"https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded\"> MatchmakingSucceeded</a> event.</p> </li> <li> <p> <b>WITH_QUEUE</b> - FlexMatch forms matches and uses the specified Amazon GameLift queue to start a game session for the match. </p> </li> </ul>"
        }
      ]
    },
    "Tags": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TagList"
        },
        {
          "description": "A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. For more information, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html\"> Tagging Amazon Web Services Resources</a> in the <i>Amazon Web Services General Reference</i>."
        }
      ]
    }
  },
  "required": [
    "Name",
    "RequestTimeoutSeconds",
    "AcceptanceRequired",
    "RuleSetName"
  ]
}