分配

注意:本页上的内容适用于 Unity Cloud 后台中的 Multiplay Hosting。如果您使用 Clanforge,请参阅 Clanforge 文档

分配是为游戏会话保留游戏服务器的操作。这是为游戏会话暂时保留特定游戏服务器的方法,以确保它不会用于其他用途(例如另一个游戏会话)。

注意:您还可以使用分配有效负载来将文件与分配请求一起发送到服务器。

您可以根据分配生命周期的不同阶段,从不同的角度来考虑分配。

首次请求分配时,它只是一个分配请求。在 Multiplay Hosting 根据请求信息和服务质量 (QoS) 数据找到最合适的游戏服务器之前,它会一直保持为请求。

找到最合适的可用服务器后,Multiplay Hosting 会从可用服务器池中移除选定的服务器,并将其信息发送回给调用方。

选定的游戏服务器将保持已分配状态,直到您(或 Multiplay Hosting)将其取消分配,以便为下一个游戏会话腾出空间。通常情况下,取消分配发生在游戏会话结束时,但还有一些其他情况可能会触发取消分配,例如意外退出。

尽管具体情况因游戏而异,但典型的分配流程(使用 Matchmaker)大致如下:

  1. Matchmaker 将针对游戏会话对玩家进行分组。
  2. Matchmaker 从 Multiplay Hosting API 请求分配,然后 Multiplay Hosting 将分配请求排入队列。
  3. Multiplay Hosting 根据分配请求的参数,以异步方式查找最适合游戏会话的服务器。
  4. Multiplay Hosting 从可用服务器池中移除选定的服务器并将其标记为已分配。
  5. Multiplay Hosting 将版本配置(或分配有效负载)中的配置应用到服务器,并确保服务器处于就绪状态。
  6. 当服务器就绪后,Multiplay Hosting 将服务器信息返回给 Matchmaker。

分配请求

您可以通过多种方式创建分配:

在创建分配请求时,您必须提供分配 UUID(除非它是通过 Unity Cloud 后台创建的测试分配)。创建分配后,您可以从 server.json 文件或 Multiplay Hosting SDK 中获取分配 UUID。

收到分配请求后,Multiplay Hosting 会使用请求中的信息和 QoS 来选择最适合游戏会话的服务器,同时考虑以下因素:

这样,分配系统始终可以使用游戏服务器实例优化性能、可用性和成本,从而满足分配请求。