공식 패키지 · 실시간 구성 요소
WebSocket으로 만드는 게임 방과 로비
프레즌스 채널 위의 방: 입장 순서대로 정해지는 자리, 나가면 넘겨지는 호스트, 준비 상태, 설정, 강퇴, 시작, 방 채팅. 서버 쪽은 자리에 서명하고 열린 방 목록을 돌려줍니다.
@hibira-io/lobby라이브 데모 ↗npm ↗GitHub ↗
- 브라우저, React Native, JavaScript를 실행하는 게임 엔진에서 동작합니다.
- authorizeRoom()은 방 정원을 지키고, listRooms()는 열린 방을 돌려줍니다.
- Unity와 Godot의 방도 같은 이벤트를 쓰므로 어떤 엔진의 플레이어든 한 방에서 만납니다.
로그인하면 예제 코드에 내 클러스터 호스트가 채워집니다. 로그인
설치
npm install @hibira-io/lobby pusher-js사용하기
import { Room } from '@hibira-io/lobby'; const pusher = new Pusher('YOUR_APP_KEY', { cluster: 'hkg', wsHost: 'ws.hibira.io', channelAuthorization: { endpoint: '/rooms/auth' }, }); const room = Room.join(pusher, 'presence-room-42', { capacity: 4 }); room.on('members', ({ players }) => render(players)); room.setReady(true);
시작하기 전에
- 앱 설정에서 '클라이언트 이벤트 허용'을 켜야 플레이어끼리 움직임과 탭을 주고받을 수 있습니다.
- 프라이빗 채널과 프레즌스 채널에는 pusher-js와 마찬가지로, 앱 시크릿으로 구독에 서명하는 인증 엔드포인트가 백엔드에 필요합니다.
대시보드의 앱 키를 사용하세요. 시크릿은 서버에만 둡니다. 채널, 이벤트, 인가 엔드포인트는 Pusher와 똑같이 동작합니다. 무료 계정 만들기 →