updateGameServer method
- required String gameServerGroupName,
- required String gameServerId,
- String? gameServerData,
- GameServerHealthCheck? healthCheck,
- GameServerUtilizationStatus? utilizationStatus,
This operation is used with the Amazon GameLift FleetIQ solution and game server groups.
Updates information about a registered game server to help GameLift FleetIQ to track game server availability. This operation is called by a game server process that is running on an instance in a game server group.
Use this operation to update the following types of game server information. You can make all three types of updates in the same request:
- To update the game server's utilization status, identify the game server and game server group and specify the current utilization status. Use this status to identify when game servers are currently hosting games and when they are available to be claimed.
-
To report health status, identify the game server and game server group
and set health check to
HEALTHY
. If a game server does not report health status for a certain length of time, the game server is no longer considered healthy. As a result, it will be eventually deregistered from the game server group to avoid affecting utilization metrics. The best practice is to report health every 60 seconds. - To change game server metadata, provide updated game server data.
Learn more
Related operations
- RegisterGameServer
- ListGameServers
- ClaimGameServer
- DescribeGameServer
- UpdateGameServer
- DeregisterGameServer
May throw InvalidRequestException. May throw NotFoundException. May throw UnauthorizedException. May throw InternalServiceException.
Parameter gameServerGroupName
:
A unique identifier for the game server group where the game server is
running. Use either the GameServerGroup name or ARN value.
Parameter gameServerId
:
A custom string that uniquely identifies the game server to update.
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 using ListGameServers or
ClaimGameServer.
Parameter healthCheck
:
Indicates health status of the game server. A request that includes this
parameter updates the game server's LastHealthCheckTime timestamp.
Parameter utilizationStatus
:
Indicates whether the game server is available or is currently hosting
gameplay.
Implementation
Future<UpdateGameServerOutput> updateGameServer({
required String gameServerGroupName,
required String gameServerId,
String? gameServerData,
GameServerHealthCheck? healthCheck,
GameServerUtilizationStatus? utilizationStatus,
}) async {
ArgumentError.checkNotNull(gameServerGroupName, 'gameServerGroupName');
_s.validateStringLength(
'gameServerGroupName',
gameServerGroupName,
1,
256,
isRequired: true,
);
ArgumentError.checkNotNull(gameServerId, 'gameServerId');
_s.validateStringLength(
'gameServerId',
gameServerId,
3,
128,
isRequired: true,
);
_s.validateStringLength(
'gameServerData',
gameServerData,
1,
1024,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'GameLift.UpdateGameServer'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'GameServerGroupName': gameServerGroupName,
'GameServerId': gameServerId,
if (gameServerData != null) 'GameServerData': gameServerData,
if (healthCheck != null) 'HealthCheck': healthCheck.toValue(),
if (utilizationStatus != null)
'UtilizationStatus': utilizationStatus.toValue(),
},
);
return UpdateGameServerOutput.fromJson(jsonResponse.body);
}