공유 모드 마스터 클라이언트
개요
SharedModeMasterClient
는 Shared Mode
세션에서 한 클라이언트에게 부여되는 역할입니다. 이 역할을 가진 플레이어는 다른 클라이언트가 접근할 수 없는 몇 가지 고유 권한을 가집니다.
할당
기본적으로 SharedModeMasterClient
역할은 공유 모드 세션을 생성한 플레이어에게 할당됩니다. 플레이어는 NetworkRunner.IsSharedModeMasterClient
를 호출하여 자신이 SharedModeMasterClient
인지 확인할 수 있습니다. 이 역할은 다음의 경우 재할당됩니다:
SharedModeMasterClient
가 나가거나 연결이 끊어진 경우, 현재 룸에 있는 클라이언트 중 한 명에게 자동으로 새로운SharedModeMasterClient
역할이 할당됩니다.SharedModeMasterClient
가NetworkRunner.SetMasterClient(PlayerRef player)
를 실행한 경우.
SharedModeMasterClient 권한
앞서 언급했듯이, SharedModeMasterClient
는 몇 가지 고유 권한을 가지고 있습니다.
씬 관리
공유 모드에서, SharedModeMasterClient
만 씬을 관리할 권한이 있습니다. 여기에는 NetworkRunner.LoadScene
과 같은 씬 관리에 관련된 모든 메서드가 포함됩니다.
씬 객체에 대한 초기 상태 권한
새로운 씬이 로드되면, SharedModeMasterClient
는 씬에 포함된 모든 NetworkObjects
에 대한 StateAuthority
를 갖게 됩니다.
마스터 클라이언트 객체 여부
NetworkObjects
의 Shared Mode Settings
에서 Is Master Client
가 true로 설정된 경우, SharedModeMasterClient
는 항상 이 NetworkObject
에 대한 State Authority
를 갖게 됩니다. 새로운 SharedModeMasterClient
가 할당되면, 이 NetworkObject
의 상태 권한
은 새 SharedModeMasterClient
로 이전됩니다.
상태 권한이 없는 오브젝트 제거
NetworkObject
가 Shared Mode Settings
에서 Allow State Authority Override
를 활성화하고 Destroy When State Authority Leaves
를 비활성화한 경우, 플레이어가 연결을 끊어도 해당 NetworkObject
는 파괴되지 않습니다. 그러나 SharedModeMasterClient
는 해당 오브젝트에 StateAuthority
가 없어도 이 오브젝트를 제거할 수 있습니다.
