{ "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-gamelift/refs/heads/main/json-structure/gamelift-player-structure.json", "name": "Player", "description": "Represents a player in matchmaking. When starting a matchmaking request, a player has a player ID, attributes, and may have latency data. Team information is added after a match has been successfully completed.", "type": "object", "properties": { "PlayerId": { "allOf": [ { "$ref": "#/components/schemas/NonZeroAndMaxString" }, { "description": "A unique identifier for a player" } ] }, "PlayerAttributes": { "allOf": [ { "$ref": "#/components/schemas/PlayerAttributeMap" }, { "description": "

A collection of key:value pairs containing player information for use in matchmaking. Player attribute keys must match the playerAttributes used in a matchmaking rule set. Example: \"PlayerAttributes\": {\"skill\": {\"N\": \"23\"}, \"gameMode\": {\"S\": \"deathmatch\"}}.

You can provide up to 10 PlayerAttributes.

" } ] }, "Team": { "allOf": [ { "$ref": "#/components/schemas/NonZeroAndMaxString" }, { "description": "Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set." } ] }, "LatencyInMs": { "allOf": [ { "$ref": "#/components/schemas/LatencyMap" }, { "description": "

A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to @aws; Regions. If this property is present, FlexMatch considers placing the match only in Regions for which latency is reported.

If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no Regions are available to the player and the ticket is not matchable.

" } ] } } }