question

webmaster avatar image
webmaster asked

Match Making with Tag Question

1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

webmaster avatar image webmaster commented ·

We have PvP game where the game servers are hosted by Playfab. The question is, when we call Playfab's Matchmaking API with a particular tag, and with "StartNewIfNoneFound = true", if a server with that particular tag isn't found, will Playfab launch ta new server instance AND automatically tag the server with that tag?

The basic scenario is that players will be assigned dynamically generated ID in our metagame, when the users go join the game server, we would like all players sharing the same ID to be matched together. Since these IDs are generated outside of the GameServer, the GameServer wouldn't be able to call ".SetGameServerInstanceTags()" prior to the match happening. So we would like the matchmaker to auto-create servers with the needed tags whenever necessary.

Thx,

0 Likes 0 ·
brendan avatar image
brendan answered

No, new game session servers aren't automatically set up with any specific tags - only the call to SetGameServerInstanceTags can set those up right now. That certainly does seem like a good addition to the StartGame call, at least, so I'll add a backlog item for that. I can't say when we'll be able to prioritize that work item though, so for now I would recommend using SetGameServerInstanceTags. One thing you could do would be to have a second server build that you use as a "lobby" of sorts for players waiting on game sessions. You could have all players matchmake to that server type, and then have it start the game sessions and apply the tags.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

rob avatar image
rob answered

+1 to being able to set tags in StartGame. Our game has a lot of options that you can choose before creating a new game which would like to be able to display to users calling PlayFabClientAPI.GetCurrentGames. I haven't got very far on this yet but I'm assuming tags are the best way to do this?

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

webmaster avatar image
webmaster answered

Brendan - Here is another work around, want to see if you think this would work.

In situations where we there isn't a game server existing with a particular tag, what if we somehow tell the 1st client to start the server, then once the server has started, have that 1st client tell the server to call SetGameServerInstanceTags(). The 2nd client would basically wait a bit then poll the matchmaker for a server with that tag? But the 2nd client wouldn't start a new server.

If say the 2nd client tried 2~3 times and couldn't matchmake into the server with the tag, then we assume somehow that server wasn't started properly, and the 2nd client would basically fail matchmake.

1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

brendan avatar image brendan commented ·

The problem you'd run into there is, how are you determining which players start servers, if they're not being collected in some kind of "room" where this is negotiated? My concern would be that at scale, you'd have many servers started in situations where you only want to have a few.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.