跳至主要内容

AWS 解决方案库

在 AWS 上永久托管世界游戏的指南

概览

本指南帮助游戏开发人员使用 Amazon GameLift 和无服务器后端组件,在 AWS 上构建持久世界游戏并托管虚拟世界。该架构使用托管和无服务器组件来减少运营工作量,并根据玩家需求进行扩展。开发人员可以使用这种架构在 macOS 和 Windows 上开始进行持久的虚拟世界游戏开发。本指南包括基础设施即代码(IaC)自动化、用于设置依赖关系的配置脚本以及 Unity 客户端/服务器实施示例。

工作原理

这些技术细节包含一张架构图,用于说明如何有效使用本解决方案。该架构图展示了关键组件及其相互作用,并逐步概述了架构的结构和功能。

自信地进行部署

为部署做好准备了吗? 查看 GitHub 上的示例代码,了解详细的部署说明,以根据需要按原样部署或进行自定义部署。

访问示例代码

Well-Architected 支柱

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

AWS 云开发套件 (AWS CDK) 使用 A WS CloudFormation 控制资源更新和回滚来处理部署和更新。这样可以减少手动更改配置造成的错误。

对于亚马逊 GameLift 机队的更新,CloudFormation 将创建替代舰队。在终止旧实例集之前,该服务将等待替代实例集完全激活以接受流量。

阅读卓越运营白皮书

游戏客户端使用 Amazon Cognito 身份池身份来确保对后端服务的访问安全。这是通过使用身份池提供的 AWS 身份和访问管理 (IAM) 证书签署请求来实现的。只有经过身份验证的请求才能访问 API Gateway 托管的 API。此外,游戏客户端只能访问自己账户的数据。

阅读安全白皮书

如果游戏服务器(以及随之而来的游戏世界)崩溃,该架构将自动用一个新的世界替换该世界,新的世界可以访问该特定世界的相同持久化数据。

阅读可靠性白皮书

Amazon GameLift 可以实现客户端与服务器的直接通信,以优化近乎实时的性能。使用该架构,开发人员就可以在多个 AWS 区域托管游戏服务器,从而减少游戏客户端和服务器之间的延迟。

阅读性能效率白皮书

该架构采用了包括 API GatewayLambdaDynamoDB 在内的无服务器组件,可根据玩家流量支付精确的资源量费用,从而降低成本。此外,Amazon GameLift 可根据需求进行扩展配置,这样您在任何时候都可以确保未使用资源的资源处于最低水平。

阅读成本优化白皮书

这种架构使用托管和无服务器服务,仅运行当前玩家负载所需的资源,从而减少您个人对环境的影响。
阅读可持续发展白皮书

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

找到今天要查找的内容了吗?

请提供您的意见,以便我们改进网页内容的质量。