1v1 server selection problem

Hi, I am curious if there will be any work on the server selection for the multiplayer mode on battlenet. I am having a problem consistently in 1v1 were I am being hosted from EU server I am from Australia which means i get 390ms. This is unplayable. I need hosting to be from USA to be playable (200ms). I am logged into the Americas relm also. Is there just no sort of competent source that picks what server the game should be hosted from??

Versus games are global. The proxy server that is selected to host the match is the one with the lowest combined latency for all the players in the game.

For example, with you being in Australia, if you are matched with someone in the EU region and the proxy with the lowest total ping for both of you is also in EU, that’s the one that will host the game. Meaning, had it been hosted anywhere else, the latency would have been worse.

Is this algorithm written somewhere? I mean, did they say it works like this? Is the “combination” linear?

It’s from an email exchange I had with one of the War3 developers last year where I asked how the system handles Versus and Custom games.

I’m not sure what you mean by linear. An example of how it works is:

Two players queue in Versus. The system scans all the data centers around the world to determine the latencies of each player to each center. (Just to simplify the example, we’ll say there are three data centers.)

Player 1 to data center…

  • #1 = 350ms
  • #2 = 90ms
  • #3 = 120ms

Player 2 to data center…

  • #1 = 130ms
  • #2 = 145ms
  • #3 = 210ms

So, for both players combined, data center…

  • #1 = 480ms
  • #2 = 235ms
  • #3 = 330ms

… so the game would be hosted on a proxy in data center #2 as it has the lowest combined latency even though it’s not necessarily the best option for both players. As you can imagine, there’s much more of a chance for bad latencies the more players there are to add together (2v2, 3v3, 4v4).

On a side note, Custom games are handled differently. The host gets a proxy with the lowest latency. From there, everyone else just joins the host’s proxy regardless of what their individual latencies are. (Which is why there are latency bars next to the games to help people pick the best game to join.)

That’s a great system except in instances like this

OCE player

230 to US
350 to EU

EU player
150 to US
20 to EU

Putting both on US would make for a fairer game, except the system would put them on EU, where it is completely UNPLAYABLE for one party.

1 Like

Unfortunately, there’s no way to split things up into two separate players. Both have to be in the same match, meaning on the same hardware (the proxy server). So even if someone had a good latency (say, 20ms), it doesn’t matter because the opponent’s could be fairly high (350ms). On other words, there’s no such thing as one party.

In your example, they would be hosted on EU because hosting on US would result in a worse latency between the players.

However, you are still correct. A player’s location relative to the data centers makes a difference. But because they must be hosted on the same hardware, it’s the lowest combined latency that the system searches for.

Well I mean there is a way, you get more data centres like they have in their other games and/or let people pick what server they want to play on :wink:

Totally legit suggestion!

I can’t speak for Bliz, but I suspect that Versus is global to allow for enough players to make the match making system usable. If they allowed people to only search within a specific region, everyone would pick the their own (or what ever is best), which would essentially negate the global setup needed for its population.

More data centers would undoubtedly help. But where Classic games fall on the investment priority list is anybody’s guess.

thanks for the insight.
It is linear indeed.

Do you also know if there is any recalculation if anyone drops?
We have witnessed very strange behaviors when hosting like:
Same 10 people but different pings.
Pings changing at the beginning of games (usually the same numbers going on).
Pings changing for some people when someone else disconnects.

So probably some more routing gets involved…

A weighted on non-linear approach would probably be better.

I know they probably can’t do more data centres, tbh it was a pipe dream to expect OCE and LATAM ones, but I will never understand why they did global matchmaking. The no OCE servers, I can understand, but come on…we had 4 gateways for 15+ years, why would you go global matchmaking?

At this point, all it did was push people off of the platform and onto W3Champions. The opposite of what they wanted. But hey I mean it’s only been a year, Blizzard isn’t used to seeing a trajectory and changing course for at least 3 :wink:

I don’t know what happens in those situations. What I’ve mentioned so far is as far as I got.

But, based off how turn-based games like WC3 communicate with each other, I’d suspect that if someone drops, the latencies would change for the remaining players; however, the physical proxy wouldn’t change midgame.

Good question. The first thing that comes to mind is more population for both faster matching and closer MMRs. But maybe what they chose for networking wasn’t enough to make those ideas work well. Shame for sure!

My guess would be maybe they expected a bigger influx of players with the games release that being global wouldn’t matter as much, because if you have 10,000 people to pull from, you’re probably matching people with the above system pretty close to each other.

But with the release, you lost your new fans, and all you have left is the hardcore players that 100% want a good playable game that are from around the world, and their current system has just pushed those left onto WC3Champions.

Tbh if ranked does arrive and it doesn’t come with server selection, the bnet version of wc3 is dead.

Agreed. There’s going to have to be something tantalizing enough to sway all those who left to come back to Battlenet.