공식 패키지 · 게임 엔진

Cocos Creator 멀티플레이 방

의존성이 없는 Cocos Creator 3.x 클라이언트로 웹, 네이티브, 미니게임 빌드에서 동작합니다. HibiraConnection 컴포넌트가 씬이 바뀌어도 연결을 유지하고, 방에는 좌석, 방장, 준비 상태, 채팅이 있습니다.

  • 방은 Lobby 패키지와 같은 이벤트를 쓰므로 Cocos 플레이어와 브라우저 플레이어가 같은 방에서 놀 수 있습니다.
  • Lobby 패키지의 매칭 대기열이 포함되어 있습니다. 플레이어가 기다리면 레이팅과 조건으로 매칭되어 함께 새 방에 들어갑니다.
  • 스스로 다시 연결하고 채널을 다시 구독합니다.
  • 인증 엔드포인트는 무료 요금제에서 돌아가는 Cloudflare Worker입니다.

로그인하면 예제 코드에 내 클러스터 호스트가 채워집니다. 로그인

  1. 설정하기

    git clone https://github.com/hibira-io/cocos && cd cocos/server
    # put your app key in wrangler.toml, then:
    npx wrangler deploy
    npx wrangler secret put HIBIRA_APP_SECRET
  2. 설치

    Copy assets/hibira into your project's assets/.
    Add the HibiraConnection component to a root node of the first scene:
      App Key:        YOUR_APP_KEY
      Host:           ws.hibira.io
      Auth Endpoint:  your Worker's URL
  3. 사용하기

    import { HibiraConnection } from './hibira/HibiraConnection';
    
    const hibira = HibiraConnection.instance!;
    hibira.setName('Ann');
    const room = hibira.joinRoom('ABCD', { capacity: 4 });
    room.on('members', ({ players, host }) => renderSeats(players, host));
    room.on('start', ({ data }) => startGame(data.seed));

시작하기 전에

  • 앱 설정에서 '클라이언트 이벤트 허용'을 켜야 플레이어끼리 움직임과 탭을 주고받을 수 있습니다.
  • http://localhost:7456(에디터의 브라우저 미리보기)과 각 웹 빌드의 사이트를 앱의 허용 오리진에 등록하세요. 미니게임 빌드에서는 WebSocket 호스트와 인증 엔드포인트도 플랫폼의 허용 도메인에 추가해야 합니다.

대시보드의 앱 키를 사용하세요. 시크릿은 서버에만 둡니다. 채널, 이벤트, 인가 엔드포인트는 Pusher와 똑같이 동작합니다. 무료 계정 만들기 →