Лаунчер

Лаунчер Иксолла (Xsolla Launcher) позволяет разработчикам игр доставлять и обновлять продукт, а также предлагает пользователям удобный интерфейс взаимодействия с игрой через настольное приложение. Решение включает в себя:

  • продажу виртуальных и физических товаров в полноэкранном магазине;
  • встроенный инструмент авторизации с возможностью кастомизации интерфейса и способов аутентификации;
  • кастомизацию интерфейса лаунчера;
  • поддержку платформы Windows;
  • локализацию пользовательского интерфейса на 20 языков;
  • автоматическую доставку обновлений лаунчера пользователям;
  • доставку пользователям игр и обновлений по сети P2P/CDN;
  • поддержку нескольких игр;
  • покупку игры в лаунчере с автоматической активацией ключа;
  • настройку лаунчера из Личного кабинета;
  • управление новостями и баннерами;
  • список друзей из социальных сетей;
  • список внутриигровых друзей;
  • выбор пользователем региона игры;
  • интеграцию игр с платформами партнеров.

Note: Если вы уже используете продукты Иксоллы и хотите интегрировать Лаунчер, пожалуйста, обратитесь к аккаунт-менеджеру проекта.

Сценарий интеграции

  1. Зарегистрируйтесь в Личном кабинете Иксолла.
  2. Создайте проект.
  3. Настройте лаунчер.
  4. Кастомизируйте интерфейс лаунчера.
  5. Сгенерируйте установочный файл лаунчера и архив с его сборкой.
  6. Загрузите сборку игры на сервер обновлений Иксоллы.
  7. Раздайте новым пользователям установочный файл лаунчера.

Создание проекта

  1. Перейдите в раздел Проекты и нажмите кнопку Создать проект.
  2. В настройках проекта:
    1. Добавьте Название проекта.
    2. Укажите ссылку на Веб-сайт игры.

Note: Проект в Личном кабинете соответствует одной вашей игре.

Настройка лаунчера

Создайте лаунчер в Личном кабинете:

  1. Добавьте название лаунчера.
  2. Выберите языки пользовательского интерфейса.
  3. Выберите один из предустановленных вариантов авторизации или создайте новый, указав его название.
  4. Добавьте один или несколько проектов, настроенных в Личном кабинете.

После завершения настроек в Личном кабинете, выполните следующие шаги:

  1. Склонируйте репозиторий лаунчера с GitHub.
  2. Перейдите в папку launcher/win склонированного репозитория и в файле config.json укажите значения объектов.

ПРИМЕР

{
   "launcher_project_id": "8c91ecf3-e7b0-46a8-aaf7-4c419ef8ef4b",
   "login_project_id": "bd2e1104-5494-48f9-ac50-98f230062df1",
   "callback_url": "https://callback_url.com",
   "product_name": "Launcher",
   "link_support": "https://support_example.com",
   "link_community": "https://community_example.com",
   "default_p2p_enabled": true,
   "game_autoupdate": false,
   "hide_peer_seed_info": false,
   "hide_email": false,
   "build_number": 1
}

Кастомизация интерфейса

Для изменения изображений, шрифтов и цветового решения лаунчера:

  1. Перейдите в папку launcher/win склонированного репозитория.
  2. Укажите значения объектов в файле UIStyle.json.

ПРИМЕР

"error_window": {
  "bg_color": "#313131",
  "text_color": "white",
  "bottom_line_color": "white"
},
"error_report_window": {
  "bg_color": "#313131",
  "header_text_color": "white",
  "error_text_color": "white",
  "send_error_text_color": "#80FFFFFF",
  "bottom_line_color": "white"
},
"game_page": [
  {
    "game_id": 4,
    "bg_game_image": "img/Backgrounds/game_screen_bg.jpg",
    "version_text_color": "#7FFFFFFF",
    "social_text_color": "#7FFFFFFF"
  },
  {
    "game_id": 6,
    "bg_game_image": "img/Backgrounds/div_background.jpg",
    "version_text_color": "#7FFFFFFF",
    "social_text_color": "#7FFFFFFF"
  }
]

Для кастомизации магазина внутри лаунчера используйте файл config.json.

Замена изображений

Изображения расположены в папке img и сгруппированы по разделам лаунчера (Background, LoginWindow и т.д.). Чтобы добавить свое изображение, замените файл с таким же именем или загрузите файл с новым именем и измените ссылку в UIStyle.json.

ПРИМЕР

Для использования изображения my_custom_bg_image.jpg в качестве фона:

  1. Разместите изображение в папке img/LoginWindow.
  2. В файле UIStyle.json замените свойство JSON-объекта login_window
  3. “bg_image”: “img/LoginWindow/login_background.png” на “bg_image”:“img/LoginWindow/my_custom_image.jpg”.

Note: Для адаптации лаунчера под 4К-мониторы рекомендуется использовать изображения в формате 1х и 2х. Изображения в формате 2x в названии содержат “@2x” перед расширением (например, login_background@2x.png).

Замена шрифтов

В лаунчере используются стандартные шрифты семейства Lato: “Regular”, “Medium”, “Bold” и “Black”. Файлы шрифтов расположены в папке fonts.

Для замены шрифта:

  1. Добавьте в папку fonts новый шрифт.
  2. В файле UIStyle.json укажите путь к новому шрифту в следующих строках:

"fonts": {
    "regular": "fonts/Lato-Regular.ttf",
    "medium": "fonts/Lato-Medium.ttf",
    "bold": "fonts/Lato-Bold.ttf",
    "black": "fonts/Lato-Black.ttf"
}

ПРИМЕР

Для замены шрифта Lato-Black.ttf на My_Own_Cool_Font.ttf:

  1. В папку fonts добавьте файл шрифта My_Own_Cool_Font.ttf.
  2. В файле UIStyle.json укажите путь к шрифту My_Own_Cool_Font.ttf следующим образом:

"fonts": {
        "regular": "fonts/Lato-Regular.ttf",
        "medium": "fonts/Lato-Medium.ttf",
        "bold": "fonts/Lato-Bold.ttf",
        "black": "fonts/My_Own_Cool_Font.fft"
}

Изменение цветов

Значения цветов элементов лаунчера сгруппированы по экранам и компонентам в файле UIStyle.json. Для изменения цвета компонента найдите соответствующий раздел в файле и отредактируйте значение свойства.

Допустимые форматы цвета:

  • SVG Color. Пример: “white”.
  • #RRGGBB. Пример: “#F13900”.
  • #AARRGGBB. Пример: “#40FFFFFF”.

ПРИМЕР

Для изменения фона экрана настроек на красный цвет:

  1. В файле UIStyle.json найдите компонент settings_screen.
  2. Отредактируйте значение свойства bg_color: “bg_color”: “#FF0000”

Кастомизация магазина

Чтобы кастомизировать внутриигровой магазин в лаунчере, добавьте массив объектов store в config.json. Вы можете изменять значения объектов, перечисленных в таблице.

Объект Описание
id ID проекта в Личном кабинете.
theme Цветовое решение магазина. Принимает значения ‘default’ и ‘dark’ (по умолчанию).
size Размер элементов в магазине. Принимает значения ‘small’, ‘medium’, ‘large’ (по умолчанию).
view Расположение элементов магазина в виде горизонтального или вертикального меню. Принимает значения ‘vertical_navigation’ и ‘horizontal_navigation’ (по умолчанию).

ПРИМЕР

"store": { "id" : 12345, "theme" : "default", "size" : "large", "view" : "horizontal_navigation" } 

Смена стандартного значка

Для запуска страницы конкретной игры в лаунчере, пользователь может добавить ярлык в меню Пуск. В качестве стандартного значка для ярлыка используется файл defaultIcon.ico, расположенный в папке img/GamesIcons.

Вы можете изменить стандартный значок одним из следующих способов:

  • Загрузить новое изображение в настройках проекта в Личном кабинете.
  • Загрузить в папку img/GamesIcons новый файл в формате {publisher_project_id}.ico, где {publisher_project_id} — ID вашего проекта в Личном кабинете.

Пример: значок 12345.ico для лаунчера, в который добавлен проект с ID ‘12345’.

Для полной кастомизации магазина в Лаунчере Иксолла отправьте UI Kit или Design Assets вашему аккаунт-менеджеру.

Генерация архива и установочного файла

Скрипт deploy.bat из папки scripts/win генерирует:

  • установочный файл лаунчера для раздачи новым пользователям;
  • архив со сборкой лаунчера для доставки пользователям обновлений.

Вы можете запустить скрипт deploy.bat одним из способов.

  • Двойным кликом по файлу скрипта. Сборка будет размещена в директории с клонированным проектом в папке target.
  • Из консоли с дополнительным ключом --out {directory}, где {directory} — путь для размещения сборки.

ПРИМЕР

deploy.bat --out C:/Target

Notice: Установочный файл необходимо заверить электронной подписью, подтвержденной сертификатом SSH256. Получите сертификат в одном из удостоверяющих центров: Thawte, Verisign/Symantec, Comodo and Digicert.
Note: Сгенерированный архив со сборкой лаунчера необходимо загрузить в Личный кабинет.

Загрузка сборки игры

Для загрузки сборки игры на сервер обновлений используется консольная утилита Build Loader.

Системные требования для Build Loader:

  • Операционная система: Windows 7, Windows 8, Windows 10 — 64-bit
  • Процессор (CPU): 1.6 ГГц
  • Свободный объем оперативной памяти (RAM): 100 Мб (или более)
  • Свободный объем жесткого диска: 150% от размера файла сборки игры

Build Loader принимает следующие аргументы:

  • --init — инициализация утилиты;
  • --update — отправка сборки игры на сервер;
  • --builds-list — получение списка сборок игры;
  • --descr {..} — передача описания сборки;
  • --api-key {..} — передача ключа API;
  • --game-path {..} — передача пути к сборке игры.

Чтобы загрузить сборку игры:

  1. Перейдите в раздел Настройки сборок в Личном кабинете.
  2. Скопируйте ключ API.
  3. Скачайте и установите Build Loader.
  4. Инициализируйте утилиту.
  5. Загрузите сборку игры на сервер.
  6. Разместите сборку игры на stage.
  7. Настройте файлы игры.

Инициализация Build Loader

Для инициализации утилиты передайте ранее скопированный ключ API и путь к сборке игры:

> xbuild_loader.exe --init --api-key {..} --game-path {..}

Note: Повторная инициализация параметров требуется в случае изменения их значений.

Загрузка на сервер

Для загрузки сборки игры на сервер укажите путь к сборке:

> xbuild_loader.exe --update --game-path {..}

Если параметр уже использовался при инициализации или предыдущей загрузке сборки, его можно опустить.

При первой загрузке сервер обновлений получает всю сборку игры, при следующих — патчи, сформированные Build Loader.

Размещение на stage

Сборки игры, загруженные на сервер, отображаются в Личном кабинете в разделе Настройки проектов > Настройки сборок > Список сборок.

Выберите stage для размещения сборки игры:

  • master: игра будет доступна конечным пользователям;
  • test: игра будет доступна только для тестирования.

Note: Для тестирования игры запустите лаунчер с параметром --game_stage test в консоли. Например: launcher.exe --game_stage test.

Настройка файлов игры

Для корректной загрузки игр из лаунчера необходимо настроить и инициализировать файлы загрузки.

  1. В Личном кабинете в разделе Настройки сборок перейдите к блоку Настройки файлов игры.
  2. Введите название и расширение файла, который запускает игру (например, coolgame.exe).
  3. Укажите путь установки игры.
  4. Загрузите распространяемые файлы, необходимые для запуска игры (например, Microsoft Visual C++ 2017 Redistributable).

Лаунчер передает игре следующие параметры:

  • --xsolla-locale {locale}: язык интерфейса;
  • --xsolla-login-token {token}: Xsolla Login JWT (JSON Web Token);
  • --xsolla-playfab-token {token}: токен PlayFab.

Системные требования для лаунчера

Для оптимальной работы лаунчера компьютер конечного пользователя должен соответствовать следующим системным требованиям:

  • Операционная система: Windows 7, Windows 8, Windows 10 — 64-bit
  • Процессор (CPU): 1.6 ГГц
  • Свободный объем оперативной памяти (RAM): 300 Мб (или более)
  • Свободный объем жесткого диска: 180 Мб
  • Актуальная версия DirectX

Рецепты

Изучите наши рецепты, чтобы попробовать расширенные возможности Лаунчера:

Частые вопросы

В. Зачем использовать Лаунчер Иксолла, если я могу создать собственный?

О. Вы можете использовать Лаунчер, если не хотите тратить ресурсы и время на финальной стадии разработки или после завершения разработки игры.

В. Сколько стоит Лаунчер Иксолла?

О. Стоимость доступа к Лаунчеру уже включена в комиссию Иксоллы. Дополнительные расходы возможны при доставке игр и обновлений через CDN Иксоллы ($0.01/Гб игры). Однако за счет использования системы балансирования P2P расходы на доставку снижаются в среднем на 80%.

В. Должен ли лаунчер быть запущен на протяжении всей игры?

О. По умолчанию — да. После запуска игры лаунчер сворачивается в область уведомлений и не использует ресурсы компьютера. В процессе игры связи между ней и лаунчером нет, поэтому пользователь может завершить работу лаунчера самостоятельно.

В. Чем Лаунчер Иксолла отличается от Steam?

О. Лаунчер Иксолла выполняет функцию “моста” между платформой Steam и игрой.

В. Как доставлять обновления игры в Steam, если я использую Лаунчер Иксолла?

О. Вы можете полностью загрузить игру в Лаунчер, а затем отправить Steam. Либо используйте Лаунчер как инструмент доставки обновлений: загружайте только обновленные части игры, а затем отправляйте Steam.

В. Нужно ли поддерживать две разные сборки игры: не привязанную к платформе и для Steam?

О. Нет, двух сборок не понадобится. Если вы поддерживаете доставку игры с помощью нескольких платформ, Лаунчер позволит собрать данные пользователей в единую базу. Также Лаунчер поддерживает сквозную регистрацию: если пользователь запускает игру через Steam впервые, он не должен вводить свои данные. При этом пользователь может перейти на ваш сайт вне системы Steam, зайти, используя свой Steam OpenID, и стать членом вашего официального сообщества: писать на форумах, читать новости, находить новые игры и т.д.

В. Я пользуюсь инструментами Steam, в том числе их лаунчером, и не беспокоюсь о расходах на CDN. Что изменится, если я начну использовать Лаунчер Иксолла?

О. Вы можете использовать Лаунчер Иксолла в то время, как Steam будет платить за CDN. Просто загрузите игру в Steam с Лаунчером. Вы можете собирать базу данных пользователей, развивать коммуникацию с ними, а также изменять интерфейс запуска игры.

В. В Лаунчере Иксолла подключены CDN? Нужно ли связаться с компаниями, которые предоставляют CDN, для дополнительной интеграции? Можно ли использовать CDN компании, которая не входит в ваш список?

О. Иксолла использует следующие сети CDN: G-Core Labs, Akamai. Для использования CDN вам не нужно дополнительно связываться с компанией-поставщиком. Если вы хотите подключить другую CDN, обратитесь к аккаунт-менеджеру проекта.

В. Почему я не могу просто использовать Solid State Networks?

О. Основной продукт Solid State Network — CDN, поэтому их лаунчеры не предназначены для оптимизации расходов на CDN.

В. Поддерживает ли Лаунчер Иксолла межпроцессное взаимодействие (IPC)?

О. Сейчас нет, так как в Лаунчере нет функций, для которых оно требуется. По мере добавления новых функций, таких как онлайн-стриминг и игровой магазин в режиме overlay, будет добавлено и необходимое для них IPC-взаимодействие.

В. Как пользователи Лаунчера Иксолла могут получить доступ к играм? Можно ли распространять игры по подписке, купону или промокоду?

О. На данный момент доступ к играм предоставляется только по игровым ключам.

В. Могут ли пользователи Лаунчера Иксолла загружать обновления игры, если они не приобрели игровые ключи?

О. Нет. Пользователям, которые не приобрели ключи, игра и обновления будут недоступны.

В. Можно ли настроить P2P-соединение для компьютеров в одной локальной сети, чтобы данные передавались только внутри нее?

О. На данный момент такая возможность недоступна.

В. Поддерживает ли Лаунчер Иксолла уровни доступа? Например, “alpha”— для тестирования, “beta”— для передачи конечным пользователям.

О. Да, поддерживает. При загрузке билда игры вы можете разместить его на одном из stage: test (для тестирования) или master (для передачи конечным пользователям). Чтобы запустить лаунчер с играми, размещенными на stage=test, передайте параметр --game_stage test в консоли. Например: launcher.exe --game_stage test.

В. В списке игр в Лаунчере Иксолла отображаются все добавленные игры или только те, которые приобрел пользователь?

О. В списке отображаются все добавленные игры. Для купленных игр доступна кнопка Играть, для остальных — Купить.

В. Можно ли выдавать конкретным пользователям бесплатные игровые ключи? Как они смогут ими воспользоваться?

О. Да. Выгрузите игровые ключи из Личного кабинета и разошлите любым удобным для вас способом. Пользователи смогут активировать ключи в лаунчере.

В. Можно ли настроить автоматическую аутентификацию пользователей в игре при входе в лаунчер?

О. Да, такая настройка возможна. Для передачи данных пользователей из Лаунчера Иксолла в игру используется параметр --xsolla-login-token. Чтобы получить данные пользователей, необходимо декодировать значение параметра (см. рецепт).

В. Можно ли отправить пользователям ссылку на скачивание лаунчера, например, в инструкции по активации игрового ключа?

О. Ссылка на скачивание лаунчера не входит в инструкцию по активации ключа. Чтобы отправить ссылку отдельно:

  1. Сгенерируйте установочный файл.
  2. Загрузите установочный файл в настройках игровых ключей в Личном кабинете как дистрибутив для DRM Free.
После приобретения игры пользователи получат ссылку на скачивание дистрибутива.