在游戏服务器上更新对战数据 - Amazon GameLift Servers
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在游戏服务器上更新对战数据

无论在您的游戏中如何启动对战回填请求,您的游戏服务器都必须能够处理由于对战回填请求而导致 Amazon GameLift Servers 提供的游戏会话更新。

当 Amazon GameLift Servers 完成匹配回填请求时(无论成功与否),它将使用回调函数 onUpdateGameSession 调用您的游戏服务器。此调用具有三个输入参数:对战回填票证 ID、状态消息和包含最新对战数据 (包括玩家信息) 的 GameSession 对象。您需要将以下代码添加到游戏服务器以作为您的游戏服务器集成的一部分:

  1. 实现 onUpdateGameSession 函数。此函数必须能够处理以下状态消息 (updateReason):

    • MATCHMAKING_DATA_UPDATED – 新玩家已与游戏会话成功匹配。GameSession 对象包含更新的对战构建器数据,包括有关现有玩家和新匹配的玩家的玩家数据。

    • BACKFILL_FAILED – 对战回填尝试由于内部错误而失败。GameSession 对象保持不变。

    • BACKFILL_TIMED_OUT – 对战构建器未能在时间限制内找到回填对战。GameSession 对象保持不变。

    • BACKFILL_CANCELLED – 对战回填请求已通过调用 StopMatchmaking(客户端)或 StopMatchBackfill(服务器)而被取消。GameSession 对象保持不变。

  2. 对于成功的回填对战,请使用更新的对战构建器数据来在新玩家连接到游戏会话时进行处理。至少,您将需要使用新玩家的团队任务以及要让玩家在游戏中开始所需的其他玩家属性。

  3. 在您的游戏服务器对服务器软件开发工具包操作 ProcessReady()的调用中,添加 onUpdateGameSession 回调方法名称作为过程参数。