Как интегрировать лаунчер со 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 и получение конфигурационных файлов
- Откройте проект в Личном кабинете
- Нажмите Launcher в боковом меню.
- Найдите нужный лаунчер на дашборде и нажмите Редактировать.
- Перейдите в раздел Настройки и нажмите Set upсправа от логотипа платформы Steam.
- Введите ваш Steam Web API Key
- Введите Steam App ID вашей игры
- Нажмите Скачать хост лаунчера, чтобы скачать архив
LauncherHost.zip
для Windows или macOS - Нажмите Скачать конфигурационные файлы, чтобы скачать конфигурационные файлы игры.
- Перейдите на вкладку Launcher behavior и выберите, что лаунчер должен делать при запуске игры из Steam (опционально):
- запустить лаунчер (по умолчанию);
- запустить игру.
Примечание
Пользователь в любом случае увидит лаунчер после закрытия игры.
- Перейдите на вкладку User login и выберите способ аутентификации (опционально):
- Автоматически c помощью аккаунта Steam (по умолчанию).
- Вручную с помощью виджета авторизации. Виджет использует вариант авторизации, выбранный при создании лаунчера.
Генерация и скачивание установщика лаунчера
Воспользуйтесь инструкцией, чтобы создать и скачать установщик лаунчера.Подготовка сборки игры для Steam
- Распакуйте архив
LauncherHost.zip
, который вы скачали на шаге 1 в любую директорию. Этот архив содержит папкуGameBuild
для подготовки лаунчера к загрузке в Steam.Файловая структура для Windows:LauncherHost.exe
— исполняемый файл для утилитыLauncherHost
;Qt5Core.dll
,vcruntime140-140_1.dll
,msvcp140-140_1.dll
— служебные библиотеки для утилитыLauncherHost.exe
;installer
— директория для установочного файла лаунчера.
- Файловая структура для MacOS:
LauncherHost
— исполняемый файл для утилитыLauncherHost
;Frameworks
— системная директория для библиотек утилитыLauncherHost
;installer
— директория для установочного файла лаунчера.
- Создайте новую директорию в директории
GameBuild
. - Скопируйте и вставьте сборку вашей игры в созданную директорию.
- Перейдите в раздел Game > Build > Executable files и укажите имена исполняемых файлов для Windows и macOS и относительные пути до них.
Примечание
Названия исполняемых файлов должны быть указаны с их расширениями.
- Скопируйте автономные установщики для Windows и macOS в директорию installer.
- Скопируйте и вставьте конфигурационные файлы Steam в директорию
GameBuild
- Если ваша игра уже есть в Steam, замените имя файла
LauncherHost.exe
на имя исполняемого файла игры. Вы можете найти имя исполняемого файла в панели администратора Steamworks в поле Executable раздела Apps & Packages > All applications > Steamworks admin > Installation > General installation.
Примечание
Замените имя файла
LauncherHost.exe
на имя исполняемого файла игры для отладки интеграции, чтобы не изменять сам исполняемый файл.- Включите использование
ISteamApps::GetLaunchCommandLine()
в вашей панели администратора Steamworks.
- Нажмите Prepare for Publishing, чтобы проверить, нет ли конфликтов между изменениями, внесенными вами и другими пользователями.
Загрузка сборки игры для Windows в Steam
- Войдите в ваш аккаунт в Steamworks и скачайте Steamworks SDK.
- Распакуйте архив с SDK.
- Перейдите в директорию
steamworks_sdk_151\sdk\tools
и распакуйте утилитуSteamPipeGUI
для загрузки игровых сборок в Steam.
- Запустите утилиту
SteamPipeGUI
.
- Укажите следующие настройки:
- В поле App ID укажите Steam AppID вашей игры.
- В поле Build description введите короткое описание сборки, чтобы вы могли различать сборки в вашей панели администратора.
- В поле Steamworks SDK ContentBuilder Path укажите путь до Steamworks SDK ContentBuilder.
- В полях Steam Login и Steam Password укажите ваши логин и пароль от аккаунта Steamworks.
- Нажмите Add Depot. В поле Build Path укажите путь до директории GameBuild со сборкой игры и установочным файлом лаунчера.
- Нажмите Upload и дождитесь окончания загрузки.
Загрузка сборки игры для macOS в Steam
- Скопируйте файл
launcher.dmg
и вставьте его в директориюGameBuild/installer
. - Скопируйте файл
hostArgs.json
и вставьте его в директориюprepairingSteam
. - Загрузите файлы в Steam:
- Откройте распакованную директорию
SteamSDK
.
- Откройте распакованную директорию
- Перейдите в директорию
tools/scripts
. - Создайте скрипт
app_build_<steam_id>.vdf
, где<steam_id>
— Steаm ID проекта, как показано в примере ниже. В строке 3 заменитеxxxxxx
на Steam ID вашего продукта. В строке 11 заменитеyyyyyy
на Depot ID — это Steam ID + 1.
- Перейдите в директорию
Copy
"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
}
}
}
}
- Сохраните изменения.
- Скопируйте содержимое директории
GameBuild
и вставьте его в директориюtools/ContentBuilder/Content
. - Перейдите в командной строке в директорию
tools/ContentBuilder/builder_osx
. - Вызовите команду
./steamcmd.sh
, чтобы запустить инициализацию и настройку. - Вызовите следующую команду, чтобы запустить скрипт для загрузки сборки в Steam:
Copy
cmd.sh +login <username> <password> +run_app_build_http ../scripts/app_build_{Steam_id}.vdf
Публикация сборки игры в Steamworks
- Войдите в панель администратора Steamworks.
- Нажмите Steamworks Admin, чтобы открыть страницу управления приложением.
- Перейдите в раздел SteamPipes > Builds.
- Создайте новую ветку или используйте ветку, созданную по умолчанию.
- Найдите загруженную сборку по ее ID, дате загрузки или описанию и поместите сборку в созданную ветку.
- Нажмите Preview change и посмотрите изменения.
- Нажмите Set Build Live Now.
Была ли статья полезна?
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.