Steamworks 문서
Steam DRM

개요

Steam DRM 래퍼는 Steam 플랫폼의 중요한 일부로서, 게임 소유권을 확인하고 게임 실행 전에 Steam을 실행하여 각종 Steamworks 기능이 제대로 작동하도록 합니다.

Steam DRM 래퍼 자체는 불법 복사 방지 솔루션이 아닙니다. Steam DRM 래퍼는 지극히 간단한 불법 복제(예: 모든 게임 파일을 다른 컴퓨터로 복사)를 막아주며 약간의 난독화가 적용되어 있으나, 공격자가 마음을 먹으면 쉽게 제거할 수 있습니다.

불법 복제판에서 사용할 수 없는 Steamworks 기능(예: 온라인 멀티플레이어, 도전 과제, 리더보드, 트레이딩 카드 및 기타)을 활용하여 합법적으로 구매한 게임의 가치를 높이는 것이 좋습니다.

Steam DRM 래퍼와 타 DRM 혹은 조작방지 솔루션 결합에 관한 자세한 내용은 Steam 래퍼에서 기타 DRM 사용하기에서 확인하세요.

자동 Steam DRM 래퍼

Steam 래퍼는 SteamPipe 업로드 스크립트에서 적용할 수 있으며, 로그인된 클라이언트를 통해 Steam 서버에 초기화 요청을 실행하고, HTTP를 통해 평문 실행 파일을 Steam 백엔드에 게시합니다. 래핑은 서버 측에서 실행하고 steamcmd가 래핑된 실행 파일을 다운로드합니다.

SteamPipe에 DRM 래핑을 실행하려면 스크립트 로그인 후 drm_wrap Steam 명령어를 실행하세요.
drm_wrap [appid] [input filename] [output filename] [toolname] [flags] [<destination>]

매개변수:
  • appid - 숫자 형식의 애플리케이션 ID
  • input filename - 평문 실행 파일의 상대 또는 절대 경로. 공백이 포함되어 있는 경로는 반드시 따옴표로 묶어 주세요.
  • output filename - 래핑 완료 후 실행 파일을 저장할 위치의 상대 또는 절대 경로.
  • toolname - 현재 지원되는 toolname 매개변수는 'drmtoolp'가 유일합니다.
  • flags 뒤쪽의 숫자 플래그로 도구의 동작을 규정하는 비트마스크.
    • 0 - 일반 래핑(최대한의 보호)
    • 6 - 호환성 모드(난독화 해제)
    • 32 - 디버거 검사 건너뜀
    • 38 - 호환성 모드, 디버거 확인 건너뜀(최소한의 보호)
  • 대상, 선택적 매개변수 - '클라우드' 또는 '로컬'. 이제 현재 기본값은 '클라우드'입니다. 클라우드 설정 사용 시 문제가 발생하지 않는 한 '로컬' 설정은 필요하지 않습니다.

로그인하고 DRM 빌드를 적용하여 Steam에 빌드를 업로드하는 run_build.bat 스크립트의 예시(앱 ID가 480인 경우):
builder\steamcmd.exe +login mysteamaccount +drm_wrap 480 "D:\src\steamworkssdk\steamworksexample\release\steamworksexample.exe" "D:\src\steamworkssdk\tools\ContentBuilder\content\windows_content\SteamworksExample.exe" drmtoolp 0 +run_app_build ..\scripts\app_build_480.vdf +quit

수동 Steam DRM 래퍼

Steam 래퍼로 exe 파일을 빠르게 래핑하려면, Steamworks 앱 데이터 관리 페이지에서 게임의 주요 exe 파일을 래핑하세요.

  1. 앱 관리 페이지에서 DRM을 추가할 게임을 선택하세요.
  2. 앱 관리 페이지의 ‘기술 도구’ 섹션에서 ‘Steamworks 설정 편집’을 선택하세요.
  3. 보안 탭에서 DRM을 선택하세요.
  4. 게임의 주요 exe 파일을 업로드하세요. 도구 실행 옵션에 관한 자세한 내용은 아래의 자동 래퍼 항목을 참고하세요.
  5. exe 파일을 다시 본인의 컴퓨터에 다운로드하세요.
  6. exe 파일의 이름을 원래 이름으로 다시 변경하세요.
  7. 파일을 콘텐츠 도구 디포의 소스 위치에 복사하세요.
  8. 디포의 새 버전을 생성하세요.
  9. 디포를 로컬 콘텐츠 서버에서 테스트하세요.

Steam 래퍼에서 기타 DRM 사용하기

Steam 래퍼는 기타 DRM 솔루션과 함께 사용할 수 있으며 그렇게 하는 것이 좋습니다. 그러기 위해서는, 기타 DRM을 적용하기 전에 먼저 Steam 래퍼를 호환성 모드로 실행하세요. 래퍼를 먼저 실행해야 DRM 솔루션과 간섭이 일어나지 않습니다. 호환성 모드에서는 래퍼의 DRM 기능이 활성화되지 않습니다.

Steamworks 페이지의 드롭다운 메뉴에서 선택하거나 자동 drmtool에서 적절한 플래그를 사용하여 exe를 호환성 모드로 제출하세요.

자주 묻는 질문

질문: Steam 래퍼를 사용한 후에 C# 또는 .Net 게임이 실행되지 않습니다.
답변: Steam 래퍼는 .Net 애플리케이션을 지원하지 않습니다. DRM 래퍼를 사용하지 말고 SteamAPI_RestartAppIfNecessary를 사용하세요.

질문: Steam DRM 래퍼를 사용한 후에 게임이 실행되지 않습니다.
답변: Steam 래퍼를 사용하면 기타 DRM 도구가 작동하지 않을 수 있습니다. 충돌 가능성이 있으므로 Steam 래퍼에서 기타 DRM 사용하기페이지를 참조하세요.

질문: 새 빌드를 만들 때마다 exe 파일에 DRM을 적용해야 하나요?
답변: 네. 빌드를 공개하려는 경우에는 반드시 Steam 래퍼로 빌드를 래핑해야 합니다. 위에서 설명한 자동 Steam 래퍼로 프로세스를 자동화해 보세요.

질문: Steam DRM 래퍼를 적용한 후, 바이러스 백신 공급업체가 내 바이너리에 바이러스가 존재하는 것으로 감지했습니다. 어떻게 해야 하나요?
답변: DRM 주입 과정은 사용자의 바이너리를 수정하므로 바이러스에 감염된 상황과 동일한 진단이 내려질 수 있습니다. 바이러스 백신 공급업체에 문의하거나 Steam DRM 래퍼 대신 API를 사용하세요.