AWS gameliftservers documentation change
Summary
Updated documentation structure, reordered steps, modified links, and clarified instructions for Amazon GameLift Servers containerized game server setup. Changes include reordering fleet setup steps, updating SDK integration guidance, and refining production preparation recommendations.
Security assessment
The changes primarily involve documentation restructuring, link updates, and procedural clarifications. No explicit security vulnerabilities, patches, or security incident mitigations are mentioned. While IAM role setup is mentioned, this is part of standard AWS resource configuration rather than a new security feature or vulnerability fix.
Diff
diff --git a/gameliftservers/latest/developerguide/gamelift-roadmap-containers.md b/gameliftservers/latest/developerguide/gamelift-roadmap-containers.md index ca30cda59..458560f34 100644 --- a//gameliftservers/latest/developerguide/gamelift-roadmap-containers.md +++ b//gameliftservers/latest/developerguide/gamelift-roadmap-containers.md @@ -7 +7 @@ -This roadmap guides you through how to develop an Amazon GameLift Servers managed hosting solution for your containerized game servers. Managed containers is just one hosting solution that is offered by Amazon GameLift Servers. For more information on hosting options, see [Amazon GameLift Servers solutions](./gamelift-intro-flavors.html). +This roadmap guides you through how to develop an Amazon GameLift Servers managed hosting solution for your containerized game servers. Managed containers is just one hosting solution that is offered by Amazon GameLift Servers. For more information on hosting options, see [Amazon GameLift Servers game hosting options](./gamelift-intro-flavors.html). @@ -11,2 +10,0 @@ A managed container solution with Amazon GameLift Servers has the following comp - * One or more container fleets, which use Amazon Elastic Compute Cloud (Amazon EC2) instances that are optimized for multiplayer game hosting. - @@ -17 +15 @@ A managed container solution with Amazon GameLift Servers has the following comp - * An Amazon GameLift Servers game session queue that processes requests for new game sessions, searches for available game servers across all fleets, and prompts a game server to start a game session. + * An Amazon GameLift Servers game session queue or other placement mechanism that processes requests for new game sessions, searches for available game servers across all fleets, and prompts a game server to start a game session. @@ -20,0 +19,2 @@ A managed container solution with Amazon GameLift Servers has the following comp + * One or more container fleets, which use Amazon Elastic Compute Cloud (Amazon EC2) instances and are optimized for multiplayer game hosting. + @@ -24 +24 @@ A managed container solution with Amazon GameLift Servers has the following comp -This roadmap presents a streamlined path to getting your containerized game servers up and running successfully with Amazon GameLift Servers managed containers. After you have the necessary components in place, you can continue to iterate on game development and customize your hosting solution. As you get closer to launch, see these [Preparing your game for launch with Amazon GameLift Servers hosting](./gamelift_quickstart_customservers_checklist.html) for help with preparing your hosting solution for production-level usage. +This roadmap presents a streamlined path to getting your containerized game servers up and running successfully with Amazon GameLift Servers managed containers. After you have the necessary components in place, you can continue to iterate on game development and customize your hosting solution. As you get closer to launch, see these [Prepare for launch with Amazon GameLift Servers hosting](./gamelift_quickstart_customservers_checklist.html) for help with preparing your hosting solution for production-level usage. @@ -39 +39 @@ Add functionality to your game server so that it can communicate with the Amazon - * **Modify your game server code to add server SDK functionality.** For guidance, see [Integrate games with custom game servers](./integration-custom-intro.html). At a minimum, do the following: + * **Modify your game server code to add server SDK functionality.** For guidance, see [Prepare a game for hosting with Amazon GameLift Servers](./integration-intro.html). At a minimum, do the following: @@ -56 +56 @@ Add functionality to your game server so that it can communicate with the Amazon -Create a way for your game client to request to join a game session, get connection info, and then connect directly to a hosted game session. The most common approach is to set up backend service functionality that serves as a middleman between your game client and the Amazon GameLift Servers service. This approach protects your hosting resources and gives you greater control over how players are placed into game sessions. +After you've successfully integrated your game server, create a container image with your game server executable. Store it in an Amazon Elastic Container Registry (Amazon ECR) repository for use with Amazon GameLift Servers. For detailed instructions, see [Build a container image for Amazon GameLift Servers](./containers-prepare-images.html). @@ -58 +58 @@ Create a way for your game client to request to join a game session, get connect - * **Build backend service functionality for hosting.** The backend service communicates with the Amazon GameLift Servers service and delivers connection information to a game client. This functionality includes starting game sessions, placing players into games, and retrieving game session information. For guidance, see [Integrate games with custom game servers](./integration-custom-intro.html). At a minimum, do the following: + * **Get the Dockerfile template for a game server container (provided by Amazon GameLift Servers).** Modify the file for your game server build files. @@ -60 +60 @@ Create a way for your game client to request to join a game session, get connect - * Get the AWS SDK for Amazon GameLift Servers and add it to your backend service project. See [Amazon GameLift Servers SDK resources for client services](./gamelift-supported.html#gamelift-supported-clients). + * **Build a game server container image.** Working in a Linux environment, use the Docker tool to create your image. @@ -62 +62 @@ Create a way for your game client to request to join a game session, get connect - * Add code to initialize an Amazon GameLift Servers client and store key settings. See [Set up Amazon GameLift Servers on a backend service](./gamelift-sdk-client-api.html#gamelift-sdk-client-api-initialize). + * **Push your container image to Amazon ECR.** Create a public or private repository in Amazon ECR, using the same AWS account and AWS Region where you plan to deploy your container fleet. Push your container image to it. @@ -64 +64 @@ Create a way for your game client to request to join a game session, get connect - * Add functionality to call the AWS SDK action `CreateGameSession()` and provide game session connection information to a game client. See [Create a game session on a specific fleet](./gamelift-sdk-client-api.html#gamelift-sdk-client-api-create). + * **Test your container images using your Anywhere fleet (optional).** You might want to test your container images locally before deploying them to a cloud-hosted container fleet. You can use your existing Amazon GameLift Servers Anywhere fleet with a local workstation for testing. Install and run the game server container and verify that: (1) the Amazon GameLift Servers service successfully prompts your server process to start a game session, and (2) a game client can connect to the game session. @@ -66 +65,0 @@ Create a way for your game client to request to join a game session, get connect -Calling `CreateGameSession()` is a convenient starting point for requesting new game sessions, After you have a game session placement system in place (see Step 3), you'll replace this code with a call to `StartGameSessionPlacement()` (or `StartMatchmaking()` if you're using FlexMatch). @@ -68 +66,0 @@ Calling `CreateGameSession()` is a convenient starting point for requesting new -For guidance on designing your backend service, see [Design your game client service](./gamelift_quickstart_customservers_designbackend.html). @@ -70 +67,0 @@ For guidance on designing your backend service, see [Design your game client ser - * **Add functionality to your game client that lets players join a hosted game session.** The game client makes requests to your backend service, not directly to Amazon GameLift Servers. After the backend service provides game session connection information, the game client connects directly with the game session to play the game. @@ -72 +69 @@ For guidance on designing your backend service, see [Design your game client ser - * **Test your game client integration.** You can use your existing Amazon GameLift Servers Anywhere fleet with a local workstation for testing. Use the new backend service to request a new game session, and verify that: (1) the Amazon GameLift Servers service successfully prompts your server process to start a game session, and (2) a game client can connect to the game session. +Up to this point you've worked with a self-managed Anywhere fleet to test and iterate on your game components. When you have a working game server build that's integrated for Amazon GameLift Servers, you can start setting up the cloud-based Amazon GameLift Servers managed container fleet hosting resources that you'll need for a production environment. @@ -73,0 +71 @@ For guidance on designing your backend service, see [Design your game client ser + * **Create container group definitions.** Container group definitions describe the container architecture for a fleet. and identify which container images to deploy. See [Create a container group definition for an Amazon GameLift Servers container fleet](./containers-create-groups.html). Create your container group definition in the same AWS Region where the container images are stored. For more on choosing a fleet location, see [Geographic locations](./gamelift-compute.html#gamelift-compute-location). At a minimum, do the following: @@ -74,0 +73 @@ For guidance on designing your backend service, see [Design your game client ser + * Create a game server container group definition. @@ -75,0 +75 @@ For guidance on designing your backend service, see [Design your game client ser + * Add a container definition with a container image with your game server build. @@ -77 +77 @@ For guidance on designing your backend service, see [Design your game client ser -Customize how you want Amazon GameLift Servers to process requests for new game session and locate available game servers to host them. Amazon GameLift Servers automatically tracks the availability of all game servers on all fleets. When a game client sends a request to join a game session, Amazon GameLift Servers looks for the "best possible" placement based on a set of defined priorities such as minimum latency, cost, and availability. + * Configure a port range for the container's game server processes. @@ -79 +79 @@ Customize how you want Amazon GameLift Servers to process requests for new game - * **Create a game session queue for placing new game session with available game servers.** Queues are the primary mechanism for game session placement. For guidance, see [Create a game session queue](./queues-creating.html). + * **Create a managed container fleet.** When you create a fleet, Amazon GameLift Servers immediately begins deploying your game server build for hosting. You can configure many aspects of a managed fleet. For guidance, see [Create an Amazon GameLift Servers managed container fleet](./containers-build-fleet.html). At minimum, do the following: @@ -81 +81 @@ Customize how you want Amazon GameLift Servers to process requests for new game - * At minimum, add your Anywhere fleets as destinations in your queue. All other settings are optional customizations. + * Set up an AWS Identity and Access Management (IAM) service role for the container fleet. See [Set up an IAM service role for Amazon GameLift Servers](./setting-up-role.html). @@ -83 +83 @@ Customize how you want Amazon GameLift Servers to process requests for new game - * **In your backend service code, convert the`CreateGameSession()` call to `StartGameSessionPlacement()`.** See [Create a game session in a multi-location queue](./gamelift-sdk-client-api.html#gamelift-sdk-client-api-create). + * Specify the game server container group definition to deploy to fleet instances. @@ -85 +85 @@ Customize how you want Amazon GameLift Servers to process requests for new game - * **Create a mechanism to notify a game client when a game session is ready to join.** While in development, you can poll for game session status using a call to `DescribeGameSessionPlacement`. Before using a queue to process high volumes, however, you'll need to enable event notifications. See [Set up event notification for game session placement](./queue-notification.html). + * Use default values where available for all other parameters. Amazon GameLift Servers calculates some parameters for optimal configuration. @@ -87 +87 @@ Customize how you want Amazon GameLift Servers to process requests for new game - * **Add FlexMatch matchmaking (optional).** Build a matchmaking rule set and create a matchmaking configuration to work with your game session queue. For guidance on setting up a matchmaking system, see the [Amazon GameLift Servers FlexMatch developer guide](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-intro.html). + * **Add the container fleets to your queue.** In your game session queue, replace the Anywhere test fleet with your managed container fleet. @@ -89 +89 @@ Customize how you want Amazon GameLift Servers to process requests for new game - * **Test the placement system.** You can use your existing Amazon GameLift Servers Anywhere fleet with a local workstation for testing. Use the backend service to request a new game session, and verify that the Amazon GameLift Servers service successfully prompts your server process to start a game session. + * **Test game hosting with your container fleets.** At this point you should be able to test the entire solution. Start a game client and request a game session through the backend service. Get connection info and connect to a game session on the container fleet. @@ -90,0 +91 @@ Customize how you want Amazon GameLift Servers to process requests for new game + * **Iterate on your fleet deployments.** You can update container group definitions and fleet configurations, and then deploy updates to existing fleets. @@ -94 +94,0 @@ Customize how you want Amazon GameLift Servers to process requests for new game -After you've successfully integrated your game server, create a container image with your game server executable. Store it in an Amazon Elastic Container Registry (Amazon ECR) repository for use with Amazon GameLift Servers. For detailed instructions, see [Build a container image for Amazon GameLift Servers](./containers-prepare-images.html). @@ -96 +96 @@ After you've successfully integrated your game server, create a container image - * **Get the Dockerfile template for a game server container (provided by Amazon GameLift Servers).** Modify the file for your game server build files. +Create a way for your game client to request to join a game session, get connection info, and then connect directly to a hosted game session. The most common approach is to set up backend service functionality that serves as a middleman between your game client and the Amazon GameLift Servers service. This approach protects your hosting resources and gives you greater control over how players are placed into game sessions. @@ -98 +98 @@ After you've successfully integrated your game server, create a container image - * **Build a game server container image.** Working in a Linux environment, use the Docker tool to create your image. + * **Build backend service functionality for hosting.** The backend service communicates with the Amazon GameLift Servers service and delivers connection information to a game client. This functionality includes starting game sessions, placing players into games, and retrieving game session information. For guidance, see [Prepare a game for hosting with Amazon GameLift Servers](./integration-intro.html). At a minimum, do the following: @@ -100 +100 @@ After you've successfully integrated your game server, create a container image - * **Push your container image to Amazon ECR.** Create a public or private repository in Amazon ECR, using the same AWS account and AWS Region where you plan to deploy your container fleet. Push your container image to it. + * Get the AWS SDK for Amazon GameLift Servers and add it to your backend service project. See [Amazon GameLift Servers SDK resources for client services](./gamelift-supported.html#gamelift-supported-clients). @@ -102 +102 @@ After you've successfully integrated your game server, create a container image - * **Test your container images using your Anywhere fleet (optional).** You might want to test your container images locally before deploying them to a cloud-hosted container fleet. You can use your existing Amazon GameLift Servers Anywhere fleet with a local workstation for testing. Install and run the game server container and verify that: (1) the Amazon GameLift Servers service successfully prompts your server process to start a game session, and (2) a game client can connect to the game session. + * Add code to initialize an Amazon GameLift Servers client and store key settings. See [Set up the Amazon GameLift Servers API](./gamelift-sdk-client-api.html#gamelift-sdk-client-api-initialize). @@ -103,0 +104 @@ After you've successfully integrated your game server, create a container image + * Add functionality to call the AWS SDK action `CreateGameSession()` and provide game session connection information to a game client. See [Create a game session on a specific fleet](./gamelift-sdk-client-api.html#gamelift-sdk-client-api-create). @@ -104,0 +106 @@ After you've successfully integrated your game server, create a container image +Calling `CreateGameSession()` is a convenient starting point for requesting new game sessions, After you have a game session placement system in place (see Step 3), you'll replace this code with a call to `StartGameSessionPlacement()` (or `StartMatchmaking()` if you're using FlexMatch). @@ -105,0 +108 @@ After you've successfully integrated your game server, create a container image +For guidance on designing your backend service, see [Build a backend service for Amazon GameLift Servers](./gamelift_quickstart_customservers_designbackend.html). @@ -107 +110 @@ After you've successfully integrated your game server, create a container image -Up to this point you've worked with a self-managed Anywhere fleet to test and iterate on your game components. The final piece of your solution is to set up the cloud-based hosting resources that you'll need for a production system. To start planning and configuring for production, you want to set up a Amazon GameLift Servers managed container fleet and customize it for production. + * **Add functionality to your game client that lets players join a hosted game session.** The game client makes requests to your backend service, not directly to Amazon GameLift Servers. After the backend service provides game session connection information, the game client connects directly with the game session to play the game. @@ -109 +112 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * **Create container group definitions.** Container group definitions describe the container architecture for a fleet. and identify which container images to deploy. See [Create a container group definition for an Amazon GameLift Servers container fleet](./containers-create-groups.html). Create your container group definition in the same AWS Region where the container images are stored. For more on choosing a fleet location, see [Fleet location](./gamelift-compute.html#gamelift-compute-location). At a minimum, do the following: + * **Test your game client integration.** You can use your existing Amazon GameLift Servers Anywhere fleet with a local workstation for testing. Use the new backend service to request a new game session, and verify that: (1) the Amazon GameLift Servers service successfully prompts your server process to start a game session, and (2) a game client can connect to the game session. @@ -111 +113,0 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * Create a game server container group definition. @@ -113 +114,0 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * Add a container definition with a container image with your game server build. @@ -115 +115,0 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * Configure a port range for the container's game server processes. @@ -117 +117 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * **Create a managed container fleet.** When you create a fleet, Amazon GameLift Servers immediately begins deploying your game server build for hosting. You can configure many aspects of a managed fleet. For guidance, see [Create an Amazon GameLift Servers managed container fleet](./containers-build-fleet.html). At minimum, do the following: +Customize how you want Amazon GameLift Servers to process requests for new game session and locate available game servers to host them. Amazon GameLift Servers automatically tracks the availability of all game servers on all fleets. When a game client sends a request to join a game session, Amazon GameLift Servers looks for the "best possible" placement based on a set of defined priorities such as minimum latency, cost, and availability. @@ -119 +119 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * Set up an AWS Identity and Access Management (IAM) service role for the container fleet. See [Set up an IAM service role for Amazon GameLift Servers](./setting-up-role.html). + * **Create a game session queue for placing new game session with available game servers.** Queues are the primary mechanism for game session placement. For guidance, see [Create a game session queue](./queues-creating.html). @@ -121 +121 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * Specify the game server container group definition to deploy to fleet instances. + * At minimum, add your Anywhere fleets as destinations in your queue. All other settings are optional customizations. @@ -123 +123 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * Use default values where available for all other parameters. Amazon GameLift Servers calculates some parameters for optimal configuration. + * **In your backend service code, convert the`CreateGameSession()` call to `StartGameSessionPlacement()`.** See [Create a game session in a multi-location queue](./gamelift-sdk-client-api.html#gamelift-sdk-client-api-create). @@ -125 +125 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * **Add the container fleets to your queue.** In your game session queue, replace the Anywhere test fleet with your managed container fleet. + * **Create a mechanism to notify a game client when a game session is ready to join.** While in development, you can poll for game session status using a call to `DescribeGameSessionPlacement`. Before using a queue to process high volumes, however, you'll need to enable event notifications. See [Set up event notification for game session placement](./queue-notification.html). @@ -127 +127 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * **Test game hosting with your container fleets.** At this point you should be able to test the entire solution. Start a game client and request a game session through the backend service. Get connection info and connect to a game session on the container fleet. + * **Add FlexMatch matchmaking (optional).** Build a matchmaking rule set and create a matchmaking configuration to work with your game session queue. For guidance on setting up a matchmaking system, see the [Amazon GameLift Servers FlexMatch developer guide](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-intro.html). @@ -129 +129 @@ Up to this point you've worked with a self-managed Anywhere fleet to test and it - * **Iterate on your fleet deployments.** You can update container group definitions and fleet configurations, and then deploy updates to existing fleets. + * **Test the placement system.** You can use your existing Amazon GameLift Servers Anywhere fleet with a local workstation for testing. Use the backend service to request a new game session, and verify that the Amazon GameLift Servers service successfully prompts your server process to start a game session. @@ -138 +138 @@ As you prepare for game launch, you'll need to fine-tune your managed hosting re - * Consider adding Spot fleets for cost savings. See [Tutorial: Create an Amazon GameLift Servers queue with Spot Instances](./tutorial-queues-spot.html). + * Consider adding Spot fleets for cost savings. See [Reduce game hosting costs with Spot fleets ](./fleets-spot.html). @@ -140 +140 @@ As you prepare for game launch, you'll need to fine-tune your managed hosting re - * If your game server needs to communicate other AWS resources, set up IAM roles to manage access. See [Communicate with other AWS resources from your fleets](./gamelift-sdk-server-resources.html). + * If your game server needs to communicate other AWS resources, set up IAM roles to manage access. See [Connect your Amazon GameLift Servers hosted game server to other AWS resources](./gamelift-sdk-server-resources.html). @@ -142 +142 @@ As you prepare for game launch, you'll need to fine-tune your managed hosting re - * Determine where geographically you want to position game servers. Add remote locations to your managed fleets. See [Customize your Amazon GameLift Servers EC2 managed fleets](./fleets-design.html). + * Determine where geographically you want to position game servers. Add remote locations to your managed fleets. See [Hosting resource customizations](./fleets-design.html). @@ -152 +152 @@ As you prepare for game launch, you'll need to fine-tune your managed hosting re - * Automate your fleet deployments using [infrastructure as code (IaC)](https://docs.aws.amazon.com/whitepapers/latest/introduction-devops-aws/infrastructure-as-code.html). See [Managing Amazon GameLift Servers hosting resources using AWS CloudFormation](./resources-cloudformation.html). + * Automate your fleet deployments using [infrastructure as code (IaC)](https://docs.aws.amazon.com/whitepapers/latest/introduction-devops-aws/infrastructure-as-code.html). See [Manage Amazon GameLift Servers hosting resources using AWS CloudFormation](./resources-cloudformation.html).