ランチャー

ランチャーは、ビデオゲームを開発するパートナーのためのカスタマイズ可能な配信ツールです。仮想通貨からビデオストリーミングまでのモジュールを一元化しながら、コンテンツ配信コストを最適化する製品です。機能:

  • マルチゲームのサポート
  • いくつかのゲーム配信方法
  • ストアでの仮想アイテムと物品の販売
  • カスタマイズ可能なUIと認証方法を備えた組み込みログイン
  • カスタマイズ可能なランチャーUI
  • WindowsおよびmacOSで実行
  • 20言語にローカライズされたUI
  • ユーザーへのランチャー更新の自動配信
  • P2P / CDNゲームの配信と更新
  • エクソラパブリッシャーアカウントから構成可能
  • ニュースとバナーの管理
  • ユーザーはゲーム地域を選択できます
  • チャネリングパートナーブリッジ:事前に統合されたゲームプラットフォームへのゲームのシームレスな統合

ランチャーの技術的実装についての詳細はホワイトペーパーを参照してください。

Note: すでにいずれかのエクソラモジュールをインストールしている状態でランチャーの統合を希望する場合は、アカウントマネージャーにお問い合わせください。

統合フロー

  1. エクソラのパブリッシャーアカウントに登録。
  2. プロジェクトを作成
  3. ランチャーを設定
  4. ランチャーUIをカスタマイズ
  5. ランチャーのインストールファイルを生成して、アーカイブを構築。
  6. ビルドしたゲームをエクソラのアップデートサーバーへアップロード
  7. ランチャーのインストールファイルを新規ユーザーへ送信。

プロジェクトの作成

  1. まずプロジェクトを開き、新規プロジェクトの作成をクリック。
  2. 設定モードでは:
    1. プロジェクト名を追加。
    2. ゲームのウェブサイトへのリンクを設定。

Note: パブリッシャーアカウントのページはそれぞれ、1つのゲームに対応します。

ランチャーの設定

パブリッシャーアカウントにランチャーインスタンスを作成する方法:

  1. ランチャー名を設定。
  2. UIの言語を選択。
  3. 定義済みのログイン設定の一つを選択するか、名前を送信して独自のログイン設定を作成します。
  4. パブリッシャーアカウントで設定したプロジェクトを最低1つ追加。

パブリッシャーアカウントでランチャーの設定を確定した後、次の操作を行います:

  1. GitHub リポジトリからランチャーをクローンします。
  2. 必要なランチャーのバージョンが入っているクローンリポジトリのフォルダを選択します。Windows版の場合はlauncher/win、macOS版の場合は/launcher.app/Contents/MacOSに移動します。config.jsonファイルでオブジェクトの値を指定します。

Copy
Full screen
Small screen
{
   "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",
   "game_autoupdate": false,
   "hide_peer_seed_info": false,
   "hide_email": false,
   "build_number": 1
}

ランチャーUIのカスタマイズ

ランチャーUIをカスタマイズする方法は統合する製品のバージョンによって異なります。バージョンごとのカスタマイズパラメータの説明はリンクから利用できます。

アーカイブとインストーラーの生成

scripts/winディレクトリーからのdeploy.batスクリプトはユーザーへ自動更新配信のためのランチャービルドアーカイブを生成します。

deploy.batは次の方法で起動できます:

  • スクリプトファイルをダブルクリック - これによりビルドは、クローンしたフォルダ > ターゲットというサブフォルダーに移動します。
  • コマンドラインプロンプトから、追加の--out <directory>キーを使用します。<directory>はご希望するビルドのインストールパスです。

Copy
Full screen
Small screen
deploy.bat --out C:/Target

ランチャーのインストーラーを生成し、ユーザーに配信するためのリンクを取得するには:

  1. パブリッシャーアカウントでランチャー > 一般設定に移動して、Windows用のインストーラーへのリンクを生成するをクリックします。
  2. 表示されたウィンドウで、ZIPランチャーのビルドアーカイブとICOインストーラーのアイコンをアップロードします。生成するをクリックします。
  3. インストーラーが生成され、エクソラ証明書で署名され、エクソラCDNにアップロードされるのを待ちます。
  4. ウェブインストーラへのリンクをコピーして、ユーザーに配信してください。スタンドアロンインストーラへのリンクを取得するには、ドロップダウンメニューからスタンドアロンインストーラへのリンクを取得するを選択します。

Note: ウェブインストーラーは、スタンドアロンのインストーラーよりもディスク容量が少なくて済みますが、インターネット接続が必要です。スタンドアロンインストーラーはオフラインで使用できます。
Notice: ランチャーをエクソラCDN経由でのみユーザーに配信することをお勧めします。ランチャーを配信するために他のCDNを使用するには、アカウントマネージャーにお問い合わせください。

scripts/macOS/ディレクトリーからのdeploy.shスクリプトは次のものを生成します:

  • 新規ユーザーに送ることができるランチャーのインストーラー。
  • ユーザーへ自動的にアップデート配信のためのランチャーのビルドアーカイブ。
  • 一つのアプリファイル。

MacOSのセキュリティシステムがランチャービルドを安全なものとして識別するためには、次のことを行う必要があります:

  1. 開発者証明書でビルドに署名します。
  2. Appleにビルドを公証してもらいます。
署名と公証はdeploy.shスクリプト実行後に自動的に行われます。以下の手順に従って、ビルドへの署名の準備を行い、スクリプトを実行してください。

準備手順

アプリに署名して確認するには、次のものが必要です:

アプリ固有のパスワードの生成

  1. Apple IDに移動します。
  2. 二要素認証を渡します。
  3. 安全セクションに移動します。
  4. パスワードを生成するをクリックします。

  1. パスワードのラベルを入力して、作成するをクリックします。

証明書署名の取得

  1. キーチェーンアクセスアプリを開きます。
    1. キーチェーンアクセス>証明書アシスタントに移動し、証明書機関に証明書を要求するを選択します。

    1. 表示されるウィンドウにデータを入力し、ディスクに保存するを選択して、続くをクリックします。
  1. 証明書を保存するフォルダへのパスを指定して、保存するをクリックします。
  2. Apple 開発者に移動して、ログインします。
    1. 証明書、識別子およびプロファイルに移動して、証明書タブを開き、新しい証明書を追加します。

    1. 証明書タイプを開発者IDアプリケーションに設定し、続行するをクリックします。
    2. 生成された証明書を含むファイルを選択し、続行するを押します。
    3. ダウンロードをクリックして、開発者証明書をダウンロードします。
  1. ダウンロードしたファイルを開き、証明書をインストールします。
  2. ターミナルを開き、security find-identity -p basic -vコマンドを実行します。

バンドルIDの登録

  1. Apple開発者に移動します。
    1. 証明書、識別子、プロファイルに移動して、識別子タブを開き、識別子を追加します。

    1. アプリ IDタイプを選択して、続くをクリックします。
    2. アプリタイプをアプリに設定して、続くをクリックします。

    1. バンドルIDを挿入します。例えば:com.template.launcher続くをクリックします。
  1. Info.plist構成ファイルで次の編集を行います:
    1. CFBundleIdentifierパラメータの値をバンドル ID に設定します。
    2. CFBundleVersionCFBundleShortVersionStringパラメータの値をアプリバージョン番号に設定します。

Copy
Full screen
Small screen
<key>CFBundleIdentifier</key>
<string>com.template.launcher</string>
<key>CFBundleVersion</key>
<string>102</string>
<key>CFBundleShortVersionString</key>
<string>1.0.102</string>

スクリプトの実行

すべての準備が完了したら、以下のコマンドを実行します:

Copy
Full screen
Small screen
chmod +x deploy.sh
./deploy.sh --username <username> --password <password> --signature <signature> --teamid <teamid> --apppath <apppath> --appname <appname> --outpath <outpath>

コマンドライン引数:
  • apppath — 署名するランチャービルドへのパス。必須。デフォルトは../../launcher/macos
  • username — Appleの開発者アカウントのユーザー名。必須。例えば:j.smith@email.com
  • password — アプリ固有のパスワード。必須
  • appname — ランチャービルド名。省略可能。デフォルトはランチャー
  • signature — 証明書の署名。 必須。例えば:開発者IDアプリケーション:John Smith (JWZ3331234)
  • teamid — チームのID。必須。取得するには、xcrun altool --list-providers -u "AC_USERNAME" -p "AC_PASSWORD"コマンドを実行します。
  • bundleid — アプリケーションID、またはバンドルID。省略可能。デフォルトはcom.template.launcher
  • outpath — 署名されたAPPファイル、アーカイブ、DMG ランチャーのインストールファイルを置くディレクトリへのパス。省略可能。デフォルトは$apppath/../../target/macos
署名と公証の処理がエラーなく行われた場合、ターミナルにはこのメッセージが表示されます:

altoolが見つかりませんというエラーが出たら、xcrun altoolコマンドを実行してください。またエラーが返ってきた場合は、xcode-select -rコマンドを実行してください。

ゲームビルドのアップデート

ゲームビルドをアップデートサーバーへロードするときは、ビルドローダーというコマンドラインユーティリティーを使用します。 ビルドローダーシステムの要件:
  • Windows 7/8/10 64ビットOSまたはmacOS 10.14.0以上
  • 1.6 GHz CPU
  • 空きメモリの量が100MB
  • ディスク空き容量:1.5 × ビルドサイズ
ビルドローダーは以下のオプションを受け付けます:
  • --init — ユーティリティの初期化。
  • --update — ゲームビルドをサーバーに送信します。
  • --builds-list — ゲームビルドのリスト。
  • --descr <build-description> — ビルドの説明。
  • --api-key <API-key> — 一つのAPI キー。
  • --game-path <path-to-game>— ゲームビルドへのパスを指定します。
  • --chunk-size <chunk-size> — チャンクのサイズ - ゲームアーカイブを分割するパーツ。MBまたはGBにすることができます。許容値は10mbから5120mbまでまたは1gbから5gbまで、デフォルトは 5gbです。
  • --retry-timeout <timeout> — ファイルのアップロード試行間のタイムアウト(秒単位)。許容値は10から60まで、デフォルトは20です。
  • --retry-count <retry-count> — ファイルをアップロードするための試行回数。許容値は1から10まで、デフォルトは3です。
ゲームビルドをアップロードする場合。
  1. パブリッシャーアカウントのビルド設定を開く。
  2. APIキーをコピーする。
  3. ビルドローダーのダウンロードとインストールを実施。
  4. ユーティリティを初期化
  5. サーバーへゲームビルドをアップロードする。
  6. ゲームビルドをステージに配置する。
  7. ゲームファイルをセットアップする。

ビルドローダーの初期化

ユーティリティを初期化するには、以前にコピーしたAPIキーとパスをゲームビルドに渡す必要があります。
Copy
Full screen
Small screen
> build_loader.exe --init --api-key <api-key> --game-path <path-to-game>

Copy
Full screen
Small screen
> build_loader.exe --init --api-key E51DPZ486S9IUGVF43AH4T48QB7246OQ --game-path C:\Games\LastGameBuild

Copy
Full screen
Small screen
> build_loader --init --api-key <api-key> --game-path <path-to-game>

Copy
Full screen
Small screen
> build_loader --init --api-key E51DPZ486S9IUGVF43AH4T48QB7246OQ --game-path /Games/Yourgame

Note:
  • パラメータを変更したい場合を除き、ユーティリティを初期化する必要があるのは一回だけです。
  • ゲームビルドへのパスにはラテン文字しか含まれていない場合があります。

ゲームビルドをサーバーへアップロード

ゲームビルドをサーバーにアップロードするには、ビルドパスを指定してください。
Copy
Full screen
Small screen
> build_loader.exe --update --game-path <path-to-game>

Copy
Full screen
Small screen
    > build_loader.exe --update --game-path C:\Games\LastGameBuild

    Copy
    Full screen
    Small screen
    > build_loader --update --game-path <path-to-game>

    Copy
    Full screen
    Small screen
      > build_loader --update --game-path /Games/Yourgame

      ユーティリティを初期化するとき、または以前のビルドをアップロードするときにすでに使用している場合は、--game-pathパラメーターを省略できます。 初めてのアップロード中、アップデートサーバーはゲームビルドをすべて受信します。その後、ビルドローダーから生成されたゲームパッチを受け取ります。

      ステージ上にゲームビルドを配置する

      サーバーにアップロードすると、ゲームビルドはパブリッシャーアカウントのプロジェクト設定>ビルド設定>ビルドリストに表示されます。 ゲームビルドを配置するステージを2つの内から1つ選んでください。
      • 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ログインJWT(JSONウェブトークン)。
      Copy
      Full screen
      Small screen
      game.exe --xsolla-login-token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InAudHVnb2x1a292QHhzb2xsYS5jb20iLCJleHAiOjE1ODU1MDYxMTMsImdyb3VwcyI6W10sImlhdCI6MTU4NDY0MjExMywiaXNzIjoiaHR0cHM6Ly9sb2dpbi54c29sbGEuY29tIiwicGFydG5lcl9kYXRhIjp7ImFkbWluIjp0cnVlfSwicGF5bG9hZCI6IiIsInByb21vX2VtYWlsX2FncmVlbWVudCI6dHJ1ZSwicHJvdmlkZXIiOiJ4c29sbGEiLCJyZWRpcmVjdF91cmwiOiIiLCJzdWIiOiIyNmYxNzI5Ni00Nzk5LTExZTgtOTBkMC00MjAxMGE4YTAwMTkiLCJ0eXBlIjoic29jaWFsIiwidXNlcm5hbWUiOiJzb21lX3VzZXJAbWFpbC5jb20iLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6Ikk2QTJrTEZPQ2JkcnUzamIxMjNyT3JmWnNkTnFpdVcxMjNpWTdKcW85OHI5b0hPbyIsInhzb2xsYV9sb2dpbl9wcm9qZWN0X2lkIjoiNDBkYjJlYTQtNWQ0Mi0xMWU2LWEzZmYtMDA1NDU2YTBlMTRhIn0.ZsTNiwY2iPp7HKqHs5g6JXzL2kv_RVuMNBlF-Tn2ccE --xsolla-locale en

      Copy
      Full screen
      Small screen
      game --xsolla-login-token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InAudHVnb2x1a292QHhzb2xsYS5jb20iLCJleHAiOjE1ODU1MDYxMTMsImdyb3VwcyI6W10sImlhdCI6MTU4NDY0MjExMywiaXNzIjoiaHR0cHM6Ly9sb2dpbi54c29sbGEuY29tIiwicGFydG5lcl9kYXRhIjp7ImFkbWluIjp0cnVlfSwicGF5bG9hZCI6IiIsInByb21vX2VtYWlsX2FncmVlbWVudCI6dHJ1ZSwicHJvdmlkZXIiOiJ4c29sbGEiLCJyZWRpcmVjdF91cmwiOiIiLCJzdWIiOiIyNmYxNzI5Ni00Nzk5LTExZTgtOTBkMC00MjAxMGE4YTAwMTkiLCJ0eXBlIjoic29jaWFsIiwidXNlcm5hbWUiOiJzb21lX3VzZXJAbWFpbC5jb20iLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6Ikk2QTJrTEZPQ2JkcnUzamIxMjNyT3JmWnNkTnFpdVcxMjNpWTdKcW85OHI5b0hPbyIsInhzb2xsYV9sb2dpbl9wcm9qZWN0X2lkIjoiNDBkYjJlYTQtNWQ0Mi0xMWU2LWEzZmYtMDA1NDU2YTBlMTRhIn0.ZsTNiwY2iPp7HKqHs5g6JXzL2kv_RVuMNBlF-Tn2ccE --xsolla-locale en

      チュートリアル

      ランチャーのシステム要件

      最適なランチャー操作のためのおすすめの構成:
      • Windows 7/8/10 64ビットOSまたはmacOS 10.14.0以上
      • 1.6 GHz CPU
      • 空きメモリの量が300MB
      • ディスクの空き容量:180 MB
      • 最新のDirectXバージョン

      レシピ

      こちらのレシピは、次のようなランチャーの上級機能を試すときに役立ちます:

      よくある質問

      質問 独自でランチャーを作れるのにエクソラ ランチャーを使う必要性は何ですか?

      回答 ゲーム開発の最終段階やゲーム完了後に、独自ランチャーを作成するリソースを使う必要がありません。

      質問 エクソラランチャーの費用は?

      回答 ランチャーは付加価値製品です。ランチャーへのアクセスは、エクソラの標準料金に既に含まれています。エクソラCDN経由でゲームやアップデートを提供する場合、追加費用が発生することがあります(GB / $ 0.01)。ただしP2Pバランシングシステムで、コストを平均80%削減できます。

      質問 ゲームではランチャーを動作させる必要がありますか?

      回答 既定では、ランチャーは常に実行されています。ゲームを起動するとシステムトレイに隠れるので、リソースを使い果たしません。プレイヤーはランチャーのプロセスをシャットダウンできます。ゲームセッション中に接続されないため、ゲームの実行に影響は与えません。

      質問 Steamとの違いはありますか?また類似点はありますか?

      回答 エクソラランチャーは、Steamとゲーム間の橋渡しのような役割を担います。

      質問 Steamでリリースされると、全部がランチャーからダウンロードされますか?それとも、Steamへのアップロードはフルゲーム+ランチャー、そしてランチャーから追加のアップデートを取得という形になるのでしょうか?

      回答 ランチャーは上記のいずれかを行うことができます。ゲームの最新バージョンをランチャーにラップし、Steamに配布することができるので、追加のダウンロードは必要ありません(全ゲームの配信作業は、Steamに依存します。)。アップデートをすばやく配信したい場合は、ランチャーを高速配信ソリューションとして使用できます。ゲームをランチャーにラップして、Steamに再アップロードする必要はありません。お好みに合わせていずれかの方法をご利用ください。

      質問 開発者はSteam用とスタンドアロン用に別々のビルドを2つ維持する必要がありますか?

      回答 いいえ、別々のビルドは必要ありません。また、スタンドアロンとSteamの両方の配信方法を利用すると、エクソラランチャーは両方のプラットフォームから1つのデータベースにユーザーを集めるので、大変役に立ちます。シームレスな登録機能があり、初めてSteamでゲームを動かす新規ユーザーには何も質問しないので、シームレスに登録手続きを進めることができます。しかし同時に、Steamエコシステムの外にある公式サイトにアクセスし、Steam OpenIDを使ってログインし、公式/集中コミュニティ(フォーラムでのコミュニケーション、新しいゲームの発見、ニュースの閲覧など)に参加することを可能とします。

      質問 Steamのツール(ランチャーなど)を使用中です。またCDN費用を心配する必要がありません。御社の製品を使用するとリスクを伴うことになりませんか?

      回答 SteamがCDN料金を払っている間も、お客様はエクソラランチャーを使用できます。またSteamを通して、ランチャーにラップしたゲームを配信可能です。リスクはなく、メリットがたくさんあります。ランチャーを使用すると、お好みの方法でまるまるカスタマイズできるアクティブなコミュニティと交流できるからです。またユーザーストレージを収集できるので、Steamエコシステム外のオーディエンスに接触して、ファンと交流可能です。

      質問 そちらのランチャーに予め統合しているCDNの一覧はありますか?今後の統合について、CDN提供企業に連絡する必要がありますか?一覧にないCDNを使えますか?

      回答 はい。エクソラは予め統合しているCDNの一覧を用意しています。一覧に載っているのはG-Core LabsやAkamai。エクソラのランチャーに統合できるCDN提供企業へ連絡する必要はありません。他のCDNを使用したい場合は、アカウントマネージャーまでお問い合わせください。

      質問 なぜSolid State Networksを使えないのですか?

      回答 Solid State Networksの主な事業はCDNです。同社のランチャーは、CDN費用の最適化を想定して設計されていません。

      質問 ランチャーにIPCソリューションはありますか?

      回答 ランチャーにはIPC通信を必要とする機能がないため、現在のところIPCはありません。ライブストリーミングや、IPC(SDK経由)が必要なオーバーレイ内のゲームストア機能などを将来的に追加する予定なので、IPCを加える予定もあります。

      質問 エクソラランチャーのユーザーは、どのようにゲームへアクセスできますか?サブスクリプション、クーポン、プロモコードでゲームを配布できますか?

      回答 現在ユーザーがゲームにアクセスできるのは、ゲームキーと引き換えた場合のみです。

      質問 ゲームキー未購入の場合、エクソラランチャーのユーザーはゲームのアップデートをダウンロードできますか?

      回答 いいえ。ゲームとゲームの更新内容は、ゲームキーを購入しないとご利用いただけません。

      質問 P2P接続で同じLAN上のPCを接続するソリューションはありますか?その場合、データをLAN上だけで転送できますか?

      回答 いいえ。今のところ、そういった解決策はありません。

      質問 エクソラランチャーは、アクセスレベルに対応していますか?例えば、"alpha"はテスト用で、"beta"はエンドユーザー用と用意していますか?

      回答 はい。エクソラランチャーはアクセスレベルに対応しています。ゲームビルドをアップロードするときに、2ステージ中1つを選択可能です。ステージはテスト用のtestかエンドユーザー用のmasterになります。stage=testで公開したゲームをランチャーで開始する場合は、-game_stage testパラメータをコンソールで渡してください。例:launcher.exe -game_stage test

      質問 エクソラランチャーのゲームリストに表示されるゲームは何ですか?追加済みの全ゲーム、それともユーザーが購入したゲームのみですか?

      回答 このリストには、ランチャーに追加した全ゲームを記載しています。ユーザーが購入したゲームには再生ボタンがあり、残りのゲームには購入ボタンがあります。

      質問 特定のユーザーは無料ゲームキーを受け取れますか?その場合、使用方法は?

      回答 はい。パブリッシャーアカウントからゲームキーをダウンロードして、自由にユーザーへ送信できます。ユーザーはランチャーでキーを有効化できます。

      質問 ランチャーで認証が終わった後、ユーザーはゲームで自動認証されますか?

      回答 はい。自動ゲーム内認証ソリューションをご提供しています。--xsolla-login-tokenパラメータは、エクソラランチャーからユーザーデータをゲームへ送信する際に使用されます。ユーザーデータを取得する際は、パラメータの値をデコードしてください(レシピを参照)。

      質問 ランチャーのダウンロードリンクは、ゲームキーの起動指示などでユーザーに送信できますか?

      回答 ランチャーのダウンロードリンクは、ゲームキーの起動指示に記載しておりません。個別にリンクを送信する方法:

      1. インストールファイルを生成
      2. パブリッシャーアカウントのゲームキー設定で、インストールファイルをDRMフリーの配布パッケージとしてアップロード。
      ゲーム購入後、配布パッケージのダウンロード用リンクが表示されます。