메인 콘텐츠로 건너뛰기

설정 관련

Roblox Studio → Game Settings → Security → Allow HTTP Requests를 활성화하세요.
PlayWave 관리자 콘솔에서 게임별로 발급받습니다. PlayWave 서비스 운영 담당자에게 발급을 요청하세요.
환경URL상태
Devhttps://wave-api.playwave.dev/v1사용 가능
QAhttps://wave-api-qa.playwave.dev/v1준비 중
Livehttps://wave-api.playwave.io/v1준비 중
API Key도 환경별로 별도 발급됩니다.

세션 관련

LaunchData가 비어있으므로 OTT 추출이 nil을 반환합니다. 이는 정상 동작이며, 해당 유저에게는 PC방 혜택을 부여하지 않으면 됩니다. 일반 플레이에는 영향이 없습니다.
OTT는 런처에서 발급된 후 1분 내에 verify를 호출해야 합니다. 게임 로딩이 오래 걸리는 경우 PlayerAdded 이벤트에서 즉시 verify를 호출하고 있는지 확인하세요.
게임 세션의 Redis TTL은 4분입니다. 하트비트가 없으면 4분 후 세션이 자동 삭제되고, 과금이 비정상 종료됩니다. 반드시 2분 간격으로 하트비트를 보내세요.
네. 서버가 2분 유예 기간을 두고 자동 종료합니다. 유예 기간 동안 하트비트를 계속 보내야 세션이 정상적으로 유지됩니다. 유저에게 G-coin 소진을 안내하되, 즉시 킥하지 않아도 됩니다.
현재 PlayWave는 PC방 전용 플랫폼이므로 verify 성공 시 is_pc_cafe는 항상 true입니다. 향후 확장을 위해 플래그를 확인하는 코드를 작성하는 것을 권장합니다.
Roblox 서버 재시작 시 game:BindToClose에서 모든 활성 세션의 종료 API를 호출합니다. 호출이 실패하더라도 4분 후 TTL 만료로 자동 정리됩니다.

텔레포트 관련

텔레포트 시 TeleportOptions에 PlayWave 세션 데이터를 포함해야 합니다. PlayWaveServer.prepareForTeleport(player, teleportOptions)를 호출한 뒤 TeleportAsync를 실행하세요. 상세 가이드는 텔레포트 연동을 참고하세요.
네. 텔레포트 대상이 되는 모든 SubPlace에 PlayWave SDK가 설치되어 있어야 세션 데이터를 수신하고 인증을 유지할 수 있습니다.
Install SDK 클릭 시 PlayWaveSetupPlayWaveClient 스크립트가 초기화됩니다. SDK 재설치 전에 반드시 기존 콜백 코드를 백업하고, 설치 후 복원하세요.
SubPlace로 이동한 유저의 세션이 유지되지 않아 과금이 적용되지 않습니다. 이로 인해 수익 손실이 발생할 수 있습니다.

Roblox 관련

OTT UUID 형태 (36자)를 전달하므로 길이 제한에 걸리지 않습니다.
개별 유저 퇴장 시에는 서버가 살아있으므로 HTTP 호출이 정상 완료됩니다. 마지막 유저 퇴장으로 서버가 종료되는 경우를 위해 game:BindToClose를 사용합니다. BindToClose는 30초 제한이 있으며, 그 안에 HTTP 호출이 완료되어야 합니다.
task.spawn + task.wait 루프는 Roblox에서 장시간 실행에 안정적입니다. 플레이어가 게임에 있는 동안 지속 실행되며, activeSessions 테이블에서 세션이 제거되면 루프가 자동 종료됩니다.
Game Settings → Security → Allow HTTP Requests 활성화만으로 충분합니다. 별도 도메인 화이트리스트 설정은 필요 없습니다.