VRChat 모임과 입장
이런 일을 도와드려요.
방을 내 프로필에 공개하거나, 초대한 사람에게만 링크를 보낼 수 있습니다. PIN과 사람마다 다른 VIP 티켓으로 입장을 관리하고, 모임을 어디까지 공개할지 크리에이터가 직접 정합니다.
- 프로필 공개·비공개 링크
- PIN·개인별 VIP
- 월드 찾기·Creator Studio
지금까지 만든 것
- 프로필에서 방 공개 범위를 고를 수 있게 정리서비스 반영
- PIN·VIP 입장과 방 관리 흐름 개선서비스 반영
- 월드 검색과 이미지 표시 속도 개선서비스 반영
- Paddle 결제 서비스Paddle 승인
기술과 구조공개할 사람부터 입장 방식까지, 직접 정하세요.구조 살펴보기
세 단계로 보는 동작 원리
월드 검색과 모임의 공개 범위, 한 번씩 확인하는 입장, 기기에 맞는 VRChat 실행을 연결합니다.
키워드와 의미 검색으로 후보를 찾은 뒤 공개 상태·인원·Quest 지원을 현재 월드 기록에서 확인합니다. 모임의 프로필 게시 여부와 실제 입장 인증은 별도로 관리합니다.
PostgreSQL 행 잠금과 조건부 갱신으로 중복 소비를 막고 토큰은 해시로 저장합니다. 재입장 인증은 방 ID·PIN 버전·만료에 묶어 변경된 조건을 다시 확인합니다.
허용된 VRChat 주소와 검증한 매개변수로 실행 링크를 다시 만듭니다. LAUNCH_READY는 연결 준비 상태이며, 실제 게임 입장은 VRChat과 기기의 지원 조건을 따릅니다.
키워드와 의미 검색으로 후보를 찾은 뒤 공개 상태·인원·Quest 지원을 현재 월드 기록에서 확인합니다. 모임의 프로필 게시 여부와 실제 입장 인증은 별도로 관리합니다.
보안과 설계 원칙
공개 범위와 인증 분리
Profile visibility · PIN version전역 방 목록 없이 프로필 게시와 링크 공유를 선택합니다. PIN 변경 시 미사용 일반 입장권과 이전 버전의 재입장 인증을 무효화합니다.
토큰 재사용 방지
PostgreSQL row lock · Redis atomic consume입장 토큰은 해시로 보관하고 원자적으로 한 번만 소비합니다. 짧은 재입장 링크도 Redis에서 읽기와 삭제를 함께 처리합니다.
현재 월드 정보로 확인
Hybrid retrieval · Revalidation검색 캐시를 쓰더라도 현재 월드 상태를 다시 확인합니다. 중복 요청 합치기와 요청 예산, 로컬 검색 전환으로 검색 지연에 대응합니다.