AWS gameliftstreams documentation change
Summary
Added documentation about timeout values governing stream sessions, clarified microphone limitations in test streams, and updated state transition details
Security assessment
The changes add detailed documentation about timeout configurations (ConnectionTimeoutSeconds, Idle timeout, Session length) that help prevent resource exhaustion and enforce session termination policies. While these are security-adjacent best practices, there's no evidence they address a specific vulnerability. The microphone limitation note is a feature clarification.
Diff
diff --git a/gameliftstreams/latest/developerguide/stream-sessions.md b/gameliftstreams/latest/developerguide/stream-sessions.md index f6d680fe6..347ddb923 100644 --- a//gameliftstreams/latest/developerguide/stream-sessions.md +++ b//gameliftstreams/latest/developerguide/stream-sessions.md @@ -5 +5 @@ -About stream sessionsTesting a streamStream session life cycleReconnect back to your stream +About stream sessionsTesting a streamStream session lifecycleTimeout values affecting stream sessionsReconnect back to your stream @@ -15 +15 @@ For launching stream sessions to end users, you must integrate Amazon GameLift S -The prerequisites to start a stream session are an application and a stream group that has available active capacity. A stream session runs on one of the compute resources, or stream capacity, that a stream group has allocated. When you start a stream, you must specify a stream group and choose to stream the default application or a linked application. By default, Amazon GameLift Streams streams the default application. To stream a linked application, specify both the stream group and application ARN when you start a stream session. +The prerequisites to start a stream session are an application and a stream group that has available active capacity. A stream session runs on one of the compute resources, or stream capacity, that a stream group has allocated. When you start a stream, you must specify a stream group and an application to stream using their ARN or ID values. @@ -43 +43 @@ The most direct way for you to test how your application streams is through the - 1. To connect input, such as your mouse, keyboard, and gamepad, choose **Attach input**. You automatically attach your mouse when you move the cursor into the stream window. + 1. To connect input, such as your mouse, keyboard, and gamepad (except microphones, which are not supported in **Test stream**), choose **Attach input**. You automatically attach your mouse when you move the cursor into the stream window. @@ -53,0 +54,4 @@ The most direct way for you to test how your application streams is through the +###### Note + +The **Test stream** feature in the Amazon GameLift Streams console does not support microphones. + @@ -60 +64 @@ When working with stream sessions in Amazon GameLift Streams, this diagram can h - * When a client disconnects from a stream, the stream session transitions to `PENDING_CLIENT_RECONNECTION` state. [CreateStreamSessionConnection](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionConnection.html) transitions the stream session to `RECONNECTING`, and will either initiate the client to reconnect to the stream or create a new stream session. When the client reconnects, it transitions back to `CONNECTED`. If a client is disconnected for longer than `ConnectionTimeoutSeconds`, the stream session ends. + * When a client disconnects from a stream, the stream session transitions to `PENDING_CLIENT_RECONNECTION` state. [CreateStreamSessionConnection](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionConnection.html) transitions the stream session to `RECONNECTING`, and will either initiate the client to reconnect to the stream or create a new stream session. When a stream session is ready for the client to reconnect, it transitions to `ACTIVE`. When the client reconnects, it transitions back to `CONNECTED`. If a client is disconnected for longer than `ConnectionTimeoutSeconds`, the stream session ends. @@ -62 +66 @@ When working with stream sessions in Amazon GameLift Streams, this diagram can h - * When a client doesn't connect to a stream session in `ACTIVE` or `PENDING_CLIENT_RECONNECTION` state within a period of time, then it transitions to `TERMINATED`. + * When a client doesn't connect to a stream session in `ACTIVE` or `PENDING_CLIENT_RECONNECTION` state within the period of time specified by `ConnectionTimeoutSeconds`, then it transitions to `TERMINATED`. @@ -72,0 +77,68 @@ When working with stream sessions in Amazon GameLift Streams, this diagram can h +## Timeout values affecting stream sessions + +Stream sessions are governed by several timeout values that control different aspects of the session lifecycle. In roughly chronological order of when you might typically encounter them during the stream session lifecycle, they include the following: + +**Placement timeout** + + +Time limit for Amazon GameLift Streams to find compute resources to host a stream session using available capacity. Placement timeout varies based on the capacity type used to fulfill your stream request: + + * Always-on capacity: 75 seconds + + * On-demand capacity: + + * Linux/Proton runtimes: 90 seconds + + * Windows runtime: 10 minutes + + * Behavior: If Amazon GameLift Streams cannot identify available resources within this time, the stream session `Status` changes to `ERROR` with a `StatusReason` of `placementTimeout`. + + + + +**Connection timeout** + + +Length of time Amazon GameLift Streams waits for a client to connect or reconnect to a stream session. + + * Parameter: `ConnectionTimeoutSeconds` in [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html) + + * Range: 1 - 3600 seconds (1 hour) + + * Default: 120 seconds (2 minutes) + + * Behavior: Timer starts when the stream session reaches `ACTIVE` or `PENDING_CLIENT_RECONNECTION` status. If no client connects before the timeout, the session `Status` transitions to `TERMINATED`. + + + + +**Idle timeout** + + +Length of time that a stream session can be idle with no user input. + + * Parameter: (internal) + + * Value: 60 minutes + + * Behavior: If no user input is received during this time, Amazon GameLift Streams terminates the stream session. + + + + +**Session length timeout** + + +Maximum duration Amazon GameLift Streams keeps a stream session open. + + * Parameter: `SessionLengthSeconds` in [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html) + + * Range: 1 - 86400 seconds (24 hours) + + * Default: 43200 seconds (12 hours) + + * Behavior: Terminates the stream session regardless of any existing client connection when the time limit is reached. + + + + @@ -75 +147 @@ When working with stream sessions in Amazon GameLift Streams, this diagram can h -If you refresh the website, switch browsers, or disconnect from your stream in some way, you can reconnect back to your stream within a grace period. +If you refresh the website, switch browsers, or disconnect from your stream in some way, you can reconnect back to your stream within the time specified by `ConnectionTimeoutSeconds` when the stream session was started.