GameLift / Client / update_runtime_configuration

update_runtime_configuration#

GameLift.Client.update_runtime_configuration(**kwargs)#

Updates the runtime configuration for the specified fleet. The runtime configuration tells Amazon GameLift how to launch server processes on computes in the fleet. For managed EC2 fleets, it determines what server processes to run on each fleet instance. For container fleets, it describes what server processes to run in each replica container group. You can update a fleet’s runtime configuration at any time after the fleet is created; it does not need to be in ACTIVE status.

To update runtime configuration, specify the fleet ID and provide a RuntimeConfiguration with an updated set of server process configurations.

If successful, the fleet’s runtime configuration settings are updated. Fleet computes that run game server processes regularly check for and receive updated runtime configurations. The computes immediately take action to comply with the new configuration by launching new server processes or by not replacing existing processes when they shut down. Updating a fleet’s runtime configuration never affects existing server processes.

Learn more

Setting up Amazon GameLift fleets

See also: AWS API Documentation

Request Syntax

response = client.update_runtime_configuration(
    FleetId='string',
    RuntimeConfiguration={
        'ServerProcesses': [
            {
                'LaunchPath': 'string',
                'Parameters': 'string',
                'ConcurrentExecutions': 123
            },
        ],
        'MaxConcurrentGameSessionActivations': 123,
        'GameSessionActivationTimeoutSeconds': 123
    }
)
Parameters:
  • FleetId (string) –

    [REQUIRED]

    A unique identifier for the fleet to update runtime configuration for. You can use either the fleet ID or ARN value.

  • RuntimeConfiguration (dict) –

    [REQUIRED]

    Instructions for launching server processes on fleet computes. Server processes run either a custom game build executable or a Realtime Servers script. The runtime configuration lists the types of server processes to run, how to launch them, and the number of processes to run concurrently.

    • ServerProcesses (list) –

      A collection of server process configurations that identify what server processes to run on fleet computes.

      • (dict) –

        A set of instructions for launching server processes on fleet computes. Server processes run either an executable in a custom game build or a Realtime Servers script. Server process configurations are part of a fleet’s runtime configuration.

        • LaunchPath (string) – [REQUIRED]

          The location of a game build executable or Realtime script. Game builds and Realtime scripts are installed on instances at the root:

          • Windows (custom game builds only): C:\game. Example: “ C:\game\MyGame\server.exe

          • Linux: /local/game. Examples: “ /local/game/MyGame/server.exe” or “ /local/game/MyRealtimeScript.js

          Note

          Amazon GameLift doesn’t support the use of setup scripts that launch the game executable. For custom game builds, this parameter must indicate the executable that calls the server SDK operations initSDK() and ProcessReady().

        • Parameters (string) –

          An optional list of parameters to pass to the server executable or Realtime script on launch.

        • ConcurrentExecutions (integer) – [REQUIRED]

          The number of server processes using this configuration that run concurrently on each instance or container..

    • MaxConcurrentGameSessionActivations (integer) –

      The number of game sessions in status ACTIVATING to allow on an instance or container. This setting limits the instance resources that can be used for new game activations at any one time.

    • GameSessionActivationTimeoutSeconds (integer) –

      The maximum amount of time (in seconds) allowed to launch a new game session and have it report ready to host players. During this time, the game session is in status ACTIVATING. If the game session does not become active before the timeout, it is ended and the game session status is changed to TERMINATED.

Return type:

dict

Returns:

Response Syntax

{
    'RuntimeConfiguration': {
        'ServerProcesses': [
            {
                'LaunchPath': 'string',
                'Parameters': 'string',
                'ConcurrentExecutions': 123
            },
        ],
        'MaxConcurrentGameSessionActivations': 123,
        'GameSessionActivationTimeoutSeconds': 123
    }
}

Response Structure

  • (dict) –

    • RuntimeConfiguration (dict) –

      The runtime configuration currently in use by computes in the fleet. If the update is successful, all property changes are shown.

      • ServerProcesses (list) –

        A collection of server process configurations that identify what server processes to run on fleet computes.

        • (dict) –

          A set of instructions for launching server processes on fleet computes. Server processes run either an executable in a custom game build or a Realtime Servers script. Server process configurations are part of a fleet’s runtime configuration.

          • LaunchPath (string) –

            The location of a game build executable or Realtime script. Game builds and Realtime scripts are installed on instances at the root:

            • Windows (custom game builds only): C:\game. Example: “ C:\game\MyGame\server.exe

            • Linux: /local/game. Examples: “ /local/game/MyGame/server.exe” or “ /local/game/MyRealtimeScript.js

            Note

            Amazon GameLift doesn’t support the use of setup scripts that launch the game executable. For custom game builds, this parameter must indicate the executable that calls the server SDK operations initSDK() and ProcessReady().

          • Parameters (string) –

            An optional list of parameters to pass to the server executable or Realtime script on launch.

          • ConcurrentExecutions (integer) –

            The number of server processes using this configuration that run concurrently on each instance or container..

      • MaxConcurrentGameSessionActivations (integer) –

        The number of game sessions in status ACTIVATING to allow on an instance or container. This setting limits the instance resources that can be used for new game activations at any one time.

      • GameSessionActivationTimeoutSeconds (integer) –

        The maximum amount of time (in seconds) allowed to launch a new game session and have it report ready to host players. During this time, the game session is in status ACTIVATING. If the game session does not become active before the timeout, it is ended and the game session status is changed to TERMINATED.

Exceptions

  • GameLift.Client.exceptions.UnauthorizedException

  • GameLift.Client.exceptions.NotFoundException

  • GameLift.Client.exceptions.InternalServiceException

  • GameLift.Client.exceptions.InvalidRequestException

  • GameLift.Client.exceptions.InvalidFleetStatusException

  • GameLift.Client.exceptions.LimitExceededException