registerGameServer method
This API works with the following fleet types: EC2 (FleetIQ)
Creates a new game server resource and notifies Amazon GameLift Servers FleetIQ that the game server is ready to host gameplay and players. This operation is called by a game server process that is running on an instance in a game server group. Registering game servers enables Amazon GameLift Servers FleetIQ to track available game servers and enables game clients and services to claim a game server for a new game session.
To register a game server, identify the game server group and instance where the game server is running, and provide a unique identifier for the game server. You can also include connection and game server data.
Once a game server is successfully registered, it is put in status
AVAILABLE. A request to register a game server may fail if
the instance it is running on is in the process of shutting down as part
of instance balancing or scale-down activity.
Learn more
Amazon GameLift Servers FleetIQ Guide
May throw ConflictException.
May throw InternalServiceException.
May throw InvalidRequestException.
May throw LimitExceededException.
May throw UnauthorizedException.
Parameter gameServerGroupName :
A unique identifier for the game server group where the game server is
running.
Parameter gameServerId :
A custom string that uniquely identifies the game server to register. Game
server IDs are developer-defined and must be unique across all game server
groups in your Amazon Web Services account.
Parameter instanceId :
The unique identifier for the instance where the game server is running.
This ID is available in the instance metadata. EC2 instance IDs use a
17-character format, for example: i-1234567890abcdef0.
Parameter connectionInfo :
Information that is needed to make inbound client connections to the game
server. This might include the IP address and port, DNS name, and other
information.
Parameter gameServerData :
A set of custom game server properties, formatted as a single string
value. This data is passed to a game client or service when it requests
information on game servers.
Implementation
Future<RegisterGameServerOutput> registerGameServer({
required String gameServerGroupName,
required String gameServerId,
required String instanceId,
String? connectionInfo,
String? gameServerData,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'GameLift.RegisterGameServer'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'GameServerGroupName': gameServerGroupName,
'GameServerId': gameServerId,
'InstanceId': instanceId,
if (connectionInfo != null) 'ConnectionInfo': connectionInfo,
if (gameServerData != null) 'GameServerData': gameServerData,
},
);
return RegisterGameServerOutput.fromJson(jsonResponse.body);
}