使用 GameLift 集成 Java Game Server 构建弹性游戏服务集群

使用 GameLift 集成 Java Game Server 构建弹性游戏服务集群

💡 原文中文,约6800字,阅读约需16分钟。
📝

内容提要

本文介绍了如何在Java Game Server中集成GameLift Server SDK实现游戏服务的动态扩缩容,包括重新打包SDK、构建JNI依赖包、上传至GameLift Build、部署后台服务和创建Fleet等步骤。同时提供了本地联调和远程登录游戏服务器调试的方法。

🎯

关键要点

  • 很多游戏公司通过弹性化游戏服务基础设施来节约成本,亚马逊的GameLift服务可以帮助管理这些基础设施。

  • GameLift服务端SDK目前只支持C++、C#和Go,而许多公司使用Java开发游戏服务端。

  • 在Java Game Server中集成GameLift Server SDK的步骤包括重新打包SDK、构建JNI依赖包、上传至GameLift Build、部署后台服务和创建Fleet。

  • 需要在EC2上安装依赖包,并将Server SDK重新打包为共享库以便在JNI中使用。

  • 构建JNI依赖包时需要配置JAVA_HOME,并使用Gradle构建Java Game Server项目。

  • 部署后台服务时需要使用CDK创建API Gateway、Lambda、GameLift Session queue和GameLift Alias。

  • 创建Fleet时需要配置目标Location和机器配置,并关联Alias。

  • 可以通过API接口创建Game Session并查看其状态。

  • 本地联调测试需要创建Location和Fleet,并注册计算资源。

  • 远程登录游戏服务器调试需要获取Instance信息和登录凭证,并使用SSM登录。

  • 常见问题包括API Gateway参数配置、CMake安装和OpenSSL问题。

  • 作者郭俊龙是亚马逊云科技解决方案架构师,专注于游戏行业客户的解决方案设计。

➡️

继续阅读