Skip to main content
여러분의 게임에서 길드, 클랜, 기업, 회사, 부족 등 뭐라고 부르든 지속적인 플레이어 그룹이 필요하다면, PlayFab은 엔티티 프로그래밍 모델을 통해 이러한 요구를 지원할 수 있습니다. 그룹 엔티티는 플레이어나 캐릭터를 포함한 다른 엔티티의 컬렉션을 저장하는 데 사용할 수 있으며, 게임 내에서 다양한 용도로 활용될 수 있습니다.

예시

  • 클랜/길드 - 엔티티 그룹은 장기간 함께 뭉치게 하는 사회적 결속을 바탕으로, 정기적으로 함께 플레이하는 플레이어들의 집합을 표현하는 데 사용할 수 있습니다.
  • 파티 - 엔티티 그룹은 개별 플레이어가 즉각적인 목표를 달성할 수 있도록 만들어졌다가 이후 쉽게 해산되는 단기 그룹에 사용할 수 있습니다.
  • 채팅 채널 - 단기 또는 장기 채팅 채널을 엔티티 그룹으로 정의할 수 있습니다.
  • 게임 내 정보 구독 - 게임에 단일 인스턴스의 전설 아이템이 있나요? 플레이어들이 그 아이템에 어떤 일이 일어나는지 지속적인 업데이트를 원하나요? 해당 아이템에 관심 있는 모든 플레이어 엔티티를 멤버로 하여, 그 아이템에 초점을 맞춘 엔티티 그룹을 만드세요.
간단히 말해, 엔티티 그룹은 해당 그룹에 바인딩된 지속 상태가 필요한 모든 엔티티(NPC이든 플레이어 제어이든, 실제이든 추상적이든)의 컬렉션이 될 수 있습니다. 또한 엔티티 그룹 자체도 엔티티이므로, 엔티티의 모든 기본 기능을 갖게 됩니다.
  • 개체 데이터
  • 파일 데이터
  • 프로필
그룹의 기본 제한은 그룹당 1000명이며, 플레이어와 캐릭터만 멤버로 지원합니다.

엔티티 그룹 사용하기

그룹을 만들 때 처음 그룹에 추가된 엔티티는 Admin 역할에 배정됩니다(이 가이드에서는 편의상 이 엔티티를 소유자로 지칭합니다). 소유자는 이후 새 멤버 초대, 다양한 사용자 지정 권한을 가진 새 역할 만들기, 멤버 역할 수정, 멤버 강제 퇴장 등을 수행할 수 있습니다. 또한 엔티티에 존재하는 동일한 엔티티 함수가 그룹에도 동작하므로, JSON 개체와 파일을 그룹에 직접 저장하여 임의의 게임별 데이터를 보관할 수 있습니다. 아래에 제공된 코드 예시는 기본적인 길드 상호작용을 시작하는 데 도움이 됩니다. 이 예시로 그룹을 만들고, 멤버를 추가하고 제거하며, 그룹을 삭제할 수 있습니다. 이는 출발점을 제공하기 위한 것이며, 역할이나 권한은 시연하지 않습니다.

예시 분석

이 예시는 컨트롤러로 구성되어 있으며, 로컬 캐시에 최소한의 데이터만 저장하고(PlayFab이 권한 있는 데이터 계층이 됨) 그룹에 대해 CRUD 작업을 수행하는 방법을 제공합니다. 제공된 예시의 일부 함수를 살펴보겠습니다.
  • OnSharedError - 이는 PlayFab 예시에서 흔히 볼 수 있는 패턴입니다. 오류를 처리하는 가장 간단한 방법은 오류를 보고하는 것입니다. 실제 게임 클라이언트에는 훨씬 정교한 오류 처리 로직이 있을 것입니다.
  • ListMembership - 지정된 엔티티가 속한 모든 그룹을 파악하기 위해 ListMembership을 호출합니다. 플레이어는 자신이 이미 가입한 그룹을 확인하고 싶어합니다.
  • CreateGroup/DeleteGroup - 대부분 이름 그대로입니다. 이 예시는 이 호출이 성공적으로 실행될 때 로컬 그룹 정보 캐시를 업데이트하는 방법을 보여줍니다.
  • InviteToGroup/ApplyToGroup - 그룹 가입은 두 단계로 이루어지며 양방향으로 활성화될 수 있습니다.
    • 플레이어가 그룹 가입을 요청할 수 있습니다.
    • 그룹이 플레이어를 초대할 수 있습니다.
  • AcceptGroupInvitation/AcceptGroupApplication - 가입 프로세스의 두 번째 단계입니다. 응답 엔티티가 초대를 수락하여 해당 플레이어를 그룹의 일원으로 만드는 프로세스를 완료합니다.
  • RemoveMembers - 해당 권한을 가진 멤버(역할 권한에 따라 정의됨)는 그룹에서 멤버를 강제 퇴장시킬 수 있습니다.

서버와 클라이언트

모든 새로운 엔티티 API 메서드와 마찬가지로, 서버 API와 클라이언트 API 간에 구분이 없습니다. 작업은 프로세스가 인증된 방식에 따라 호출자에 의해 수행됩니다. 클라이언트는 그에 따라 식별되며, 타이틀 플레이어 엔티티로서 이러한 메서드를 호출하고, 그룹 내 역할과 권한이 매 호출마다 평가되어 해당 작업을 수행할 권한이 있는지 확인됩니다. 서버는 동일한 developerSecretKey로 인증되며, 이는 해당 프로세스를 타이틀 엔티티로 식별합니다. 타이틀은 역할 검사를 우회하며, 타이틀이 실행한 API 호출은 예를 들어 엔티티가 멤버가 아닐 때 제거할 수 없는 경우처럼 작업을 수행하는 것이 불가능한 경우에만 실패합니다.

함께 보기

그룹, 길드 또는 클랜의 데이터를 저장하려면 다음을 참조하세요.
마지막 수정일 2026년 8월 13일