Launcher / Как интегрировать лаунчер со Steam
  На главную

Launcher

Как интегрировать лаунчер со Steam

Как это работает

Кросс-платформенный запуск

Вы можете интегрировать вашу игру с лаунчером в Steam. Это позволяет распространять другие ваши игры, опубликованные на Steam, через лаунчер.

Если ваш лаунчер интегрирован в Steam, то при первом запуске из Steam он устанавливается на компьютер пользователя как отдельное приложение. При последующих запусках поведение лаунчера зависит от того, каким способом он запущен:

  • Через Steam:
    • Лаунчер отображает только игры, для которых в Личном кабинете указан Steam AppID.
    • Кнопка Buy ведет на страницу игры в приложении Steam.
    • Кнопка Install запускает установку игры через Steam SDK в приложении Steam.
    • Лаунчер переадресовывает пользователя в Steam для покупки внутриигровых товаров.
    • Если вы включили магазин в настройках проекта лаунчера для конкретной игры и указали ее Steam AppID, то лаунчер получит информацию о доступных для этой игры DLC в Steam и создаст карточки для этих DLC в магазине Xsolla Launcher. При нажатии на кнопку Buy на карточке пользователь будет переадресован на страницу этого товара в приложении Steam.
    • Xsolla Login автоматически создает учетную запись пользователя в экосистеме Иксоллы, используя данные пользователя из Steam. Таким образом вы можете видеть всех пользователей лаунчера в Личном кабинете в базе данных Xsolla Login. Пользователь может использовать эту же учетную запись при запуске лаунчера не через Steam и покупать внутриигровые товары через магазин Лаунчера Иксоллы. Тогда даже при запуске из Steam вы можете проверять наличие у пользователя товаров, купленных через магазин Лаунчера Иксоллы с помощью методов API Иксоллы.
    • Если пользователь нажмет Play не в той игре, через которую запущен лаунчер, лаунчер закроется и запустится через выбранную игру в Steam в фоновом режиме. Лаунчер сразу запустит игру без показа UI лаунчера. После закрытия игры пользователем, UI лаунчера отобразится.

  • Как самостоятельное приложение через исполняемый файл лаунчера или его ярлык на рабочем столе:
    • Лаунчер отображает все игры, добавленные в проект лаунчера, вне зависимости от того, указаны ли для них Steam AppID.
Примечание
Для каждой игры в Личном кабинете может быть выбран только один способ запуска: через Steam или автономно. Если вы хотите, чтобы оба способа запуска были доступны пользователю, необходимо создать 2 проекта в Личном кабинете и добавить их в лаунчер.
    • В магазине Xsolla Launcher отображаются внутриигровые товары, которые были добавлены в него через Личный кабинет.
Примечание
Если вы продаете одни и те же товары через магазины Steam и магазин Xsolla Launcher, их цены должны быть одинаковыми, так как это требование политики Steam.
    • Лаунчер имеет доступ к информации о локально установленных играх через Steam. Если игра, распространяемая через Steam, локально установлена, то вместо кнопки Buy будет отображена кнопка Play. При нажатии пользователем кнопки Play лаунчер перезапустится через Steam.

Предварительные действия

Чтобы настроить интеграцию со Steam, вам потребуются:

  • Steam AppID;
  • аккаунт и приложение игры в Steamworks;
  • сборка игры для публикации в Steam;
  • готовый лаунчер, настроенный в Личном кабинете.

Вы можете найти ваш Steam AppID в панели администратора в Steamworks. Перейдите в раздел Steamworks > App Admin и вы увидите Steam AppID в скобках рядом с названием проекта.

Интеграция

Настройка платформы Steam и получение конфигурационных файлов

  1. Откройте проект в Личном кабинете
  2. Нажмите Launcher в боковом меню.
  3. Найдите нужный лаунчер на дашборде и нажмите Редактировать.
  4. Перейдите в раздел Настройки и нажмите Set up справа от логотипа платформы Steam.
  5. Введите ваш Steam Web API Key.
  6. Введите Steam App ID вашей игры.
  7. Нажмите Скачать хост лаунчера, чтобы скачать архив LauncherHost.zip для Windows или macOS.
  8. Нажмите Скачать конфигурационные файлы, чтобы скачать конфигурационные файлы игры.
  9. Перейдите на вкладку Launcher behavior и выберите, что лаунчер должен делать при запуске игры из Steam (опционально):
    • запустить лаунчер (по умолчанию);
    • запустить игру.
Примечание
Пользователь в любом случае увидит лаунчер после закрытия игры.
  1. Перейдите на вкладку User login и выберите способ аутентификации (опционально):
    • Автоматически c помощью аккаунта Steam (по умолчанию).
    • Вручную с помощью виджета авторизации. Виджет использует вариант авторизации, выбранный при создании лаунчера.

Генерация и скачивание установщика лаунчера

Воспользуйтесь инструкцией, чтобы создать и скачать установщик лаунчера.

Подготовка сборки игры для Steam

  1. Распакуйте архив LauncherHost.zip, который вы скачали на шаге 1 в любую директорию. Этот архив содержит папку GameBuild для подготовки лаунчера к загрузке в Steam. Файловая структура для Windows:
    • LauncherHost.exe — исполняемый файл для утилиты LauncherHost;
    • Qt5Core.dll, vcruntime140-140_1.dll, msvcp140-140_1.dll — служебные библиотеки для утилиты LauncherHost.exe;
    • installer — директория для установочного файла лаунчера.
  1. Файловая структура для MacOS:
    • LauncherHost — исполняемый файл для утилиты LauncherHost;
    • Frameworks — системная директория для библиотек утилиты LauncherHost;
    • installer — директория для установочного файла лаунчера.
  1. Создайте новую директорию в директории GameBuild.
  2. Скопируйте и вставьте сборку вашей игры в созданную директорию.
  3. Перейдите в раздел Game > Build > Executable files и укажите имена исполняемых файлов для Windows и macOS и относительные пути до них.
Примечание
Названия исполняемых файлов должны быть указаны с их расширениями.
  1. Скопируйте автономные установщики для Windows и macOS в директорию installer.
  2. Скопируйте и вставьте конфигурационные файлы Steam в директорию GameBuild
  3. Если ваша игра уже есть в Steam, замените имя файла LauncherHost.exe на имя исполняемого файла игры. Вы можете найти имя исполняемого файла в панели администратора Steamworks в поле Executable раздела Apps & Packages > All applications > Steamworks admin > Installation > General installation.
Примечание
Замените имя файла LauncherHost.exe на имя исполняемого файла игры для отладки интеграции, чтобы не изменять сам исполняемый файл.
  1. Включите использование ISteamApps::GetLaunchCommandLine() в вашей панели администратора Steamworks.
  1. Нажмите Prepare for Publishing, чтобы проверить, нет ли конфликтов между изменениями, внесенными вами и другими пользователями.

Загрузка сборки игры для Windows в Steam

  1. Войдите в ваш аккаунт в Steamworks и скачайте Steamworks SDK.
  2. Распакуйте архив с SDK.

  1. Перейдите в директорию steamworks_sdk_151\sdk\tools и распакуйте утилиту SteamPipeGUI для загрузки игровых сборок в Steam.

  1. Запустите утилиту SteamPipeGUI.

  1. Укажите следующие настройки:
    1. В поле App ID укажите Steam AppID вашей игры.
    2. В поле Build description введите короткое описание сборки, чтобы вы могли различать сборки в вашей панели администратора.
    3. В поле Steamworks SDK ContentBuilder Path укажите путь до Steamworks SDK ContentBuilder.
    4. В полях Steam Login и Steam Password укажите ваши логин и пароль от аккаунта Steamworks.
    1. Нажмите Add Depot. В поле Build Path укажите путь до директории GameBuild со сборкой игры и установочным файлом лаунчера.
    1. Нажмите Upload и дождитесь окончания загрузки.

Загрузка сборки игры для macOS в Steam

  1. Скопируйте файл launcher.dmg и вставьте его в директорию GameBuild/installer.
  2. Скопируйте файл hostArgs.json и вставьте его в директорию prepairingSteam.
  3. Загрузите файлы в Steam:
    1. Откройте распакованную директорию SteamSDK.

    1. Перейдите в директорию tools/scripts.
    2. Создайте скрипт app_build_<steam_id>.vdf, где <steam_id> — Steаm ID проекта, как показано в примере ниже. В строке 3 замените xxxxxx на Steam ID вашего продукта. В строке 11 замените yyyyyy на Depot ID — это Steam ID + 1.
Copy
Full screen
Small screen
    
    
    	"AppID" "xxxxxx" // your AppID
    	"Desc" "This is a simple build script 1" // internal description for this build
    
    	"ContentRoot" "../content/" // root content folder, relative to location of this file
    	"BuildOutput" "../output/" // build output folder for build logs and build cache files
    
    	"Depots"
    	{
    		"yyyyyy" // your DepotID
    		{
    			"FileMapping"
    			{
    				"LocalPath" "*" // all files from contentroot folder
    				"DepotPath" "." // mapped into the root of the depot
    				"recursive" "1" // include all subfolders
    			}
    		}
    	}
    }
    
      1. Сохраните изменения.
      2. Скопируйте содержимое директории GameBuild и вставьте его в директорию tools/ContentBuilder/Content.
      3. Перейдите в командной строке в директорию tools/ContentBuilder/builder_osx.
      4. Вызовите команду ./steamcmd.sh, чтобы запустить инициализацию и настройку.
      5. Вызовите следующую команду, чтобы запустить скрипт для загрузки сборки в Steam:
    Copy
    Full screen
    Small screen
      cmd.sh +login <username> <password> +run_app_build_http ../scripts/app_build_{Steam_id}.vdf
      

      Публикация сборки игры в Steamworks

      1. Войдите в панель администратора Steamworks.
      2. Нажмите Steamworks Admin, чтобы открыть страницу управления приложением.

      1. Перейдите в раздел SteamPipes > Builds.

      1. Создайте новую ветку или используйте ветку, созданную по умолчанию.
      2. Найдите загруженную сборку по ее ID, дате загрузки или описанию и поместите сборку в созданную ветку.
      3. Нажмите Preview change и посмотрите изменения.
      4. Нажмите Set Build Live Now.
      Была ли статья полезна?
      Спасибо!
      Что может сделать страницу еще лучше? Сообщение
      Жаль, что так произошло
      Расскажите, почему статья не была полезна. Сообщение
      Спасибо за обратную связь!
      Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
      Последнее обновление: 19 сентября 2024

      Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

      Сообщите о проблеме
      Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
      Укажите email-адрес, чтобы мы могли связаться с вами
      Спасибо за обратную связь!