内容提要
本文介绍了如何在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问题。
-
作者郭俊龙是亚马逊云科技解决方案架构师,专注于游戏行业客户的解决方案设计。