ドキュメント

サポート

Multiplay Hosting

Multiplay Hosting

割り当てペイロード

Learn how allocation payloads pass game-specific data to your servers during allocation.
読み終わるまでの所要時間 1 分最終更新 25日前

割り当てペイロード機能を使用すると、任意のファイルをサーバー割り当てリクエストでペイロードとして送信できます。これにより、設定可能な方法で、マッチごとにゲームを設定できるようになります。ProcessAllocation V1 エンドポイントによってペイロードがアップロードされると、ゲームプロセスからそのペイロードを取得できます。割り当てが終了した後、その割り当てに関連付けられたペイロードは使用できなくなります。ペイロードのライフサイクル を参照してください。

制限事項

割り当てペイロード機能には以下の制限事項があります。
  • ペイロードは 30 KB を超えることはできません。エンドポイントでは、制限サイズよりも大きいペイロードの割り当てはステータス 400 で拒否されます。
  • Multiplay ProcessAllocation V1 エンドポイント内でペイロードを割り当ての一部として加えることができます。
  • ProcessDeallocation V1 エンドポイントを使用してペイロードを削除できます。

ペイロードのライフサイクル

ペイロードは、特定の割り当てに結び付けられている、一時的なセッションベースのデータです。ペイロードがリンクされた割り当てが解除された後、そのペイロードは使用できなくなります。 以下の条件のいずれか 1 つが満たされるまではペイロードを取得できます。
  • ゲームサーバーが、割り当て解除エンドポイントを使用して割り当て解除されます。割り当てのライフサイクルが完了すると、Multiplay Hosting が割り当て UUID に関連するすべてのデータを消去します。
  • ペイロードが生存時間 (TTL、time to live) に到達します。割り当てタイムアウト値によって、フリートスケーリング設定 でペイロードの TTL が設定されます。フリートレベルで設定されない場合、デフォルトでは 1 時間です。

ペイロードの送信

ペイロード値を送信するには、
payload
文字列値をリクエスト本文に加えます。ペイロードは、割り当てのライフサイクル中ずっと使用可能です。

リクエストの例

curl --location --request POST 'https://multiplay.services.api.unity.com/v1/allocations/projects/<projectid>/environments/<environmentid>/fleets/<fleetid>/allocations' \--header 'Authorization: Basic YOUR_AUTH_CREDENTIALS' \--header 'Content-Type: application/json' \--data-raw '{ allocationId: "<allocation_uuid>"", buildConfigurationId: <build_config_id>, regionId: "<region_id>"", payload: "this can be anything"}'

レスポンスの例

{ "allocationId": "<allocation_uuid>", "href": "string"}

ペイロードの取得

割り当てリクエストが完了すると、ゲームサーバーからペイロードにアクセスできます。リクエストをペイロードプロキシ (ゲームサーバーマシン上でローカルに使用可能) に送信し、ゲームサーバーからペイロードファイルを取得します。ペイロードプロキシは、ポート
8086
でアクセスできるサービスであり、ゲームサーバーと一緒に配置されています。これが、割り当てエンドポイントを介してアップロードされたペイロードを取得します。

リクエストの例

curl -X GET http://localhost:8086/payload/<allocation_uuid>

レスポンスの例

HTTP/1.1 200 OKDate: Mon, 26 Jul 2021 17:00:33 GMTContent-Length: 23Content-Type: text/plain; charset=utf-8This can be anything.