Publishing game to Steam

Home  /  Game Development  /  Publishing game to Steam

SteamSDK

  1. cкачиваем Steam SDK и разархивируем на диск D (нужно, чтобы путь к папке не содержал русских букв)
  2. в папке D:\sdk\tools\ContentBuilder\content создаем папки Windows и Linux, а затем кидаем туда соответствующие билды
  3. в папке D:\sdk\tools\ContentBuilder\scripts есть два текстовых файла. В названиях этих файлов и в них самих меняем 1000 на ID приложения (приложение уже должно  быть зарегистрировано в Steam), а 1001 — на ID хранилища (обычно на 1 больше, чем ID приложения)
  4. если загружаем сборки для Windows и Linux, то дублируем файл depot_build и в него вписываем ID второго хранилища, которое заранее нужно создать и опубликовать
  5. итого, имеем один файл app_build и два файла depot_build, в которых в строке ContentRoot задаем путь к сборкам
  6. в папке D:\sdk\tools\ContentBuilder\builder запустить steamcmd и ввести login [логин], [пароль], [код], присланный на почту
  7. вводим run_app_build D:\sdk\tools\ContentBuilder\scripts\app_build_1000.vdf

Steamworks

  1. в Изменить настройки приложения->SteamPipe -> Сборки устанавливаем последнюю сборку как default
  2. если мы загрузили билды Windows и Linux, то их хранилища объединить в одну сборку и пометить ее как default
  3. в Изменить настройки приложения->Установка->Общее настроить способ запуска для обоих билдов
  4. в Изменить настройки приложения->Приложение->Общие и в Изменить страницу в магазине отметить поддерживаемые ОС
  5. в Все связанные комплекты..->Комплекты->Включенные хранилища должны быть включены два хранилища — с билдом Windows и Linux

Обновление

  1. повторяем шаги 2, 6, 7 из SteamSDK
  2. повторяем шаг 1 из Steamworks
  3. после перезапуска Steam начнется обновление игры

app_build_XXXXX0:

"appbuild"
{
    "appid" "XXXXX0"
    "desc" "Your build description here" // description for this build
    "buildoutput" "..\output\" // build output folder for .log, .csm & .csd files, relative to location of this file
    "contentroot" "..\content\" // root content folder, relative to location of this file
    "setlive"   "" // branch to set live after successful build, non if empty
    "preview" "0" // to enable preview builds
    "local" ""  // set to flie path of local content server 
    
    "depots"
    {
        "XXXXX1" "depot_build_XXXXX1.vdf"
        "XXXXX2" "depot_build_XXXXX2.vdf"
    }
}

depot_build_XXXXX1 (Windows):

"DepotBuildConfig"
{
    // Set your assigned depot ID here
    "DepotID" "XXXXX1"

    // Set a root for all content.
    // All relative paths specified below (LocalPath in FileMapping entries, and FileExclusion paths)
    // will be resolved relative to this root.
    // If you don't define ContentRoot, then it will be assumed to be
    // the location of this script file, which probably isn't what you want
    "ContentRoot"   "D:\sdk\tools\ContentBuilder\content\Windows"

    // include all files recursivley
  "FileMapping"
  {
    // This can be a full path, or a path relative to ContentRoot
    "LocalPath" "*"
    
    // This is a path relative to the install folder of your game
    "DepotPath" "."
    
    // If LocalPath contains wildcards, setting this means that all
    // matching files within subdirectories of LocalPath will also
    // be included.
    "recursive" "1"
  }

    // but exclude all symbol files  
    // This can be a full path, or a path relative to ContentRoot
  "FileExclusion" "*.pdb"
}

depot_build_XXXXX2 (Linux):

Дублируем предыдущий файл, вместо XXXXX1 пишем XXXXX2 и путь меняем на D:\sdk\tools\ContentBuilder\content\Linux

Comments are closed.