아마존 GameLift 서버 SDK 5.x로 마이그레이션 - 아마존 GameLift

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

아마존 GameLift 서버 SDK 5.x로 마이그레이션

호스팅된 게임 서버는 Amazon GameLift 서버를 SDK 사용하여 Amazon GameLift 서비스와 통신하여 플레이어를 위한 게임 세션을 시작하고 관리합니다. 최신 버전인 Amazon GameLift server SDK 5는 여러 가지 개선 사항을 제공하고 새로운 Amazon GameLift 기능을 지원합니다. 게임 서버 빌드에서 현재 Amazon GameLift server SDK 4 또는 이전 버전을 사용하는 경우 이 항목의 지침에 따라 게임을 업데이트하십시오.

아마존 GameLift 서버 SDK 5에 대해

Amazon GameLift 서버 SDK 버전 5.0.0 이상에는 다음과 같은 업데이트가 포함되어 있습니다.

  • 확장 언어 — 라이브러리는 C++, C#, Go로 제공됩니다. 언리얼 엔진과 함께 사용할 C++ 라이브러리를 빌드할 수 있습니다.

  • 게임 엔진 플러그인 지원 — 언리얼 엔진 및 유니티용 Amazon GameLift 스탠드얼론 플러그인에는 Amazon GameLift server SDK 5 라이브러리가 필요합니다. 이 플러그인은 호스팅을 위해 게임을 통합, 테스트 및 Amazon에 배포하기 GameLift 위한 안내식 워크플로를 제공합니다. 설명서 참조서버 SDK 5.x용 유니티용 아마존 GameLift 플러그인 가이드. 언리얼 엔진용 Amazon GameLift 플러그인과 게임 통합

  • Amazon GameLift Anywhere 지원 — Anywhere 플릿을 사용하면 자체 호스팅 리소스를 설정하여 Amazon GameLift 기능 (매치메이킹 포함) 을 사용할 수 있습니다. Amazon GameLift Agent를 추가하여 게임 세션 수명 주기 관리를 자동화합니다. Anywhere플릿을 사용하여 온프레미스 하드웨어를 사용한 프로덕션 호스팅에 사용하거나 빠르고 반복적인 게임 개발을 위한 테스트 환경을 설정하십시오. 아마존 GameLift 애니웨어 호스팅그리고 아마존 GameLift 에이전트를 참조하십시오.

  • 업데이트된 테스트 도구 — Amazon GameLift Anywhere 기능을 사용하면 게임에 대한 로컬 또는 클라우드 기반 테스트 환경을 설정할 수 있습니다. Amazon GameLift 에이전트를 사용하거나 사용하지 않고 테스트를 설정합니다. 이러한 도구는 Amazon GameLift Local을 대체합니다. Amazon에서 로컬 테스트 설정하기 GameLift Anywhere을 참조하세요.

  • 통합되었습니다. NETC #용 솔루션 — C# 서버 SDK 5.1+가 지원합니다. NET프레임워크 4.6.2 (4.6.1에서 업그레이드) 및 NET단일 솔루션에서 6.0을 제공합니다. . NET스탠다드 2.1은 Unity에서 빌드한 라이브러리와 함께 사용할 수 있습니다.

  • Compute 리소스 - 이 새 리소스는 다양한 유형의 호스팅 리소스를 결합합니다. 여기에는 클라우드 기반 호스팅 리소스 (관리형 EC2 또는 컨테이너 플릿) 와 고객 제어 호스팅 리소스 (플릿) 가 포함됩니다. Anywhere 여기에는 다음과 같은 업데이트가 포함됩니다.

    • Compute리소스에 대한 새 API 호출에는 ListCompute(), DescribeCompute()GetComputeAccess() 가 포함됩니다. 이러한 작업은 모든 유형의 Amazon GameLift 플릿에 대한 호스팅 리소스 정보를 반환합니다. 일반적으로 서버 SDK 5.x를 사용하는 게임 서버가 있는 플릿의 경우 컴퓨팅 관련 작업을 사용하여 인스턴스별 작업을 대체하십시오. 또한 이러한 작업은 Amazon GameLift Agent가 없는 Anywhere 플릿에서도 사용할 수 있습니다: RegisterCompute(), DeregisterCompute(), GetComputeAuthToken().

    • CloudWatch 차원이 FleetIdLocation, 및 ActiveCompute ComputeType 인 새 측정치. 이 지표는 이전 지표 ActiveInstances를 대체합니다.

  • 원격 액세스용 Amazon EC2 Systems Manager (SSM) — 보안을 강화하려면 Amazon GameLift 관리형 플릿의 인스턴스에 연결할 SSH 때 SSM 대신 사용하십시오. Amazon GameLift 플릿 인스턴스에 원격으로 연결을 참조하세요.

게임 코드 업데이트

서버 SDK 버전 5.x를 사용하도록 게임 프로젝트를 업데이트하려면 다음과 같이 변경하십시오.

  1. 개발 환경에 맞는 최신 Amazon GameLift Server SDK 패키지를 다운로드하십시오 [다운로드 사이트]. 다운로드한 패키지 및 버전의 Readme 파일에 있는 설치 지침을 따르십시오. 게임 SDKs 프로젝트와 함께 서버를 사용하려면 이 지침을 참조하십시오.

  2. 다음과 같이 서버 코드를 업데이트하십시오.

  3. 게임 서버 빌드나 다른 호스팅된 애플리케이션이 실행 중에 다른 AWS 리소스와 통신하는 경우 애플리케이션이 해당 리소스에 액세스하는 방법을 변경해야 합니다. 의 사용을 새 Amazon GameLift 서버 SDK 작업 GetFleetRoleCredentials() (게임 서버용) AssumeRoleCredentials 으로 대체하거나 공유 자격 증명 (다른 애플리케이션용) 을 사용하십시오. 이 변경 사항을 구현하는 방법에 대한 자세한 내용은 을 참조하십시오플릿에서 다른 AWS 리소스와 통신.

  4. 프로젝트에서 TLS 인증서를 가져오기 GetInstanceCertificate() 위해 서버 SDK 액션을 호출했다면 새 GetComputeCertificate() (C++) (C#) (Unreal) (Go) 를 대신 사용하도록 코드를 수정하세요.

  5. 게임 빌드를 Amazon에 업로드할 때 GameLift (예: upload-build 또는 CreateBuild())) 파라미터를 사용 중인 5.x 버전으로 설정합니다 (이 ServerSdkVersion 매개변수의 현재 기본값은 4.0.2임). 이 파라미터는 게임 서버 빌드의 실제 서버 SDK 라이브러리와 일치해야 합니다. 업로드된 게임 서버 빌드에 잘못된 버전을 지정하면 해당 빌드로 생성한 모든 플릿이 실패합니다. Amazon에 사용자 지정 서버 빌드 업로드 GameLift을 참조하세요.

    다음 예시는 서버 SDK 버전을 지정하는 방법을 보여줍니다.

    aws gamelift upload-build \ --operating-system AMAZON_LINUX_2023 \ --server-sdk-version "5.0.0" \ --build-root "~/mygame" \ --name "My Game Nightly Build" \ --build-version "build 255" \ --region us-west-2
  6. 스크립트를 사용하여 관리 대상 플릿에 원격으로 연결하는 경우 에 Amazon GameLift 플릿 인스턴스에 원격으로 연결 설명된 대로 새 프로세스를 사용하도록 스크립트를 업데이트하십시오.