割り当てペイロード
ノート: このページの内容は Multiplay Hosting に関連しています。Clanforge のページについては、割り当てペイロード (Clanforge) を参照してください。
割り当てペイロード機能を使用すると、任意のファイルをサーバー割り当てリクエストでペイロードとして送信できます。これにより、設定可能な方法で、マッチごとにゲームを設定できるようになります。ProcessAllocation V1 エンドポイントによってペイロードがアップロードされると、ゲームプロセスからそのペイロードを取得できます。割り当てが終了した後、その割り当てに関連付けられたペイロードは使用できなくなります。ペイロードのライフサイクル を参照してください。
制限事項
割り当てペイロード機能には以下の制限事項があります。
- ペイロードは 30 KB を超えることはできません。エンドポイントでは、制限サイズよりも大きいペイロードの割り当てはステータス 400 で拒否されます。
- Multiplay ProcessAllocation V1 エンドポイント内でペイロードを割り当ての一部として加えることができます。
- ProcessDeallocation V1 エンドポイントを使用してペイロードを削除できます。
ペイロードのライフサイクル
ペイロードは、特定の割り当てに結び付けられている、一時的なセッションベースのデータです。ペイロードがリンクされた割り当てが解除された後、そのペイロードは使用できなくなります。
以下の条件のいずれか 1 つが満たされるまではペイロードを取得できます。
- ゲームサーバーが、割り当て解除エンドポイントを使用して割り当て解除されます。割り当てのライフサイクルが完了すると、Multiplay Hosting が割り当て UUID に関連するすべてのデータを消去します。
- ペイロードが生存時間 (TTL、time to live) に到達します。割り当てタイムアウト値によって、フリートスケーリング設定 でペイロードの TTL が設定されます。フリートレベルで設定されない場合、デフォルトでは 1 時間です。
ペイロードの送信
ペイロード値を送信するには、payload
文字列値をリクエスト本文に加えます。ペイロードは、割り当てのライフサイクル中ずっと使用可能です。
Multiplay API URL:
https://multiplay.services.api.unity.com
リクエストの例
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
でアクセスできるサービスであり、ゲームサーバーと一緒に配置されています。これが、割り当てエンドポイントを介してアップロードされたペイロードを取得します。
ノート: サーバーの割り当て UUID を取得するには、server.json ファイル を使用します。
リクエストの例
curl -X GET http://localhost:8086/payload/<allocation_uuid>
レスポンスの例
HTTP/1.1 200 OK
Date: Mon, 26 Jul 2021 17:00:33 GMT
Content-Length: 23
Content-Type: text/plain; charset=utf-8
This can be anything.