Multiplay Room
👍 룸 연결 프로세스
- 클라이언트로부터 연결 요청
- ZEPETO 멀티플레이 서버가 클라이언트 세션을 생성하고 방에 연결합니다
- 방이 성공적으로 연결되면
- 클라이언트에 연결된 방 ID와 세션 ID를 공유합니다
- 클라이언트가 방에 접근할 수 없는 경우
- 새 방을 생성하고 연결합니다
서버 코드는 World.multiplay 패키지 → index.ts 파일에 구현되어야 합니다.
서버는 다음과 같은 방 생명주기 이벤트를 제공합니다:
룸 생애 주기 이벤트 | 설명 |
---|---|
onCreate(options: SandboxOptions) | 룸이 생성되면 한 번 호출됩니다. 룸 초기화 로직을 여기에 추가할 수 있습니다. |
onJoin(client: SandboxPlayer) | 클라이언트가 룸에 참여할 때 호출됩니다. 매개변수 client (SandboxPlayer)는 클라이언트의 sessionId 식별자를 포함합니다. |
onLeave(client: SandboxPlayer, consented?: boolean) | 클라이언트가 룸을 떠날 때 호출됩니다. 매개변수 consented는 클라이언트가 연결을 끊을 때 true입니다. |
onTick(deltaTime: number) | 서버 측에서 단계 간격 이벤트 호출, 간격 시간은 SandboxOptions에서 설정할 수 있습니다. (tickInterval : 100ms) |
- 모바일 테스트 상태에서 왼쪽 상단의 '홈 버튼 > 나가기'를 누르면 OnLeave() 이벤트가 발생합니다.
- Unity 에디터에서는 OnLeave() 이벤트가 발생하지 않습니다.
ZEPETO.Multiplay 서버 API에 관심이 있으시면, 문서를 참조하세요:
📘 다음 가이드를 참조하세요. [ZEPETO.Multiplay(서버) API]
ZepetoWorldMultiplay 구성 요소는 클라이언트가 ZEPETO Multiplay 서버의 월드 플레이 세션(룸) 이벤트에 구독할 수 있는 인터페이스를 제공합니다.
사용 가능한 이벤트 목록:
룸 이벤트 리스너 | 설명 |
---|---|
룸 생성됨(Room) | 룸이 생성되고 접근 가능할 때 호출됩니다. 룸 매개변수를 제공합니다. |
룸에 참여됨(Room) | 룸에 연결될 때 호출됩니다. 룸 매개변수를 제공합니다. |
룸 나가기(RoomLeaveEvent) | 룸에서 연결이 끊어질 때 호출됩니다. 룸 나가기 이벤트 매개변수를 제공합니다. |
룸 재연결됨(Room) | 해당 룸이 재연결될 때 호출됩니다. 룸 매개변수를 제공합니다. |
룸 오류(RoomErrorEvent) | 해당 룸에서 오류가 발생할 때 호출됩니다. 룸 오류 이벤트 매개변수를 제공합니다. |
룸 약한 연결 | 연결이 불안정할 때 호출됩니다. |