Interface RuntimeConfiguration

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
RuntimeConfiguration.Jsii$Proxy

@Generated(value="jsii-pacmak/1.98.0 (build 00b106d)", date="2024-05-08T21:35:15.722Z") @Stability(Experimental) public interface RuntimeConfiguration extends software.amazon.jsii.JsiiSerializable
(experimental) A collection of server process configurations that describe the set of processes to run on each instance in a fleet.

Server processes run either an executable in a custom game build or a Realtime Servers script. GameLift launches the configured processes, manages their life cycle, and replaces them as needed. Each instance checks regularly for an updated runtime configuration.

A GameLift instance is limited to 50 processes running concurrently. To calculate the total number of processes in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess.

Example:

 Build build;
 // Server processes can be delcared in a declarative way through the constructor
 BuildFleet fleet = BuildFleet.Builder.create(this, "Game server fleet")
         .fleetName("test-fleet")
         .content(build)
         .instanceType(InstanceType.of(InstanceClass.C4, InstanceSize.LARGE))
         .runtimeConfiguration(RuntimeConfiguration.builder()
                 .serverProcesses(List.of(ServerProcess.builder()
                         .launchPath("/local/game/GameLiftExampleServer.x86_64")
                         .parameters("-logFile /local/game/logs/myserver1935.log -port 1935")
                         .concurrentExecutions(100)
                         .build()))
                 .build())
         .build();
 

See Also:
  • Method Details

    • getServerProcesses

      @Stability(Experimental) @NotNull List<ServerProcess> getServerProcesses()
      (experimental) A collection of server process configurations that identify what server processes to run on each instance in a fleet.
    • getGameSessionActivationTimeout

      @Stability(Experimental) @Nullable default Duration getGameSessionActivationTimeout()
      (experimental) The maximum amount of time 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.

      Default: by default game session activation timeout is 300 seconds

    • getMaxConcurrentGameSessionActivations

      @Stability(Experimental) @Nullable default Number getMaxConcurrentGameSessionActivations()
      (experimental) 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.

      Default: no limit

    • builder

      @Stability(Experimental) static RuntimeConfiguration.Builder builder()
      Returns:
      a RuntimeConfiguration.Builder of RuntimeConfiguration