공부 기록

[AWS] Gamelift 정리 본문

Unreal

[AWS] Gamelift 정리

혜멘 2022. 2. 11. 00:41

에픽게임즈 유튜브 영상 보고 필기한 내용

추후 다시 정리함

 

Build

  • 게임리프트 상에서 구동될 게임 빌드
  • CLI, SDK를 사용해 빌드 업로드 및 여러 빌드 저장
  • 지원 OS : 리눅스, 윈도우
  • 지원 SDK : 언리얼 플러그인(GameLift Server SDK), C#, C+

Fleet

  • 배포된 게임빌드를 관리, 어떤 방식으로 호스팅할지 정의
  • 인스턴스 타입
  • 배포될 지역 정하기
  • 스케일링 폴리시
  • capacity 제한 - 대기열
  • 각 인스턴스당 프로세스를 몇개까지 띄울지
  • 플릿이벤트를 통해 게임세션, 인스턴스 레벨의 이벤트를 모니터링할 수 있음
  • 실행중인 게임세션 정보를 실시간으로 확인 가능
  • 각 게임 세션에서 플레이어 세션 정보 확인 가능

개발자는 CLI 를 통해 빌드를 올리면 해당 빌드를 이용해 플릿을 구성함

플레이어가 접속하면 플레이어 슬롯을 등록하고 프로세스 접속에 필요한 정보를 할당

플레이어 수가 차면 세션 스타트 (게임시작)

 

Alises

  • Simple : 요청을 플릿으로 redirect 함, 이와 연결된 플릿은 언제라도 무중단 업데이트 가능
  • Terminal : 요청을 플릿으로 redirect 하지 않고 클라이언트에 메시지(점검중/업데이트)를 보냄

Queue

  • 게임 세션을 플릿에 할당하는 과정을 효율적으로 자동화
  • Timeout : 무한히 기다릴 수 없기 때문에 제한시간 설정
  • member fleet : 어느 플릿으로 세션을 배치할지 (근접한 region에 플릿을 배치)
  • fleet priority : 어떤 플릿으로 우선배치 할지 (스팟 인스턴스로 구성된 플릿을 더 높은 우선순위)
  • Latency policy : 각 플릿 중 latency가 가장 짧은 플릿에 배치

Spot Instance

  • on-demand : 사용시간에 따라 지불
  • spot instance : 가용량에 따라 변동? on-demand 가격을 초과하지 않음 ⇒ 리눅스의 경우 80%까지 절감

 

언리얼 엔진 리눅스 지원

  • 윈도우에서 리눅스 빌드 : 버전에 맞는 CLang 설치 후 프로젝트 재생성, VS 타겟 플랫폼 리눅스로 변경 후 빌드
  • 게임리프트로 배포 후 스팟 인스턴스 사용

Client

  • C++, C#, 파이썬, 자바, 자바스크립트 등 지원
  • 게임 클라이언트에 직접 통합하지 않고 클라이언트의 요청을 받아 처리하는 게임 서비스를 구현하여 게임리프트와 연결
  • 게임리프트 관련 폴리시 등을 변경할때 불필요한 업데이트를 줄일 수 있음
  • 클라이언트의 요청이 유효한지, 패킷이 조작되지 않았는지 등의 인증을 처리할 수 있음

Flex Match

  • Match Making
  • 팀/파티 규모의 매칭 지원
  • Latency 기반 매칭
  • 지나친 대기시간을 줄이기 위한 규칙완화 정책 지원
  • 최적의 region 배치
  • 모든 사용자가 동의했을때 세션 시작 (동의 기반 매치메이킹)
  • Backfill 을 이용한 사용자 제외/추가 (난입 컨텐츠?)

 

 

'Unreal' 카테고리의 다른 글

[UE4] 내가 보려고 모아놓은 언리얼 팁 사이트  (0) 2022.03.16
Comments