Microsoft Azure PlayFab logo
    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Add-ons
    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA
  • Runs on PlayFab
  • Pricing
    • Blog
    • Forums
    • Contact us
  • Sign up
  • Sign in
  • Ask a question
  • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges
  • Home /
  • Bugs /
avatar image
Question by tomasvymazal · Jul 14, 2017 at 06:58 AM · Matchmaking

Matchmake requests sent in a same time end up beeing placed in different game instances.

Hi, we've come to a problem that is not limited to particular PlayFab TitleId, but we tested it on more PlayFab TitleIds and result always seems to be same. The problem is as follows: when we start matchmaking on multiple devices in a same time (there may be slight delay around 100ms) while having exactly same request, the players end up beeing in different games.

Example of unexpected behavior:

We started exactly same matchmake request on 5 devices. Three of the devices ended up in a same game instance, but two of the devices ended up in their own instances. So there was exactly 3 instances of a game resulting from exactly same matchmake request.

We tried to do a matchmake first on one device, than wait for a few seconds and than do matchmake exactly in the same time on the rest of devices. This ends up correctly, all the devices ending up in the same game instance. It seems that first device matchmake request spun up the game server and rest of the matchmake requests merged to that one instance.

But we would expect that matchmake requests sent in a same time (as in an example of unexpected behavior) would end up in a same instance too.

Is this a bug? How do we achieve an expected behavior of having all clients ending in one instance?

Comment

People who like this

0 Show 0
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
Best Answer

Answer by Brendan · Jul 14, 2017 at 07:02 AM

The way the matchmaker works is that it takes all available sessions that match the required parameters (game build, mode, region) and then randomly pick one with an open slot, so that players are distributed. What happens is that we "lock" a slot in that game session to the player doing the search for two minutes, so that they can join. In the case where there are no running sessions (or none with available slots), we'll start a new session for the player requesting. If multiple calls occur simultaneously, that may result in multiple sessions being started at the same time, since the calls are handled in parallel (serializing them would introduce delays).

If there's a different matchmaking model you'd like to use, you can build any type of matchmaking logic you like using the Matchmaker API.

Comment

People who like this

0 Show 2 · Share
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image tomasvymazal · Jul 15, 2017 at 07:47 AM 0
Share

Is there any way to start a new session, but not from a client, but i.e. from other server instance or Cloudscript? Because our problem is that when one game ends, we want to start another one, but keep the players from previous game in a same instance for a new game. We know this information in advance when older game ends and server could possibly start a new session by himself...

avatar image Brendan ♦♦ tomasvymazal · Jul 15, 2017 at 07:49 AM 0
Share

First question: Why are you moving them to a new server instance, if you want them to continue playing together? Why not just start a new "round" on the server?

If you can't keep the players on the same server, I'd recommend having them negotiate a "leader", and have that client use Matchmake to create the new server, then send that data to the others back on the first server, so that everyone can use Matchmake on the Lobby ID.

avatar image

Answer by whirata · Jun 21, 2019 at 04:01 PM

I know this topic is a bit old but regarding the issue that was on topic, is there a way to avoid that behaviour and always have one instance created at a time?

,

This thread is old but lately I'm facing that issue, in the project we are using PlayFabClientAPI.Matchmake and sometimes it ends in multiple instances.

Is there any way to avoid that issue when no instances are available?

Comment

People who like this

0 Show 0 · Share
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Navigation

Spaces
  • General Discussion
  • API and SDK Questions
  • Feature Requests
  • PlayStream
  • Bugs
  • Add-on Marketplace
  • LiveOps
  • Follow this Question

    Answers Answers and Comments

    2 People are following this question.

    avatar image avatar image

    Related Questions

    Matchmaking calls fail with a generic http error when API data is compressed 1 Answer

    PlayFab Error /Match/GetMatch:Empty 11 Answers

    Missing values in CancellationReason enum (.NET SDK) 2 Answers

    Matchmaking Error 1 Answer

    ListQosServers suddenly returning error in all builds (including older builds that worked for weeks) 1 Answer

    PlayFab

    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Runs on PlayFab
    • Pricing

    Solutions

    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA

    Engineers

    • Documentation
    • Quickstarts
    • API Reference
    • SDKs
    • Usage Limits

    Resources

    • Forums
    • Contact us
    • Blog
    • Service Health
    • Terms of Service
    • Attribution

    Follow us

    • Facebook
    • Twitter
    • LinkedIn
    • YouTube
    • Sitemap
    • Contact Microsoft
    • Privacy & cookies
    • Terms of use
    • Trademarks
    • Safety & eco
    • About our ads
    • © Microsoft 2020
    • Anonymous
    • Sign in
    • Create
    • Ask a question
    • Create an article
    • Post an idea
    • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Explore
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges