How fast is messaging service?

Rn designing a cross server matchmaking mechanism, which attempts to pair two users from across servers.

However it is essential no more then two users are picked and therefor it is critical their Username is removed from the ‘searching’ table the second they are paired. So I would like to know how quick is roblox’s messaging service, I know its under a second, but id rather a more precise measurement.

Furthermore my brain is tired so if anyone can think of some security checks to stop more then two people being pared, do let me know. This is a commercial matchmaking system so it should be built to withstand around 10,000 players accross servers.

I don’t know the exact speed, but from threads I’ve seen, there is a significant delay, about 2 - 8 seconds(this is a prediction). So, to solve this problem I cant think of one way.

You would first find the people to pair up with, then you would delete the player from the player list. But, you are going to wait 5 seconds, check if the player is still available, then wait an addition 5 seconds, check if the player is still available, then if they are, delete them from the player list:

  1. Send message
  2. Wait 5 seconds
  3. Check for player
  4. If there is a player then wait 5 more seconds
  5. Check for player
  6. If there is one, delete the player
1 Like

Read the DevForum article before posting threads like this, it’s explained right there.

You can’t get a precise measurement because messages are delivered through best effort. Every circumstance, external factors accounted for (server responsiveness) can affect when messages get delivered and I seriously doubt that number has any relevance.

Including a backup condition to prevent duplicate matching is much better than just assuming a player is no longer available after matching up.

1 Like

I had read that article, hence this statement, and thanks for the tip on preventing duplicate matching.

I was mainly asking since <1 is a very large are, I was more interested if its like <0.5s or whatever.

Best effort then. Can be anywhere from near instantaneous (<<0.1) to <1. I’d assume in the case of unresponsive servers, the delivery time ceiling might raise to >1.