CreatePlayerSession
Reserves an open player slot in a game session for a player. New player sessions can be
created in any game session with an open slot that is in ACTIVE
status and
has a player creation policy of ACCEPT_ALL
. You can add a group of players
to a game session with CreatePlayerSessions.
To create a player session, specify a game session ID, player ID, and optionally a set of player data.
If successful, a slot is reserved in the game session for the player and a new PlayerSession object is returned with a player session ID. The player references the player session ID when sending a connection request to the game session, and the game server can use it to validate the player reservation with the GameLift service. Player sessions cannot be updated.
The maximum number of players per game session is 200. It is not adjustable.
Available in Amazon GameLift Local.
Related actions
CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement | DescribeGameSessionPlacement | All APIs by task
Request Syntax
{
"GameSessionId": "string
",
"PlayerData": "string
",
"PlayerId": "string
"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
In the following list, the required parameters are described first.
- GameSessionId
-
A unique identifier for the game session to add a player to.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z0-9:/-]+
Required: Yes
- PlayerId
-
A unique identifier for a player. Player IDs are developer-defined.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: Yes
- PlayerData
-
Developer-defined information related to a player. GameLift does not use this data, so it can be formatted as needed for use in the game.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Required: No
Response Syntax
{
"PlayerSession": {
"CreationTime": number,
"DnsName": "string",
"FleetArn": "string",
"FleetId": "string",
"GameSessionId": "string",
"IpAddress": "string",
"PlayerData": "string",
"PlayerId": "string",
"PlayerSessionId": "string",
"Port": number,
"Status": "string",
"TerminationTime": number
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- PlayerSession
-
Object that describes the newly created player session record.
Type: PlayerSession object
Errors
For information about the errors that are common to all actions, see Common Errors.
- GameSessionFullException
-
The game instance is currently full and cannot allow the requested player(s) to join. Clients can retry such requests immediately or after a waiting period.
HTTP Status Code: 400
- InternalServiceException
-
The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.
HTTP Status Code: 500
- InvalidGameSessionStatusException
-
The requested operation would cause a conflict with the current state of a resource associated with the request and/or the game instance. Resolve the conflict before retrying.
HTTP Status Code: 400
- InvalidRequestException
-
One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.
HTTP Status Code: 400
- NotFoundException
-
A service resource associated with the request could not be found. Clients should not retry such requests.
HTTP Status Code: 400
- TerminalRoutingStrategyException
-
The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.
HTTP Status Code: 400
- UnauthorizedException
-
The client failed authentication. Clients should not retry such requests.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: