割り当てペイロード
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.