Amazon을 사용하여 로컬 테스트 설정 GameLift Anywhere - Amazon GameLift

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

Amazon을 사용하여 로컬 테스트 설정 GameLift Anywhere

참고

이 주제에서는 Amazon GameLift 서버 SDK 버전 5.x와 통합된 게임에 대한 로컬 테스트를 다룹니다. 게임에서 서버 SDK 버전 4.x 이하를 사용하는 경우 섹션을 참조하세요Amazon GameLift Local을 사용하여 통합 테스트.

Amazon 사용 GameLift Anywhere 플릿 및 자체 하드웨어를 사용하여 시뮬레이션된 호스팅 환경에서 게임 구성 요소를 반복적으로 빌드하고 테스트할 수 있습니다. 설정 Anywhere 로컬 디바이스를 플릿 및 등록하여 Amazon GameLift 서비스에 대한 연결을 설정합니다. 게임 서버 빌드를 디바이스에 설치하고, 게임 서버 프로세스를 시작하고, 필요에 따라 게임 기능을 테스트합니다. 게임 서버 빌드를 필요한 만큼 자주 업데이트하여 각 새 빌드 반복을 테스트할 수 있습니다.

를 사용하여 Anywhere 플릿, 또는 테스트 스크립트를 AWS CLI 사용하여 테스트할 수 있습니다. 게임 클라이언트를 Amazon 와 통합한 경우 동일한 로컬 디바이스 또는 다른 디바이스에서 클라이언트를 실행할 GameLift수 있습니다.

를 사용하여 로컬에서 테스트 Anywhere 플릿은 Amazon 와의 게임 서버 통합을 테스트하는 데 특히 유용합니다 GameLift. 로컬 시스템의 모든 호스팅 활동과 이벤트 및 로깅 데이터를 완벽하게 확인할 수 있습니다.

참고

Unreal Engine 또는 Unity용 Amazon GameLift 플러그인을 사용하고 계십니까? 이러한 도구에는 를 사용하여 로컬 테스트를 설정하기 위한 안내 워크플로가 포함됩니다.Anywhere 플릿. Unity용 플러그인: Amazon을 사용하여 로컬 테스트 설정 GameLift Anywhere 또는 에 대한 설명서를 따릅니다Unreal용 플러그인: Amazon을 사용하여 로컬 테스트 설정 GameLift Anywhere.

로컬 설정 Anywhere 플릿

다음 단계에 따라 를 생성합니다.Anywhere 로컬 워크스테이션용 플릿입니다. Amazon용 AWS CLI 또는 를 사용하는 자세한 지침은 섹션을 GameLift참조 AWS Management Console 하세요Amazon 생성 GameLift Anywhere 플릿.

를 생성하려면 Anywhere 플릿
  1. 로컬 워크스테이션의 사용자 지정 위치를 생성합니다. (AWS CLI 또는 콘솔). 사용자 지정 위치는 단순히 에 포함할 컴퓨팅 리소스의 레이블입니다.Anywhere 플릿. 사용자 지정 위치 이름은 로 시작해야 합니다custom-. 예: custom-my_laptop. 사용자 지정 위치 생성을 참조하세요.

  2. 생성 Anywhere 플릿(AWS CLI 또는 콘솔). 이 단계에서는 로컬 워크스테이션의 사용자 지정 위치로 플릿 리소스를 생성합니다. Anywhere 플릿 생성을 참조하세요.

    새 플릿의 ID 또는 ARN 값을 기록해 둡니다. 다음 단계에서 이 값이 필요합니다.

  3. 로컬 워크스테이션을 플릿 컴퓨팅으로 등록합니다(AWS CLI만 해당). 원래 요청 ping에 대한 Anywhere 플릿에는 게임 서버를 호스팅하기 위한 컴퓨팅 리소스가 하나 이상 있어야 합니다. 플릿에 컴퓨팅 추가을 참조하세요. 플릿에 컴퓨팅을 추가하려면 다음 정보가 필요합니다.

    • 컴퓨팅 이름입니다. 플릿의 각 컴퓨팅에는 고유한 이름이 있어야 합니다.

    • 는 Anywhere 플릿 식별자. FleetID 또는 를 사용할 수 있습니다FleetArn.

    • 컴퓨팅의 연결 정보입니다. IpAddress 또는 DnsName를 지정합니다. Amazon GameLift 및 게임 클라이언트가 게임 서버에 연결하는 방법입니다.

    • 의 사용자 지정 위치 Anywhere 플릿.

    GameLiftServiceSdkEndpoint 반환 값을 기록해 둡니다. 에서 실행되도록 게임 서버를 업데이트할 때 이 값이 필요합니다.Anywhere 플릿.

게임 서버 업데이트 및 설치

이 작업은 게임 서버 빌드를 Amazon GameLift 서버 SDK 5.x와 이미 통합했다고 가정합니다. 통합 프로세스에는 Amazon GameLift 서비스와 상호 작용하여 게임 세션을 시작하고 관리할 수 있도록 게임 서버에 코드를 추가하는 작업이 포함됩니다.

의 경우 Anywhere 특정 게임 서버 설정을 수동으로 구성해야 합니다. Amazon GameLift 관리형 플릿에서는 이러한 설정이 자동으로 구성됩니다.

에 대한 게임 서버를 준비하려면 Anywhere 플릿
  1. 인증 토큰을 가져옵니다. 게임 서버에는 Amazon GameLift 서비스와 통신할 때마다 인증 토큰이 포함되어야 합니다. Amazon GameLift 인증 토큰은 수명이 짧으며 정기적으로 새로 고쳐야 합니다.

    모범 사례로 스크립트를 생성하여 다음 작업을 완료합니다.

    • 작업을 호출합니다 AWS CLIget-compute-auth-token.

    • 반환된 토큰 값을 로컬 컴퓨팅의 환경 변수에서와 같이 게임 서버 프로세스가 검색할 수 있는 위치에 저장합니다.

    컴퓨팅에 게임 서버와 함께 스크립트를 설치합니다. 첫 번째 게임 서버 프로세스를 시작하기 전에 스크립트를 실행하도록 설정합니다. 게임 서버 프로세스가 활성 상태인 동안 스크립트를 정기적으로 실행하여 유효한 인증 토큰을 유지합니다. 컴퓨팅의 모든 게임 서버 프로세스는 동일한 인증 토큰을 사용할 수 있습니다.

  2. Amazon GameLift 게임 서버 코드를 업데이트합니다. 게임 서버 코드를 Amazon GameLift 서버 와 통합SDK하면 작업에 호출을 추가한 것입니다InitSdk(). 게임 서버가 에서 실행되는 경우 Anywhere 플릿, 이 호출에는 추가 서버 파라미터가 필요합니다. 자세한 내용은 서버 프로세스 초기화Amazon GameLift 서버 SDK 5.x에서 개발 언어를 참조하세요. 서버 파라미터는 다음과 같습니다.

    • webSocketUrl - 플릿에 컴퓨팅을 등록할 때 반환되는 GameLiftServiceSdkEndpoint 값으로 이 파라미터를 설정합니다.

    • hostId - Anywhere 플릿에 컴퓨팅을 등록할 때 지정한 컴퓨팅 이름으로 이 파라미터를 설정합니다.

    • fleetId - 이 파라미터를 의 ID로 설정 Anywhere 플릿.

    • authToken - 컴퓨팅에 대한 인증 토큰을 검색하라는 요청에 응답하여 반환되는 토큰으로 이 파라미터를 설정합니다.

    • processId - 로컬 컴퓨팅에서 실행 중인 게임 서버 프로세스를 식별하려면 이 파라미터를 설정합니다. 각 동시 게임 서버 프로세스에는 고유한 프로세스 ID가 있어야 합니다.

    각 게임 서버 프로세스에서 사용하는 서버 파라미터 값은 프로세스가 실행 중인 Anywhere 플릿 컴퓨팅에 고유해야 합니다. 컴퓨팅에 적합한 값을 가져오는 방법에 대한 자세한 내용은 섹션을 참조하세요플릿에 컴퓨팅 추가. 모범 사례로 , webSocketUrlfleetId, 및 hostId를 로컬 컴퓨팅의 환경 변수authToken로 설정합니다. 컴퓨팅에서 실행되는 모든 서버 프로세스는 이러한 값을 사용합니다.

  3. 로컬 컴퓨팅에 게임 서버 빌드를 설치합니다. 게임 서버를 실행하는 데 필요한 모든 종속성을 포함합니다.

  4. 로컬 컴퓨팅에서 실행되는 하나 이상의 게임 서버 프로세스를 시작합니다. 게임 서버 프로세스가 서버 SDK 작업 을 호출하면 ProcessReady()프로세스가 게임 세션을 호스팅할 준비가 된 것입니다.

게임 세션 활동 테스트

게임 세션을 사용하여 게임 서버 통합을 테스트합니다. Amazon GameLift 기능과 통합된 게임 클라이언트가 없는 경우 CLI를 AWS 사용하여 게임 세션을 시작할 수 있습니다. 다음 시나리오를 시도해 보세요.

  • 게임 세션을 생성합니다. 호출 create-game-session 명령(또는 CreateGameSession API 작업). 를 지정합니다.Anywhere 플릿의 ID 및 사용자 지정 위치입니다. 이 호출은 새 게임 세션의 고유 식별자를 반환합니다.

  • 게임 세션 상태를 확인합니다. describe-game-sessions 명령(또는 DescribeGameSessions API 작업)을 호출합니다. 게임 세션 ID를 지정합니다. 이 호출은 게임 세션 상태를 포함한 자세한 게임 세션 정보를 반환합니다. 활성 상태의 게임 세션은 플레이어가 연결할 준비가 되었습니다. 플릿의 모든 게임 세션 목록을 가져오려면 list-game-sessions 명령(또는 ListGameSessions API 작업)을 호출합니다.

  • 게임 세션에 연결합니다. 게임 클라이언트가 게임 세션에 참여할 수 있는 경우 게임 세션 정보에 포함된 연결 정보를 사용합니다.

게임 서버의 반복

동일한 를 사용할 수 있습니다.Anywhere 플릿 및 컴퓨팅을 사용하여 게임 서버 빌드의 다른 버전을 테스트합니다.

  1. 기존 를 정리합니다GameSession. 게임 서버 프로세스가 충돌하거나 를 호출하지 않으면 ProcessEnding()Amazon은 게임 서버가 상태 확인 전송을 중지한 GameSession 후 를 GameLift 정리합니다.

  2. 새 게임 서버 빌드를 생성합니다. 게임 서버를 변경하고 수정된 빌드를 패키징합니다.

  3. 로컬 컴퓨팅에서 게임 서버 빌드를 업데이트합니다. 이전 Anywhere 플릿은 여전히 활성 상태이고 노트북은 여전히 플릿의 컴퓨팅 리소스로 등록되어 있습니다.

  4. 업데이트된 권한 부여 토큰을 가져옵니다. get-compute-auth-token CLI 명령을 호출하고 토큰을 로컬 컴퓨팅에 저장합니다.

  5. 로컬 컴퓨팅에서 실행되는 하나 이상의 게임 서버 프로세스를 시작합니다. 게임 서버 프로세스가 를 호출하면 테스트에 사용할 ProcessReady()준비가 된 것입니다.

게임을 Amazon GameLift 관리형 플릿으로 전환

개발 테스트를 완료하고 시작을 준비한 후에는 Amazon GameLift 관리형 플릿으로 전환할 수 있는 좋은 시기입니다. 관리형 플릿을 사용하여 게임 호스팅 리소스를 미세 조정하고 테스트합니다. 게임 세션 배치 솔루션(대기열 및 매치메이커)을 구현하고, 최적의 호스팅 하드웨어(스팟 플릿 포함) 및 위치를 선택하고, 용량 조정 전략을 선택합니다. 를 사용하여 플릿, 대기열, 매치메이커 AWS CloudFormation 를 포함한 모든 게임 호스팅 리소스의 수명 주기를 보다 효율적으로 관리할 수도 있습니다.

로컬에서 전환하려면 몇 가지 사소한 수정을 해야 합니다.Anywhere Amazon GameLift 관리형 플릿에 플릿을 테스트합니다. 동일한 대기열과 매치메이커를 재사용할 수 있습니다. 다음 작업을 수행합니다.

  • 게임 서버 코드 호출을 로 변경합니다InitSdk(). 서버 파라미터를 제거합니다. 관리형 플릿의 경우 Amazon은 이 정보를 GameLift 자동으로 추적합니다.

  • Amazon GameLift 빌드 리소스를 생성합니다. 를 사용하여 Anywhere 테스트 플릿, 게임 서버 빌드와 종속성을 각 플릿 컴퓨팅에 수동으로 배포해야 합니다. 관리형 플릿을 사용하면 게임 빌드 패키지를 생성하고 Amazon 에 업로드하여 모든 플릿 컴퓨팅에 GameLift자동으로 배포합니다. 게임 빌드 파일을 패키징하고 Amazon S3 버킷의 파일을 사용하여 빌드 리소스를 생성하는 방법에 Amazon GameLift 호스팅을 위한 사용자 지정 서버 빌드 배포 대한 자세한 내용은 섹션을 참조하세요. Amazon은 관리형 플릿으로 이러한 작업을 GameLift 자동으로 처리하므로 컴퓨팅을 등록하고 인증 토큰을 가져오는 스크립트는 포함하지 마세요.

  • 관리형 플릿을 생성합니다. 콘솔 또는 를 사용하여 플릿을 생성하고 EC2 관리형 플릿을 AWS CLI지정합니다. 이 유형의 플릿에는 빌드 리소스 및 인스턴스 유형 지정을 포함하여 추가 구성 설정이 필요합니다. 각 플릿 컴퓨팅에서 게임 서버 수명 주기를 관리하려면 모두 런타임 구성을 설정해야 합니다. 관리형 플릿 생성에 대한 Amazon GameLift 관리형 EC2플릿 생성 자세한 내용은 섹션을 참조하세요.

  • 플릿 별칭을 리디렉션합니다(선택 사항). 에 사용할 별칭을 설정한 경우 Anywhere 플릿, 관리형 플릿에 동일한 별칭을 재사용할 수 있습니다. 별칭 생성 또는 업데이트에 대한 Amazon GameLift 별칭 생성 자세한 내용은 섹션을 참조하세요.