Dota 2 Needs A Patch So It Can Store More Match IDs

If you're a regular Dota 2 player you'll be aware that from 11:00 AM tomorrow the Dota 2 Game Coordinator will be going down for maintenance for approximately an hour. To oversimplify things, it basically means you won't be able to find new matches until everything comes back up (although you'll be able to finish existing games).

But a cool part of the upcoming downtime is what they're doing to fix a small problem.

According to a post on the Dota 2 developer forum, back when things were in development it was decided that all match IDs would be stored in 32-bit integers. They figured an upgrade would be due eventually, but the available room within 2^31 (which is just over 2.1 billion) meant any update would be a long time coming.

In case you're thinking 2^31 doesn't quite add up to the maximum amount of numbers you can store in 32-bit integers, you'd be right. Here's the explanation why:

Our SQL server does not have an unsigned 32-bit data type, only a signed one, which means the Match ID can really only go up to 2^31 before it looks like a negative number to SQL. That cut the Match ID namespace in half. Also, we made some changes that greatly accelerated the rate of exhaustion of the namespace, such as assigning the ID as soon as the match came out of matchmaking, where it would be consumed even if the match was never actually played, and assigning all private lobbies and even offline bot matches a Match ID.

The vast number of Dota 2 matches being played on a daily basis has meant that Valve are running out of available IDs before their SQL server gets cranky -- so a patch is required.

After the update, all match IDs will be stored in 64-bit integers which post cheekily predicts won't require updating until 2038. But given how popular Dota 2 and MOBAs are -- even if League of Legends has the bigger audience -- a 128-integer upgrade will probably happen well before then.


Comments

    dota needs a way to make sure only english speaking people can play on our server. im so tired of matches with asian people who just cant speak english and decide to go off and do dumb shit.
    i dont care if i sound racist because im not, its just really really infuriating :(

      I've played matches with people that speak English fine who still go off and do stupid shit. On the other hand, I've played with people who don't speak at all and do great. Luck of the draw really...

      Last edited 03/02/16 10:32 pm

      Yeah never gonna happen. Like you want them to have a checkbox to tick I speak English to search games?

      i dont care if i sound racist because im not

      Yes, you are.

      Not every Australian speaks English, and for a significant proportion it isn't their first language. Should they be excluded from your games too?

      I've seen plenty of English-speaking players do dumb shit, and I've seen players that speak 0 English absolutely crush games. Sure, communication is important, but you can generally get away with pings and using the chat-wheel.

      Edit: Plus, if it really bothers you that much, just play with friends. Problem solved, and without the need to be a racist.

      Last edited 04/02/16 12:31 pm

    I kind of have to agree with your post. The number of SEA players leaking over into the Australia servers is growing pretty steadily.

    At first it was fine because I could deal with the odd game here and there where we're forced to communicate through a series of chat wheel emotes and pings, but once you pass 4k you really need to start using voice comms which simply isn't possible with oldmate from Korea/China/Indo/Malaysia/etc/etc.

    I should warn you, your team mates don't get any better once you hit 5k and above, you just need to carry harder... I'm almost sold on playing on USW servers where there are real 5k players.

      Hay don't be racist I'm from Malaysia and I speak English just fine.

Join the discussion!