GameLift匹配成功后超时求助:无需接受却仍触发超时
GameLift Matchmaking无玩家接受要求却匹配超时的解决方法
问题根源
当仅使用GameLift匹配功能、不部署GameLift服务器集群时,即便AcceptanceRequired=false,GameLift也不会自动完成PotentialMatchCreated后的匹配流程。如果没有主动触发匹配完成的操作,系统会在30秒后判定流程超时,将玩家重新放回队列。
修复步骤
- 给你的MatchmakingConfiguration配置
NotificationTarget(可选SQS队列或Lambda函数),确保能接收GameLift推送的匹配事件。 - 捕获到
PotentialMatchCreated事件后,提取事件里的MatchmakingTicketId和MatchId两个核心参数。 - 调用GameLift的
CompleteMatchAPI,传入上述两个参数,主动结束匹配流程。
关键注意事项
- 不要调用
AcceptMatch:这个接口仅在AcceptanceRequired=true且工单处于REQUIRES_ACCEPTANCE状态时有效,你的场景下调用必然报错,属于误用。 - 务必在30秒超时窗口内完成
CompleteMatch调用,超时后工单会被重置,玩家重新进入队列。 - 确保执行
CompleteMatch的角色拥有gamelift:CompleteMatch的IAM权限,避免因权限不足导致调用失败。
内容的提问来源于stack exchange,提问作者jdserverless
相关产品推荐
相关产品推荐

