Skip to main content
Steamworks와 XBOX Game Development Kit(GDK)은 사용자를 인증하고 그들이 플레이 중인 타이틀 및/또는 접근하려는 추가 콘텐츠를 소유하고 있는지 확인하기 위한 API를 제공합니다. 이러한 API가 달성하려는 목표에는 차이가 있습니다. Steam API는 멀티플레이 세션을 위해 사용자의 신원을 확인하고, 사용자가 Steam 스토어의 정품 게임 사본을 플레이하고 있는지 확인하기 위해 소유권 확인을 사용합니다. 그러나 XBOX Game Development Kit(GDK)은 사용자를 로그인시켜 XBOX 서비스로 그들의 신원을 암묵적으로 확인하고, 현재 Microsoft Store 계정이 게임에 대한 자격을 갖고 있는지 독립적으로 확인해야 합니다. XBOX Game Development Kit(GDK)에서 인증과 소유권에 사용되는 두 API는 서로 다른 플랫폼을 대상으로 하며, 경우에 따라 완전히 다른 계정을 대상으로 합니다. 이 때문에 사용자가 현재 게임을 플레이할 수 있는 Microsoft Store의 유효한 라이선스를 보유하고 있음을 가리키기 위해 entitled(자격이 부여됨) 라는 용어를 사용하겠습니다. 이에 대한 자세한 내용과 그 의미는 이 항목 뒷부분의 두 플랫폼 간 라이선싱 차이 섹션을 참조하세요.

사용자 인증

Steam에서 사용자는 클라이언트가 게임을 실행할 때 항상 “로그인된” 상태입니다. API를 초기화하는 것 외에는 아무것도 하지 않고도 게임은 항상 사용자의 Steam ID에 접근할 수 있습니다. Steam에서의 인증은 세션 티켓(P2P 또는 전용 서버 사용), 암호화된 애플리케이션 티켓(보안 서버 사용), 또는 Steam Web API를 사용해 ISteamUser API로 사용자의 미리 설정된 신원이 실제로 게임을 실행한 클라이언트에 로그인한 사용자인지 확인하는 프로세스를 의미합니다. 인증 후 Steam Web 또는 ISteamUser API는 티켓을 사용해 현재 게임이나 다운로드 가능한 콘텐츠(DLC)의 소유권을 확인할 수 있습니다. 이 확인 단계는 XBOX Game Development Kit(GDK)에서는 필요하지 않습니다. XBOX Game Development Kit(GDK) 초기화의 단계로 사용자를 로그인시킬 때 이미 확인을 완료했기 때문입니다. 따라서 XBOX Game Development Kit(GDK)에는 멀티플레이 세션을 위해 사용자의 신원을 확인하는 Steam 세션 티켓이나 암호화된 애플리케이션 티켓에 대응하는 것이 없습니다.

소유권 및 디지털 저작권 관리(DRM)

사용자가 현재 플레이하는 게임에 자격이 있는지 확인하려면 XStore API의 XStoreQueryGameLicenseAsync 함수를 사용해 사용자가 그 게임을 플레이할 라이선스가 있는지 확인해야 합니다. 비동기 콜백에서 다음을 확인하세요.
  1. 쿼리가 성공했는지(즉, 사용자가 라이선스가 있는지).
  2. XStoreQueryGameLicenseResult에서 제공된 라이선스가 여전히 활성 상태인지.
두 확인이 모두 성공하면 사용자가 여러분의 게임을 플레이할 자격이 있다고 간주할 수 있습니다. XBOX Game Development Kit(GDK)에서 이는 Steam Web API에서 ISteamUser/CheckAppOwnership을 사용하거나 앱 티켓으로 SteamEncryptedAppTicket::BIsTicketForApp을 호출하는 것에 가장 가까운 대응 항목입니다. 이 확인을 수행하는 자세한 내용과 코드 샘플은 XStore: 기본 DRM 및 라이선스 확인을 참조하세요. 이 항목은 클라이언트 측 확인을 우회하는 변조를 방지하기 위한 더 견고한 라이선스 확인 옵션에 대한 정보도 포함합니다. Steam은 또한 XBOX Game Development Kit(GDK)에 대응하는 것이 없는 DRM 래퍼를 제공합니다. Microsoft Store는 설치된 앱을 실행할 때 안티 파이러시 검사를 수행합니다. 완전한 DRM 보호를 위해 링크된 코드 샘플의 라이선스 확인을 실행하는 것과 함께 서드파티 솔루션을 사용하는 것을 권장합니다.

DLC 소유권 확인

게임에 연결된 DLC가 있는 경우 XStore API로 사용자의 Microsoft Store 계정이 항목에 접근할 수 있는지 확인할 수 있습니다. 이러한 라이선스를 확인하려면 먼저 XStoreQueryAssociatedProductsAsync 함수를 사용해 게임과 연결된 모든 제품을 쿼리한 다음, ISteamUser/CheckAppOwnership 또는 ISteamUser::UserHasLicenseForApp 함수와 유사한 XStoreAcquireLicenseForPackageAsync 함수를 사용해 쿼리에서 반환된 목록의 특정 DLC 항목에 대한 라이선스를 얻어야 합니다. 게임 자격 확인과 마찬가지로 라이선스가 성공적으로 획득되었는지, 활성 상태인지 확인해야 합니다. 두 확인이 모두 통과하면 사용자가 해당 DLC 항목에 접근할 라이선스가 있다고 간주할 수 있습니다. 이 프로세스에 대한 코드 샘플은 선택 사항 패키지(DLC) 관리 및 라이선스를 참조하세요.

두 플랫폼 간 라이선싱 차이

Steam과 Microsoft Store 사이에 존재하는 철학의 차이를 유의하는 것이 중요합니다. Steam에서 라이선스 확인은 인증된 신원의 사용자가 구매를 통해 또는 Steam Family Sharing을 통해 현재 게임을 플레이할 라이선스를 가지고 있는지 확인합니다. 그러나 XBOX Game Development Kit(GDK)은 현재 인증된 Microsoft Store 계정이 콘텐츠에 접근할 자격이 있는지 확인하고 XBOX 계정으로 신원을 얻습니다. 여기에는 중요한 주의 사항이 있습니다. 이 두 계정에 사용된 Microsoft 계정이 동일인에 속하더라도 같지 않을 수 있습니다. 따라서 하나의 게임 라이선스나 다른 Microsoft Store 콘텐츠를 플레이할 수 있는 기기의 수를 제한하고 싶다면 Microsoft Store가 제공하는 다양한 라이선싱 모델에 익숙해지는 것이 중요합니다. 자세한 내용은 게임용 제품 공유 모델을 참조하세요.
마지막 수정일 2026년 8월 24일