CREATE YOUR WORLD
멀티플레이

Multiplay Room

5min

룸 연결 프로세스

Document image


👍 룸 연결 프로세스

  1. 클라이언트로부터 연결 요청
  2. ZEPETO 멀티플레이 서버가 클라이언트 세션을 생성하고 방에 연결합니다
  3. 방이 성공적으로 연결되면
    • 클라이언트에 연결된 방 ID와 세션 ID를 공유합니다
  4. 클라이언트가 방에 접근할 수 없는 경우
    • 새 방을 생성하고 연결합니다



서버 API

서버 코드는 World.multiplay 패키지 → index.ts 파일에 구현되어야 합니다.

Document image




서버는 다음과 같은 방 생명주기 이벤트를 제공합니다:

룸 생애 주기 이벤트

설명

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]



클라이언트 API

ZepetoWorldMultiplay 구성 요소는 클라이언트가 ZEPETO Multiplay 서버의 월드 플레이 세션(룸) 이벤트에 구독할 수 있는 인터페이스를 제공합니다.

Document image


사용 가능한 이벤트 목록:

룸 이벤트 리스너

설명

룸 생성됨(Room)

룸이 생성되고 접근 가능할 때 호출됩니다. 룸 매개변수를 제공합니다.

룸에 참여됨(Room)

룸에 연결될 때 호출됩니다. 룸 매개변수를 제공합니다.

룸 나가기(RoomLeaveEvent)

룸에서 연결이 끊어질 때 호출됩니다. 룸 나가기 이벤트 매개변수를 제공합니다.

룸 재연결됨(Room)

해당 룸이 재연결될 때 호출됩니다. 룸 매개변수를 제공합니다.

룸 오류(RoomErrorEvent)

해당 룸에서 오류가 발생할 때 호출됩니다. 룸 오류 이벤트 매개변수를 제공합니다.

룸 약한 연결

연결이 불안정할 때 호출됩니다.



업데이트됨 11 Oct 2024
Doc contributor
이 페이지가 도움이 되었습니까?