CreatePlayerSession - Amazon GameLift

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 PlayerSessions 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 Amazon GameLift service. Player sessions cannot be updated.

The maximum number of players per game session is 200. It is not adjustable.

Related actions

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.

Note

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 512.

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. Amazon 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

The requested resources was not found. The resource was either not created yet or deleted.

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: