방 개요

Strix에서 두 클라이언트가 소통을 하기 위해서는 같은 방에 입장해야 합니다.

Strix에서 은 클라이언트들을 연결해 주는 가상의 공간입니다. 온라인 멀티플레이어 게임에서 흔히 보는 매칭 로비를 떠올리면 됩니다. 단 Strix에서 방은 멀티플레이어 게임의 여러 측면을 실행하기 위한 근간으로, 로비보다는 더 유연합니다. 게임 설계에 따라 로비나 채팅 채널, 인스턴스 던전의 파티를 방으로 나타낼 수 있습니다. 배틀로얄 게임에서는 필드에 있는 플레이어 전체를 나타낼 수 있습니다.

방 서버 안에는 여러 방이 있을 수 있지만 방은 서로 분리됩니다. 방 멤버란 특정 방에 대한 정보를 담아 두고 있는 클라이언트(플레이어)를 나타내는 말입니다. 즉, 클라이언트가 방을 떠나 다른 방에 입장하면 그에 따라 새 방 멤버가 만들어집니다. 그 새 방 멤버는 원래 있던 방 멤버와는 아무런 관련이 없습니다. 방에 입장하면 각 방 멤버는 다른 멤버에 관한 정보를 볼 수 있고 RPC를 다른 멤버들에게 보낼 수 있습니다. 또, 게임 개체를 복제하고 속성을 실시간으로 동기화할 수 있습니다. 동시에, 한 방의 멤버들은 다른 방에서 일어나는 일을 알 수 없습니다.

방 운영

클라이언트(플레이어)는 방을 만들 수도 있고, 기존 방에 입장할 수도 있고, 방(들)을 검색할 수 있고, 방 또는 방 멤버의 정보를 설정할 수 있습니다.

방은 클라이언트만 만들 수 있으며, 방이 서버에 존재하려면 멤버가 한 명 이상 있어야 합니다. 방을 만든 클라이언트가 속성을 정의하며, 방 만들기가 끝나면 클라이언트는 방에 자동으로 입장하여 방장이 됩니다.

방장은 방의 속성을 바꿀 수 있고 다른 방 멤버를 퇴장시킬 수 있으며 방을 삭제할 수 있습니다. 방장이 방을 떠나면 다른 멤버가 자동으로 방장이 됩니다. 멤버가 모두 방을 떠나면 방은 자동으로 삭제됩니다.

참고

방장이 다른 방 멤버들을 남겨 두고 방을 떠났을 때 발생하는 결과는 서버 측 옵션으로 설정할 수 있습니다. Strix Cloud 애플리케이션 대시보드에서 ‘방장 양도 활성화’ 옵션을 비활성화하면 남은 멤버를 모두 퇴장시키고 방장이 방을 떠나며 방을 삭제할 수 있습니다.

방 속성

방마다 속성이 따로 있습니다. 속성은 방 안팎에서 모두 볼 수 있습니다. 즉, 방에 입장하지 않아도 속성을 볼 수 있다는 뜻입니다. 방장은 언제든지 어떤 속성이든 바꿀 수 있습니다. Strix는 방마다 표준 속성을 정해 두고 있으며, 그중 일부의 시맨틱은 게임을 설계할 때 바꿀 수 있습니다. 방에는 또 사용자가 마음대로 설정할 수 있는 커스텀 속성도 있습니다.

속성의 종류

예시

검색 가능?

시맨틱이 미리 정해져 있는 표준 속성
name,
capacity

커스텀 시맨틱이 있는 표준 속성
(표준 커스텀 속성)
key1 - key8
stringKey

커스텀 속성(커스텀 시맨틱 있음)
(아무 이름이나 가능)

아니요

참고

properties는 특별한 속성입니다. 미리 정해진 시맨틱이 있는 딕셔너리 타입의 표준 속성으로, 시맨틱(목적)에는 커스텀 속성이 들어 있습니다. 이 딕셔너리에서 커스텀 속성의 이름은 키(key)이며, 속성값은 값(value)입니다.