How could the server retrieve matchmaking data about specific players?

0

Hello everyone, I am at a point where I can get players to connect to a game session that is created via FlexMatch. However, I am wondering how I can get the server to find out the assigned team from Flexmatch of a specific player when he/she connects to the server. I could modify my Lambda API to pass the team info in addition to the player session id back to the client and have the client pass the team info to the server when connecting, but I believe there is a security flaw in the sense that clients would then be able to pass whatever team info they want to the server. I have tried using the DescribePlayerSessions method in the GameLiftServerSDK, and then calling GetPlayerData on the Outcome object returned. The issue with this is that the player data string was empty. Is there a way to achieve what I am describing using built-in GameLift functions? Because I would prefer not to use another table in DynamoDb for this.

已提問 4 年前檢視次數 239 次
3 個答案
0
已接受的答案

The matchmaker data passed to your server contains the assigned teams: https://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data

You get this data via OnCreateGameSession/OnUpdateGameSession

When players arrive you can then match to their team via the player id.

Do you have a specific concerns or a workflow where you think this may not work for you? You can also get this data via DescribeGameSession.

已回答 4 年前
profile picture
專家
已審閱 1 個月前
0

Thank you Pip. At the moment I think the functions you listed out will work for me, I just did not know how to retrieve the matchmaker data until now.

已回答 4 年前
0

[quote="chrisgong, post:1, topic:8192, full:true"] Hello everyone, I am at a point where I can get players to connect to a game session that is created via FlexMatch. However, I am wondering how I can get the server to find out the assigned team from Flexmatch of a specific player when he/she connects to the server. I could modify my Lambda API to pass the team info in addition to the player session id back to the client and have the client pass the team info to the server when connecting, but I believe there is a security flaw in the sense that clients would then be able to pass whatever team info they want to the server. I have tried using the DescribePlayerSessions method in the GameLiftServerSDK, and then calling GetPlayerData on the Outcome object returned. The issue with this is that the player data string was empty. Is there a way to achieve what I am describing using built-in GameLift functions? Because I would prefer not to use another table in DynamoDb for this. [/quote]

@REDACTEDUSER Link> https://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html I hope it helps.

已回答 4 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南