在游戏服务器上更新对战数据
无论在您的游戏中如何启动对战回填请求,您的游戏服务器都必须能够处理由于对战回填请求而导致 Amazon GameLift Servers 提供的游戏会话更新。
当 Amazon GameLift Servers 完成匹配回填请求时(无论成功与否),它将使用回调函数 onUpdateGameSession 调用您的游戏服务器。此调用具有三个输入参数:对战回填票证 ID、状态消息和包含最新对战数据 (包括玩家信息) 的 GameSession 对象。您需要将以下代码添加到游戏服务器以作为您的游戏服务器集成的一部分:
-
实现
onUpdateGameSession函数。此函数必须能够处理以下状态消息 (updateReason):-
MATCHMAKING_DATA_UPDATED – 新玩家已与游戏会话成功匹配。
GameSession对象包含更新的对战构建器数据,包括有关现有玩家和新匹配的玩家的玩家数据。 -
BACKFILL_FAILED – 对战回填尝试由于内部错误而失败。
GameSession对象保持不变。 -
BACKFILL_TIMED_OUT – 对战构建器未能在时间限制内找到回填对战。
GameSession对象保持不变。 -
BACKFILL_CANCELLED – 对战回填请求已通过调用 StopMatchmaking(客户端)或 StopMatchBackfill(服务器)而被取消。
GameSession对象保持不变。
-
-
对于成功的回填对战,请使用更新的对战构建器数据来在新玩家连接到游戏会话时进行处理。至少,您将需要使用新玩家的团队任务以及要让玩家在游戏中开始所需的其他玩家属性。
-
在您的游戏服务器对服务器软件开发工具包操作 ProcessReady()的调用中,添加
onUpdateGameSession回调方法名称作为过程参数。