We are now approaching the two year anniversary of Dota 2’s limited release, and we feel like we’re ready to expand to include anyone who wants to give it a try. In the case of Dota 2, or other games with large backend systems that support them, this isn’t quite as simple as pressing the big red launch button, then sitting back and watching, because of the large infrastructure they rely upon.
As a result, we’re going to take a different approach to the launch of Dota 2 than we have with our previous titles. Our goals are to create little disruption for the existing Dota 2 audience, to bring new players into a system that will work reliably, and to not immediately melt down all of our datacenters. We aren’t sure how long this is going to take, but in our experience everything with Dota ends up involving a lot more people than we predict, so we’re going to ease our way into it.
The first step we’ll be taking is to release a larger set of training features, and retire the existing Dota 2 Invites. The combination of these two things makes now the best time to use any remaining Dota 2 Invites you have to bring your friends in that are unfamiliar with the game. After that, we’ll start allowing all users to join in.
We’ll be controlling the launch by granting large numbers of people access to the game in batches, so we can ensure our infrastructure is holding up. We’ll also be letting everyone know how we are dealing with the increased load, so we all have a shared understanding of how the launch is going.
There are several parts of the backend infrastructure that we’ll be keeping an eye on as the number of users increases.
First, we have a server called the Game Coordinator (or GC), which is really a number of different servers that all collectively handle the backend work that Dota 2 needs (with the exception of hosting actual games). This is the server that handles your Dota 2 login, determines who you will play against in matchmaking, keeps track of where all of your items are stored, and many other functions. This also means that as we increase the number of users, this server needs to scale up. We think we’re in pretty good shape for adding a pretty large number of users from the GC’s perspective (we could at least double in total concurrent users), but it’s one of the areas we’ll be keeping an eye on as the audience grows.
The other major piece of backend services are the Dota 2 game servers. We count them in units we call clusters, which for us means a fully functional collection of network infrastructure that a given region can play Dota 2 on. So it isn’t just a bunch of machines running dedicated servers, it has all of the switching gear, network management, replay storage, and so on. Currently we have 25 clusters around the world. Each of those clusters have around 160 machines that are running game servers, and on average each of those machines can run 112 concurrent Dota 2 games. This works out to each cluster serving around 180,000 users at a given time. In addition to the CPU and memory aspects of game server hosting, we have around 400 Gigabits of bandwidth available for Dota 2 server hosting. The nice thing about game servers and bandwidth is that they are more straightforward to scale up, because the problem is more about buying more of them than solving complicated problems in software. While this takes some time, it is more predictable.
Dota 2 is the largest community that we’ve ever had on Steam, and it is about to get larger. We aren’t sure how much larger it is going to get, but it is better in the long term for the community as a whole for more people to be having fun playing Dota. This will lead to more interesting items in the workshop, a self-sustaining professional scene, and more people to play with (and against).
Dota 2 will continue to move forward, just like it always has. We still have old (and eventually new) heroes to release and an endless supply of features to build. We are releasing the game now because it is ready, but of course there isn’t an end to the development of the game. Just like we have been for the last couple of years as Dota 2 has grown, we’ll be looking to hear from you about how we’re doing and about what you’d like us to build next.