개요Steam 창작마당은 게임이나 애플리케이션 콘텐츠를 간편하게 저장, 정리, 분류, 평가, 다운로드할 수 있게 해주는 백 엔드 저장소와 프런트 엔드 웹 페이지입니다. Show 이 페이지에는 게임에 Steam 창작마당을 구현하기 위한 기술 세부 사항이 포함되어 있습니다. 게임에 Steam 창작마당을 통합하기에 앞서, Steam 창작마당 개요에서 활용할 수 있는 다양한 종류의 창작마당에 관한 정보 및 정의와 Steam에서 제공하는 도구를 최대한 활용하는 방법을 확인하시기 바랍니다. 일반적으로 고객은 게임을 구매할 때 귀하가 제공한 도구를 이용하여 모드 또는 전혀 새로운 콘텐츠를 제작할 것입니다. 그리고 제작한 콘텐츠를 귀하의 도구에 내장된 형태로 Steam 창작마당에 제출할 것입니다. 그러면 Steam 커뮤니티의 Steam 창작마당을 통해 다른 고객들도 해당 아이템을 탐색, 분류, 평가하고 자신의 게임에 추가할 아이템으로 구독할 수 있습니다. 이러한 아이템은 마지막으로 Steam을 통해 다운로드됩니다. 게임 안에서 ISteamUGC::ItemInstalled_t 콜백을 등록했다면, ISteamUGC::GetItemInstallInfo를 호출하여 설치 경로를 불러온 다음 해당 폴더에서 바로 데이터를 읽을 수 있습니다. 게임은 새 콘텐츠를 게임과 콘텐츠 결과물에 대해 적절한 한도 내에서 인식하게 됩니다. Steam 창작마당에서 활용할 수 있는 다양한 종류의 창작마당에 관한 정보 및 정의와 Steam에서 제공하는 도구를 최대한 활용하는 방법을 확인하시기 바랍니다. Steam 창작마당 표시 관리Steam 창작마당은 Steam이 호스팅하는 웹사이트로서 공유 콘텐츠를 열거하고, 커뮤니티를 통해 보여지는 콘텐츠에 사용자가 투표하거나 의견을 제시할 수 있게 합니다. 기본적으로 애플리케이션은 창작마당에 공개되지 않도록 설정되어 있습니다. 이는 창작마당을 공개로 설정하지 않는 이상 Steam 창작마당 포털을 통해
공유할 예정이 없는 콘텐츠가 공개되는 것을 예방합니다.
참고: 표시 상태를 모두에게 공개로 변경하려면 로고, 제목, 설명, 콘텐츠를 공개할 하나 이상의 아이템을 포함한 창작마당 체크리스트를 작성해야 합니다. 기술 개요사용자 생성 콘텐츠의 공유 및 사용 과정은 Steamworks SDK에 있는 ISteamUGC API에 내장되어 있습니다. 이 메서드로 Steam 창작마당이나 앱 내에 있는 창작마당 아이템 콘텐츠를 공유할 수 있습니다. 창작마당 API는 반드시 예시: SteamAPICall_t hSteamAPICall = SteamUGC()->CreateItem( SteamUtils()->GetAppID(), k_EWorkshopFileTypeMicrotransaction ); 게임 혹은 애플리케이션을 위한 IStreamUGC 활성화창작마당 아이템을 Steamworks 백엔드에 업로드하려면 먼저 Steam Cloud 할당 및 ISteamUGC API 활성화에 해당하는 두 가지 구성을 설정해야 합니다. Steam Cloud 기능은 창작마당 아이템과 연관된 미리보기 이미지의 저장에 사용됩니다. Steam Cloud 할당은 다음 단계를 통해 구성할 수 있습니다.
다음 단계를 진행하면 ISteamUGC API를 활성화할 수 있습니다.
설정이 완료되면 API를 통해 창작마당 콘텐츠를 업로드할 수 있습니다. 콘텐츠 생성 및 업로드창작마당 콘텐츠를 생성하고 업로드하는 절차는 아래의 순서도와 같이 간단하고 반복적입니다. 창작마당 아이템 생성
창작마당 아이템 업로드
추가 사항
콘텐츠 사용창작마당 콘텐츠 사용은 아이템 구독과 아이템 설치의 두 가지 카테고리로 나뉩니다. 아이템 구독창작마당 아이템의 구독은 대부분 Steam 창작마당 포털을 통해 이루어집니다. 사용자들은 모든 게임과 애플리케이션에 잘 알려진 창작마당 사이트에서 정기적으로 아이템을 구독하고 발견할 수 있습니다. ISteamUGC는 창작마당 아이템을 프로그래밍 방식으로 구독하고 구독 해지하는 두 가지 메서드를 제공하여 게임 내 아이템의 구독 관리를 지원합니다.
사용자의 구독 아이템을 통해 열거되는 두 개의 메서드가 더 있습니다.
외부 구독 작업에 대한 알림 수신게임 내 알림은 사용자가 다양한 매커니즘(예:ISteamUGC, Steam 창작마당 웹사이트)을 통해 파일을 구독 또는 구독 해지한 경우에 수신할 수 있습니다.
아이템 설치아이템 구독 정보가 알려지면 남은 소비 메서드를 활용할 수 있습니다. 이 메서드는 아이템 다운로드 및 설치 상태에 대한 정보를 게임에 제공합니다. 창작마당 아이템 다운로드는 Steam 클라이언트를 통해 실행되고 다음 규정에 따라 자동으로 이행됩니다.
참고: Steam 클라이언트의 게임 파일 무결성 확인 기능도 창작마당 아이템을 다운로드합니다. 게임은 새로 구독한 콘텐츠가 다운로드 및 설치되기 전에 시작되므로 나머지 소비 메서드는 설치 과정의 모니터링 및 관리를 지원하기 위한 것입니다. 설치 상태를 실시간으로 확인하기 위해 게임 내 아이템을 구독하는 데도 이용할 수 있습니다. 창작마당 아이템의 상태
창작마당 아이템의 다운로드 진행 상황
창작마당 아이템 다운로드에 우선순위를 부여하거나 우선순위를 높입니다.
창작마당 아이템의 로컬 사본 관련 정보 불러오기
창작마당 아이템이 설치되거나 업데이트될 때 알림
콘텐츠 쿼리ISteamUGC 인터페이스는 Steam 안의 다양한 UGC(예: 창작마당 아이템, 스크린샷, 동영상 및 기타)를 열거하는 유동적인 수단을 제공합니다.
결과 페이징각 쿼리마다 최대 50개의 결과가 반환됩니다. 더 많은 결과를 페이징하려면 플레이타임 트래킹창작마당 아이템의 플레이 시간을 트래킹하려면 트래킹하려는 아이템의 ID와 함께
ISteamUGC::StartPlaytimeTracking을 호출하면 됩니다. 플레이에서 아이템이 제거되면 트래킹을 중지할 아이템의 ID와 함께 ISteamUGC::StopPlaytimeTracking을 호출하거나 ISteamUGC::StopPlaytimeTrackingForAllItems를 호출하여 모든 아이템의 플레이타임 트래킹
중지할 수 있습니다. ISteamUGC::CreateQueryAllUGCRequest 쿼리의 다양한 플레이타임 트래킹을 통해 아이템을 정리할 수 있습니다. 다음은 사용 가능한 플레이타임 기반의 쿼리입니다.
창작마당 아이템 콘텐츠 삭제ISteamUGC::DeleteItem을 호출하여 창작마당 아이템을 삭제할 수 있습니다. 사용자에게 확인 안내가 없으며 되돌릴 수 없으니 주의하시기 바랍니다. Steamworks 예시 – SpaceWar 통합Steamworks SDK와 함께 실행되는 Steamworks API Example Application (SpaceWar)는 ISteamUGC API의 하위 집합을 보여줍니다.
창작마당 사용 약관창작마당 아이템은 기여자가 Steam 창작마당 사용권 약관에 동의할 때까지 기본적으로 숨겨져 있습니다. 기여자가 아이템을 간편하게 게시하도록 지원하려면 다음의 절차를 따르세요.
이렇게 하면 작성자가 창작마당 페이지로 이동하여 아이템을 확인하고 필요한 경우 추가로 구성할 수 있는 이점이 있으며 사용자가 Steam 창작마당 사용 약관을 편하게 읽고 수락할 수 있습니다. 웹 API이러한 메서드와 더불어 유사한 기능을 제공하는 웹 API 인터페이스 또는 커뮤니티 기반의 필터링 API로 모든 공용 콘텐츠를 열거할 수 있습니다. 웹 API 목록에 있는 ISteamRemoteStorage 인터페이스에 대한 문서를 참조하시기 바랍니다. 전용 게임 서버게임 서버로 아이템을 다운로드 및 설치할 수 있습니다.
SteamCmd 통합ISteamUGC API와 함께 steamcmd.exe 명령줄 도구를 이용하면 창작마당 아이템을 테스트용으로 생성 및 업데이트할 수 있습니다. 이 방법은 이 도구에서 사용자가 자신의 Steam 로그인 정보를 입력해야 하므로(권장하지 않음) 오직 테스트 목적으로만 사용해야 합니다. Steamcmd.exe로 새 Steam 창작마당 아이템을 생성하려면 먼저 VDF 파일을 생성해야 합니다. VDF는 다음의 키를 포함한 일반 텍스트 파일입니다. "workshopitem" { "appid" "480" "publishedfileid" "5674" "contentfolder" "D:\\Content\\workshopitem" "previewfile" "D:\\Content\\preview.jpg" "visibility" "0" "title" "Team Fortress Green Hat" "description" "A green hat for Team Fortress" "changenote" "Version 1.2" } 참고:
일단 VDF가 생성되면 steamcmd.exe를 steamcmd.exe +login myLoginName myPassword +workshop_build_item workshop_green_hat.vdf +quit 명령이 성공하면 VDF의 오류와 로깅대부분의 ISteamUGC 메서드는 부울 값을 반환합니다. 특정 오류에 대한 추가 정보는 다음 여러 위치에서 검토할 수 있습니다.
자주 묻는 질문질문: 다른 애플리케이션에서 내 게임의 창작마당에 콘텐츠를 게시할 수 있나요?예. 다른 애플리케이션의 편집 또는 게시 도구를 기본 애플리케이션의 창작마당으로 구성하여 해당 편집 애플리케이션의 콘텐츠를 수락할 수 있습니다. 이를 구성하려면 창작마당 구성 섹션의 기본 애플리케이션으로 이동하여 페이지 맨 아래로 스크롤하세요. 다른 애플리케이션의 앱 ID를 '앱 게시 권한' 아래의 필드에 입력한 후 '추가'를 클릭하세요. SteamWorks 설정이 게시되면 편집 애플리케이션에서 기본 애플리케이션의 창작마당에 콘텐츠를 게시할 수 있습니다. |