文档

支持

Multiplay Hosting

Multiplay Hosting

分配有效负载

Learn how allocation payloads pass game-specific data to your servers during allocation.
阅读时间2 分钟最后更新于 15 天前

分配有效负载功能允许您在服务器分配请求中发送任何文件作为有效负载,以提供一种可配置的方式来按匹配配置游戏。通过 ProcessAllocation V1 终端上传有效负载后,您可以从游戏进程中检索它。分配结束后,与该分配相关的有效负载将不再可用。请参阅有效负载生命周期

限制

分配有效负载功能具有以下限制:
  • 有效负载不能超过 30 KB。该终端会拒绝有效负载超过限制大小的分配并返回状态码 400。
  • 可以将有效负载包含在 Multiplay ProcessAllocation V1 终端内的分配中。
  • 可以使用 ProcessDeallocation V1 终端移除有效负载。

有效负载生命周期

有效负载是与特定分配相关的、基于会话的临时数据。在与有效负载关联的分配被取消分配后,该有效负载不再可用。 满足以下条件之一会造成有效负载无法检索:
  • 通过取消分配终端取消分配游戏服务器。当分配的生命周期结束时,Multiplay Hosting 会清除与分配 UUID 相关的所有数据。
  • 有效负载达到其生存时间 (TTL)。分配超时值可以设置机群缩放设置中的有效负载 TTL,如果未在机群级别设置,则默认为一小时。

发送有效负载

要发送有效负载值,请在请求正文中包含
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.