

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 FlexMatch 添加到 Amazon GameLift Servers 托管的游戏服务器
<a name="match-server"></a>

当 Amazon GameLift Servers 创建对战时，它会生成一组对战结果数据，这些数据描述了关键的对战细节，包括团队分配。游戏服务器在开始新的游戏会话时，使用这些数据以及其他游戏会话信息来托管对战。

**对于使用 Amazon GameLift Servers 托管的游戏服务器**  
Amazon GameLift Servers 会提示游戏服务器进程启动游戏会话。它会提供一个 [GameSession](https://docs.amazonaws.cn/gameliftservers/latest/apireference/API_GameSession.html) 对象，其中描述了要创建的游戏会话类型，并包含特定于玩家的信息，包括对战数据。

**对于托管在其他解决方案上的游戏服务器**  
成功完成对战请求后，Amazon GameLift Servers 会发出包含匹配结果的事件。您可以将此数据与您自己的托管解决方案一起使用，以启动托管对战的游戏会话。



## 关于对战构建器数据
<a name="match-server-data"></a>

对战数据包含以下信息：
+ 唯一的对战 ID
+ 用于创建对战的对战配置的 ID
+ 被选中参加对战的玩家
+ 团队名称和团队分配
+ 用来组成对战的玩家属性值。属性还可能提供指导如何设置游戏会话的信息。例如，游戏服务器可能会根据玩家属性为玩家分配角色，或者选择所有玩家通用的游戏地图首选项。或者，您的游戏可能会根据玩家的平均技能水平解锁某些功能或关卡。

对战数据不包括玩家延迟。如果您需要当前玩家的延迟数据（如对战回填），建议您获取最新数据。

**注意**  
对战构建器数据指定完整的对战配置 ARN，此 ARN 将标识配置名称、Amazon 账户和区域。对于使用 Amazon GameLift Servers 托管的游戏，如果您使用了对战回填，则只需配置名称即可。配置名称是紧接在“:matchmakingconfiguration/”之后的字符串。在以下示例中，对战配置名称为“MyMatchmakerConfig”。

此 JSON 示例显示了典型的对战构建器数据集。示例中描述了一款双人游戏，玩家根据其技能评级和已达到的最高等级进行匹配。

```
{
	"matchId":"1111aaaa-22bb-33cc-44dd-5555eeee66ff",
	"matchmakingConfigurationArn":"arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig",
	"teams":[
	   {"name":"attacker",
		"players":[
           {"playerId":"4444dddd-55ee-66ff-77aa-8888bbbb99cc",
			"attributes":{
				"skills":{
					"attributeType":"STRING_DOUBLE_MAP",
					"valueAttribute":{"Body":10.0,"Mind":12.0,"Heart":15.0,"Soul":33.0}}
			}
		}]
	},{
		"name":"defender",
		"players":[{
			"playerId":"3333cccc-44dd-55ee-66ff-7777aaaa88bb",
			"attributes":{
				"skills":{
					"attributeType":"STRING_DOUBLE_MAP",
					"valueAttribute":{"Body":11.0,"Mind":12.0,"Heart":11.0,"Soul":40.0}}
			}
		}]
	}]
}
```