We were excited to get early access to Valorant, Riot’s hotly anticipated FPS game that’s coming out of closed beta June 2. At the same time we’ve been working on our Blade Storm skills, we’ve been working to discover the best network strategies to bring Valorant support to Haste gamers. As a team of networking nerds we wanted to tell you what we’ve learned about some of the strategies Riot is using and how we’ve optimized Haste to support Valorant.
Background: traditional dedicated server games networks
First, it helps to start with a little background on how other popular, competitive multiplayer games with dedicated game servers work.
When you play a League of Legends or Fortnite match, it connects you, your teammates and the enemy teams to one of many servers around the world. From match to match, the publisher may switch up the city your game is hosted in, as is the case with Fortnite, or it can be the fixed for a particular region, as is the case for League of Legends where, if you are in North America, you will almost always play on their Chicago data center. Either way the game server is hosted on a particular IP address that doesn’t change.
Haste’s network can see this game traffic going to a particular IP address and we have the map of what city that game traffic is going to, which (along with other data such as pings to datacenters in our network) allows us to figure which set of data centers that Haste operates is most likely to improve your ping and network stability.
Anycast network routing
Valorant is the first major game we’ve seen that is based on Anycast, a network internet routing method that has existed for decades. Instead of mapping 1 IP address to a single Server in a particular datacenter, Anycast maps 1 IP address to many different servers in many data centers.
There are three major benefits to Riot when using Anycast. Anycast can help prevent DDoS attacks. Second, switching to Anycast minimizes the portion of the network path that Riot does not have control over. This has been a guiding principle at Haste since the beginning — we minimize the times when game traffic goes over the public internet that is out of our control, and maximize the time the game traffic is routed between servers that Haste operates. Third, switching to Anycast can help reduce ping since it makes it far more likely that your game connection gets onto Riot Direct closer to where you are playing, particularly for ISPs that are not yet connected directly to Riot Direct.
Anycast and Valorant
If you’ve ever pinged 22.214.171.124, Google’s address for DNS, you’ve hit an Anycast address. You can hit it from all over the world and still generally get less than 10ms ping. Behind the scenes internet routers see the 126.96.36.199 IP is set up as Anycast, and instead of sending it to a specific datacenter, they see a list of dozens or hundreds of data centers and simply send it to the closest one.
But Valorant can’t use Anycast like Google does, since game traffic ultimately needs to go to the defined server where your match is hosted at one of their four Valorant data centers in the US, usually the closest one to you but not always. Riot receives the game traffic from the Anycast address then sends it across Riot Direct to the actual final destination game server.
Haste Support for Valorant
This network architecture that Valorant uses posed a challenge for Haste, as we couldn’t use our previous approach of simply mapping each IP to a specific city, since Anycast IP addresses map to multiple cities, and Haste needs to know exactly which specific city to send the game traffic to.
How we solved this was we make use of the fact that Riot Direct has stable, low-latency connections at most of the large cities in the world where data centers are located. Instead of trying to send the game traffic to the game server city (which is unknown), we instead send the game traffic to the closest Haste datacenter to the player that is also well connected to Riot Direct. Riot Direct is responsible for moving the game traffic from the longer distance to the actual game server.
So for example, for a player playing in a suburb of Atlanta, Georgia, Haste sends that game data to the downtown Atlanta datacenter where Haste has servers, through optimized network routes. That downtown Atlanta datacenter has very good connections between Haste’s network and Riot’s network, so once the game data has efficiently arrived at one of the Haste Atlanta data centers and it is transferred to Riot Direct, Riot’s network handles the rest.
If you play Valorant, you can test this yourself with Haste Free or Haste Pro today. Let us know how your experience is!