시스템 구성
PlayWave는 4개의 구성 요소가 서로 통신합니다.PlayWave 런처
PC방에 설치되는 Windows 앱. HMAC 서명으로 PC방 IP를 인증하고, OTT 토큰과 함께 게임을 실행합니다.
PlayWave 서버
세션 관리, 과금, 정산을 처리하는 백엔드 API. PC방 인증 서버와 연동하여 IP 검증 및 과금을 추적합니다.
게임 서버
PlayWave가 연동된 Roblox 게임 서버. API Key 인증으로 PlayWave 서버에 OTT 검증, 하트비트, 세션 종료를 요청합니다.
PC방 인증 서버
PC방 IP 인증과 플레이 시간 과금 API를 제공하는 외부 인프라 파트너입니다.
연결 구조
전체 흐름
5단계 상세
Phase 1 — 세션 시작
PC방 유저가 PlayWave 런처를 실행하면:- 런처가 PC의 내부 IP와 하드웨어 정보를 수집
- HMAC 서명과 함께 PlayWave 서버에 세션 시작 요청
- PlayWave 서버가 HTTP 요청에서 외부 IP를 추출하여 PC방 여부를 인증
- 인증 성공 시 세션 토큰과 지원 게임 목록을 반환
Phase 2 — OTT 발급 & 게임 실행
유저가 게임을 선택하면:- 런처가 PlayWave 서버에 OTT(One-Time Token) 발급 요청
- PlayWave 서버가 UUID 형태의 OTT를 생성 (1분 유효, 1회용)
- 런처가 OTT를 LaunchData에 포함하여 Roblox 게임 실행
Phase 3 — OTT 검증 & 과금 시작
유저가 게임에 접속하면:- 게임 서버가 LaunchData에서 OTT를 추출
- PlayWave 서버에 OTT 검증 요청 (API Key 인증)
- PlayWave 서버가 OTT 유효성 확인 후 과금 시작
- 게임 세션 ID를 반환하고 PC방 혜택 지급 여부 전달
Phase 4 — 하트비트
게임 플레이 중:- 게임 서버가 2분 간격으로 PlayWave 서버에 하트비트 전송
- PlayWave 서버가 과금 세션을 갱신하고 플레이 시간을 기록
- 하트비트가 4분간 수신되지 않으면 세션 자동 종료
Phase 5 — 세션 종료
유저가 게임을 떠나면:- 게임 서버가 PlayWave 서버의 세션 종료 API 호출
- PlayWave 서버가 과금을 중지하고 최종 플레이 시간을 기록
- 비정상 종료 시 하트비트 타임아웃으로 자동 정리
OTT (One-Time Token)
OTT는 PlayWave 런처에서 게임 서버로 세션을 안전하게 전달하는 1회용 토큰입니다.| 속성 | 값 |
|---|---|
| 형식 | UUID v4 |
| 유효기간 | 1분 (60초) |
| 사용 횟수 | 1회 (verify 호출 시 소비) |
| 전달 방법 | Roblox LaunchData |