希望能对我在尝试使用GameLift匹配时所看到的行为有一些了解。
我的配置设置是这样的,即不需要就需要玩家接受,如下所示:
GameLiftMatchmakingConfiguration:
Type: AWS::GameLift::MatchmakingConfiguration
Properties:
AcceptanceRequired: false
...当我进入GameLift控制台并进入配置时,我看到它也被正确设置了,即它是而不是需要接受的。
这就是我感到困惑的地方,因为现在我已经让它在PotentialMatchCreated中放置了两个用户,并且我从GameLift获得了这个事件。然后30秒后,我得到更多的事件,说明这些位置超时,并再次搜索。
配置文档声明,只有在AcceptanceTimeoutSeconds是真的情况下才需要AcceptanceTimeoutSeconds,而这并不适合我。
验收文件声明您只调用这个When FlexMatch builds a match, all the matchmaking tickets involved in the proposed match are placed into status REQUIRES_ACCEPTANCE
这不是,它在PotentialMatchCreated中。
所以我的问题是,一旦GameLift将两个用户放到一个匹配的位置,我需要做什么来确认一个位置?我有点惊讶,因为我认为它不需要被接受的事实将意味着它自动接受的匹配。
而且,关于在这种情况下该做什么,我发现的文档很少,考虑到这个服务的性质并不像其他人所知道的那样,我完全希望有人能帮助我下一步该做什么。
任何洞察力或帮助都是非常感谢的。
UPDATE1:
附加信息:我根本不需要使用GameLift舰队或构建。我们有一个浏览器游戏,我们正在建设,只是想利用匹配功能。因此,我们没有任何游戏服务器或诸如此类的东西,它只是在我们的网站上,他们会玩游戏,并使用我们的api/websockets,将匹配放在服务器上,并通知客户时,已找到匹配的所有后续细节。
UPDATE2:
为了证实我的怀疑,我决定尝试使用接受匹配端点,看看会发生什么。正如文档所述,只有在需要接受的情况下,才能接受匹配。我收到一个错误,说明我不能接受不处于REQUIRE_ACCEPTANCE状态的匹配。我猜这是AWS方面的一个错误,我没有看到任何其他的端点,我可以击中状态PotentialMatchCreated。
发布于 2022-08-26 16:58:50
解决了这个问题。这与GameLiftMatchmakingConfiguration上的GameLiftMatchmakingConfiguration有关。对于我的用例,仅仅需要匹配,STANDALONE是正确的实现,因为我们没有让GameLift真正为我们创建游戏服务器/会话。我用的是WITH_QUEUE,这就是为什么我认为我有问题。现在看来工作正常了。
https://stackoverflow.com/questions/73503314
复制相似问题