update_runtime_configuration

update_runtime_configuration(**kwargs)

Updates the current runtime configuration for the specified fleet, which tells GameLift how to launch server processes on all instances in the fleet. 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. Each instance in the fleet regularly checks for and retrieves updated runtime configurations. Instances immediately begin complying with the new configuration by launching new server processes or not replacing existing processes when they shut down. Updating a fleet's runtime configuration never affects existing server processes.

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 alaunching server processes on each instance in the fleet. 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 on an instance, 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 each instance in a fleet.

      • (dict) --

        A set of instructions for launching server processes on each instance in a fleet. 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 the Realtime script file that contains the Init() function. 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 "
        • 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.

    • MaxConcurrentGameSessionActivations (integer) --

      The number of game sessions in status ACTIVATING to allow on an instance. 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 all instances in the fleet. If the update was successful, all property changes are shown.

      • ServerProcesses (list) --

        A collection of server process configurations that identify what server processes to run on each instance in a fleet.

        • (dict) --

          A set of instructions for launching server processes on each instance in a fleet. 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 the Realtime script file that contains the Init() function. 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 "
          • 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.

      • MaxConcurrentGameSessionActivations (integer) --

        The number of game sessions in status ACTIVATING to allow on an instance. 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