Unreal용 플러그인: Amazon GameLift Servers Anywhere를 사용하여 로컬에서 게임 호스팅 - Amazon GameLift Servers

Unreal용 플러그인: Amazon GameLift Servers Anywhere를 사용하여 로컬에서 게임 호스팅

Anywhere 플릿을 사용하여 로컬 워크스테이션을 게임 서버 호스트로 설정하기 위해 이 워크플로를 사용합니다. 클라우드 기반 관리형 플릿에 배포하기 전에 이를 사용하여 게임 서버 통합을 테스트할 수 있습니다. 반복 게임 개발 중 로컬 테스트에 유용할 수도 있습니다.

Amazon GameLift Servers Anywhere 워크플로를 시작하려면:
  • Unreal 편집기 기본 도구 모음에서 Amazon GameLift Servers 메뉴를 선택하고 Anywhere와 호스트를 선택합니다. 이 작업을 수행하면 Anywhere 배포 플러그인 페이지가 열리고 게임 구성 요소를 통합, 빌드 및 시작하는 6단계 프로세스를 제공합니다.

1단계: 프로필 설정

이 워크플로를 따를 때 사용할 프로필을 선택합니다. 선택한 프로필은 워크플로의 모든 단계에 영향을 줍니다. 생성하는 모든 리소스는 프로필 AWS 계정과 연결되며 프로필의 기본 AWS 리전에 배치됩니다. 프로필 사용자의 권한에 따라 AWS 리소스 및 작업에 대한 액세스 권한이 결정됩니다.

사용자 프로필을 설정하려면
  1. 사용 가능한 프로필 드롭다운 목록에서 프로필을 선택합니다. 아직 프로필이 없거나 새 프로필을 생성하려는 경우 Amazon GameLift 메뉴로 이동하여 AWS 사용자 프로필 설정을 선택합니다.

  2. 부트스트랩 상태가 ‘활성’이 아닌 경우, 프로필 부트스트랩을 선택하고 상태가 ‘활성’으로 변경될 때까지 기다립니다.

2단계: 게임 코드 설정

이 단계에서는 Amazon GameLift Servers와 함께 작동하도록 게임 서버 및 게임 클라이언트 빌드를 준비합니다. 게임 코드를 아직 통합하지 않은 경우 Unreal용 플러그인: 게임 코드 통합 섹션을 참조하세요. 로컬 워크스테이션에서 게임 실행 파일의 경로를 입력합니다.

  • 게임 서버: 게임 서버를 Amazon GameLift Servers용 서버 SDK와 통합하고 게임 서버 빌드를 패키징합니다. 지침은 Unreal용 플러그인: 게임 코드 통합 섹션을 참조하세요. Amazon GameLift Servers 서비스와의 통신을 설정하고 프롬프트에 응답하여 새 게임 세션을 시작하고 게임 클라이언트 연결을 수락하려면 게임 서버를 서버 SDK와 통합해야 합니다.

  • 게임 클라이언트: 최소한 IP 주소 및 포트 정보를 사용하여 게임 서버에 연결할 수 있는 게임 클라이언트가 필요합니다. 아직 게임 클라이언트 구성 요소를 Amazon GameLift Servers에 대해 설정하지 않은 경우 AWS CLI 도구를 사용하여 새 게임 세션을 수동으로 요청하고, 연결 정보를 가져오며, 해당 정보를 사용하여 게임 클라이언트를 연결할 수 있습니다.

    어느 시점에 새 게임 세션 요청을 Amazon GameLift Servers 서비스에 보내고 연결 정보를 게임 클라이언트에 다시 전달하려면 백엔드 서비스가 있어야 합니다. 플러그인에 포함된 테스트 맵을 사용하여 클라이언트 Amazon GameLift Servers 기능을 게임 프로젝트에 추가할 수 있습니다. 사용자 지정 솔루션 구축에 대한 도움말은 Amazon GameLift Servers 게임 클라이언트 기능 통합 섹션을 참조하세요.

3단계: Anywhere 플릿에 연결

이 단계에서는 사용할 Anywhere 플릿을 지정합니다. Anywhere 플릿은 게임 서버 호스팅을 위해 어디에서나 배치할 수 있는 컴퓨팅 리소스 모음을 정의합니다.

  • 현재 사용 중인 AWS 계정에 기존 Anywhere 플릿이 있는 경우 플릿 이름 드롭다운 필드를 열고 플릿을 선택합니다. 이 드롭다운에는 현재 활성 사용자 프로필의 AWS 리전 내 Anywhere 플릿만 표시합니다.

  • 기존 플릿이 없거나 새 플릿을 생성하려는 경우 새 Anywhere 플릿 생성을 선택하고 플릿 이름을 입력합니다.

프로젝트에 Anywhere 플릿을 선택하면 Amazon GameLift Servers는 플릿 상태가 활성 상태인지 확인하고 플릿 ID를 표시합니다. Unreal 편집기의 출력 로그에서 이 요청의 진행 상황을 추적할 수 있습니다.

4단계: 워크스테이션 등록

이 단계에서는 로컬 워크스테이션을 새로운 Anywhere 플릿의 컴퓨팅 리소스로 등록합니다.

워크스테이션을 Anywhere 컴퓨팅으로 등록하려면
  1. 로컬 시스템의 컴퓨팅 이름을 입력합니다. 플릿에 두 개 이상의 컴퓨팅을 추가하는 경우 이름은 고유해야 합니다.

  2. 로컬 시스템의 IP 주소를 입력합니다. 이 필드의 기본값은 시스템의 퍼블릭 IP 주소입니다. 게임 클라이언트와 서버를 같은 시스템에서 실행하는 한 localhost(127.0.0.1)를 사용할 수도 있습니다.

  3. 컴퓨팅 등록을 선택합니다. Unreal 편집기의 출력 로그에서 이 요청의 진행 상황을 추적할 수 있습니다.

이 작업에 대한 응답으로 Amazon GameLift Servers는 컴퓨팅에 연결할 수 있는지 확인하고 새로 등록된 컴퓨팅에 대한 정보를 반환합니다. 또한 Amazon GameLift Servers 서비스와의 통신을 초기화할 때 게임 실행 파일에 필요한 콘솔 인수를 생성합니다.

5단계: 인증 토큰 생성

Anywhere 컴퓨팅에서 실행되는 게임 서버 프로세스에는 Amazon GameLift Servers 서비스를 호출하기 위한 인증 토큰이 필요합니다. 플러그인에서 게임 서버를 실행할 때마다 플러그인은 Anywhere 플릿에 대한 인증 토큰을 자동으로 생성하고 저장합니다. 인증 토큰 값은 명령줄 인수로 저장되며, 서버 코드를 런타임 시 검색할 수 있습니다.

위에 제공된 코드 예제에서는 AWS API 요청에 서명 버전 4(SigV4)을 사용할 수도 있습니다. SigV4는 API 요청에 인증 정보를 추가하기 위한 AWS 서명 프로토콜입니다.

이 단계에서는 어떤 조치도 취하지 않아도 됩니다.

6단계: 게임 실행

이제 Amazon GameLift Servers를 사용하여 로컬 워크스테이션에서 멀티플레이어 게임을 시작하고 플레이하는 데 필요한 모든 작업을 완료했습니다.

호스팅 게임을 플레이하려면
  1. 게임 서버를 시작합니다. 게임 서버는 게임 세션을 호스팅할 준비가 되면 Amazon GameLift Servers에 알립니다.

  2. 게임 클라이언트를 시작하고 새 기능을 사용하여 새 게임 세션을 시작합니다. 이 요청은 새 백엔드 서비스를 통해 Amazon GameLift Servers로 전송됩니다. 이에 대한 응답으로 Amazon GameLift Servers는 로컬 시스템에서 실행되는 게임 서버를 호출하여 새 게임 세션을 시작합니다. 게임 세션이 플레이어를 받아들일 준비가 되면 Amazon GameLift Servers는 게임 클라이언트가 게임 세션에 참여할 수 있도록 연결 정보를 제공합니다.