
매치메이킹 샘플 (Matchmaking Sample)
소개
EOS(Epic Online Services) 매치메이킹 연동을 직접 체험할 수 있는 샘플 데모입니다. 스토브 계정으로 별도 로그인 절차 없이 바로 실행되며, 같은 풀의 다른 유저와 자동으로 매칭되는 과정을 콘솔 화면에서 확인할 수 있습니다.
조작방법
검은 콘솔 창과 입력 프롬프트(>)가 보이며, 아래 네 줄을 순서대로 입력합니다.
# --- (1) 스토브 PCSDK 영역: 스토브에서 토큰 받기 ---
# 스토브 PCSDK를 초기화하고, 사용자 인증 토큰(access_token)을 받습니다. 이 토큰이 EOS에 넘길 신분증 역할을 합니다.
stove init # 스토브 PCSDK 초기화. 기대결과: BaseSDK initialized.
stove user # 스토브 회원 누구로 로그인됐는지 확인 (회원번호 / 닉네임). 기대결과: memberNumber=... nickname=...
stove token # 스토브 사용자 인증 토큰(access_token) 가져오기. 기대결과: access_token stored (len=...)
# --- (2) EOS SDK 영역: 토큰으로 PUID 확보 ---
# 받은 스토브 사용자 인증 토큰을 EOS의 로그인(Connect)에 넘기면, 에픽게임즈 로그인 창 없이 PUID를 확보합니다.
login openid # 저장된 스토브 인증 토큰으로 EOS Connect 로그인 -> 사용자 번호(PUID) 확보
아래는 콘솔 입력 예시입니다.
> stove init >>> [stove] BaseSDK initialized.
> stove user [stove] memberNumber=XXXXXXXX nickname=tester
> stove token [stove] access_token stored (len=464). Now run: login openid
> login openid [connect] New external identity -> running CreateUser... >>> [OK] New PUID issued (CreateUser, no Epic account UI): 0002xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
첫 EOS 로그인이라 PUID가 없으면 EOS가 user_not_found를 돌려주고, 코드가 곧바로 CreateUser로 새 PUID를 만듭니다. 이 과정에서 에픽게임즈 로그인 창은 뜨지 않습니다.
아래는 실제 콘솔 실행 화면입니다. 에픽게임즈 로그인 창 없이 콘솔만 떠 있는 상태에서 PUID가 발급됩니다.

데모의 콘솔 명령은 게임이 실제로 수행할 SDK 흐름을 한 줄씩 끊어 보여준 것입니다. 실제 게임에서는 이 명령들을 게임 코드(또는 엔진 플러그인) 안에서 아래 SDK 호출로 구현하며, 보통 게임 시작·로그인 시점에 자동 실행됩니다.
| 영역 | 데모 명령 | 실제 게임에서의 SDK 호출 / 흐름 |
|---|---|---|
| 스토브 PCSDK | stove init | 스토브 PCSDK 초기화 — Base_InitializeEx() (PC클라이언트 세션 파라미터를 RestartAppIfNecessary로 캐시한 뒤 호출) |
| 스토브 PCSDK | stove user | (선택) 스토브 로그인 유저 조회 — Base_GetUser() (memberNumber·nickname) |
| 스토브 PCSDK | stove token | Base_GetAccessToken()으로 스토브 access_token을 받습니다. 이 토큰을 EOS에 넘깁니다. |
| EOS SDK | (앱 시작 시 자동) | EOS_Initialize → EOS_Platform_Create(3단계에서 넣은 자격증명 사용) |
| EOS SDK | login openid | EOS_Connect_Login 호출 — Credentials.Type=EOS_ECT_OPENID_ACCESS_TOKEN, Token=스토브 access_token. 처음이라 user_not_found가 오면 EOS_Connect_CreateUser로 새 PUID를 발급합니다. |
| EOS SDK | (이후) | 확보된 PUID로 Lobbies/Sessions(매치메이킹) API를 호출합니다. |
특징
참고
글 작성 시 규칙 및 기준을 지켜주세요.