Halo Infinite - Update on Latency & Geofiltering

Good morning all – today we wanted to share a few updates around Halo Infinite’s matchmaking and online gameplay experience. In this post we’ll be focusing on the impact of “geofiltering” in matchmaking and what we’re doing to improve your online experience.

In another post that went live today on Waypoint, we dive into “desync” and the online gameplay experience within Halo Infinite.

We recommend reading both to get the full picture but since you’re here right now, let’s talk about geofiltering.

  • What is geofiltering?

Geofiltering is when players manipulate their system files or router settings in an effort to force the matchmaking system to give them matches hosted on servers located near them. Many do so thinking that they are creating their own “server selection” within the matchmaking system, but that is not what’s happening. Instead, they are simply forcing the game to be played on their chosen datacenter, regardless of where the other players in the game are located.

  • Why is it bad?

Normally, when a match is created, the matchmaker hosts the game on a server with the best connection for the highest number of players in the lobby. That means sometimes it will select a server that is in between all the players and other times it will pick a server that’s closer to where the majority of the people from the match are located.

However, if one of the players in the lobby is geofiltering, they will then force the game to be played on their datacenter. To be clear, this means a geofiltering player’s actions take effect after all of the players have already been selected for the match. This happens because the matchmaking system pulls the lobby together when it still believes that all our data centers would be available to host the game. Then, in the process of picking the best data center to host this match, the manipulation blocks out any servers that the geofiltering player does not allow.

When players do this, it creates a small benefit to them at the cost of making the match worse for everyone else.

To provide a real-world example, below is a match between players from Regions A, B, and C – where Region B is located in the middle. For this match, picking a server in Region B would be the fairest to all players, with the lowest overall latency. However, the Region C player geofiltered their ping data and forced the match to occur in their region.

Here’s a ping comparison (in milliseconds) between what our matchmaker detected and what the players were forced to play on due to a geofiltering player in Region C:

Player location Expected ping to optimal server in Region B Actual ping after being geofiltered to Region C
Region A 67ms 144ms
Region A 86ms 155ms
Region A 74ms 147ms
Region A 61ms 130ms
Region B 26ms 94ms
Region B 13ms 82ms
Region B 26ms 84ms
Region C 97ms 40ms

As you can see, geofiltering allowed this player to block the optimal server and negatively impact the experience of the entire lobby in a pretty dramatic way. It also wouldn’t feel great to be a player in Region C and get matched into Region B frequently, and further below we share the actions we’re taking to reduce how often that happens.

Given the example above, one geofiltering player can degrade the experience of between 7 (Arena) to 23 (BTB) other people per match, meaning they could impact hundreds of people in one gaming session. Then, take those hundreds of lower-quality experiences and multiply that by the total number of players geofiltering around the world, and you can start to see why this practice is harmful to the game and your fellow Halo players.

Not to mention, as players are forced on to these higher ping servers, they begin to either geofilter themselves, play the game less, or stop playing entirely. All of which increases the likelihood that the people playing the game normally are going to run into someone who is geofiltering and have a lesser experience. It became a vicious cycle and, as a result, the quality of online matches began to deteriorate at a rapid pace.

If geofiltering was acting as a makeshift “server selection” feature, we may have considered turning a blind eye to it. However, since that isn’t the case, we needed to fix it and ensure that players are getting the best experience possible.

  • Addressing the desire for better connections

Speaking of creating the best experience possible, it’s clear that people were geofiltering because they didn’t feel like we were making matches at that bar. So, our first round of updates is directly aimed at prioritizing connection and improving our matchmaker.

Halo Infinite’s matchmaking system takes into account the locations of players when matchmaking, but sometimes it matches players from other regions. This most often happens when one region has a low population at that time, and the system sees a good match across regions. We’re taking steps to reduce the frequency with which this happens, as it was happening more than we expected when designing the system.

In addition to preventing geofiltering, we’re also taking these additional steps to improve match quality:

  • As of today, we’ve increased the priority of low pings to our servers in the matchmaking process. This step should help you match with local players, and therefore have a better connection, more often. As you get more of these local matches, instances of playing on further data centers will also decline.
  • Separate from the bullet point above, our Services team has taken additional steps to help ensure you can have quality matches with players from your respective regions, more often. We expect this to have a noticeable impact when making matches for players in less populated regions around the world including - but not limited to - Australia and Asia. This update, which went live yesterday, has already shown promising results and should take further advantage of this morning’s changes. Please keep an eye out and let us know how your games start to feel.

In combination with the changes above and additional tuning to our matchmaking system, we believe that we can create better and better matches over time. If we ever feel like the matches we are making do not meet player expectations or our quality bar, we will evaluate additional means of improving the online experience - including considering features like a server selection similar to MCC or search preferences similar to Halo 5 - further down the road.

  • How did you prevent geofiltering?

As we touched on above, we can’t let geofiltering continue because of how it degrades the experience for our players. So, earlier today, we made an update to our online services that should prevent geofiltering players from searching in matchmaking.

If our services detect that a player is geofiltering, that player will receive a message saying, “No ping to our datacenters detected.” Once a player removes their geofilter, this message will go away and they should have no issues queuing into matchmaking.

Before we wrap up here, we do want to acknowledge that there’s still work to do to improve ranked matchmaking as well. We’re always investigating matches in which players report bad experiences, whether it’s related to ping, desyncing, or Ranked, and our work here will continue throughout the life of the game.

We hope this post answers some of your questions and helps outline a few of the steps we’re taking to improve your experience online. And, as a reminder, we highly recommend reading this post about “desync” and how latency impacts gameplay in Halo Infinite to get a look at the full picture.

See you all on the battlefield!

Please note: If you’ve used any of the methods shared online to block matchmaking servers and you are now unable to revert the change, the Halo Support team will not be able to troubleshoot or resolve the error messages for you.


So when are we getting a road map?


Glad y’all are adjusting the matchmaking, but I still really hope Infinite gets feature parity with MCC in terms of region selection. That system worked well, and it would be nice to see it work here, too.


I blame Royal2
20 characters.


I and every other network admin right now is laughing at the nonsense of this post. Also I turned on geofilter for fun to see what would happen and…surprise nothing happened because that’s how networking works. They literally have no clue if a user is geofiltering or not.

I do look forward to the myriad of false positives of their “update” as people who don’t geofilter will start seeing that message due to packet drops and the system “thinks” its a geofilter. Oh its gonna be fun to watch.


So theater is broken, and maybe someday will be fixed?


Thanks for the lengthy post, it helps explain a lot.

Can we please have an equally lengthy post explaining the planned fixes for the problems people have reported here and as tickets, and additions such as forge and customs browser, and their future cost if any.

On the subject of tickets - receiving a generic message back saying ‘we’re not looking into this now’ followed by another two weeks later saying ‘we’ve released an update that doesn’t fix your problem, does the problem still exist? Let us know or we’ll close your ticket’ doesn’t fill us with confidence.

Tickets submitted with things such as scoreboard errors that happen every time you’re on cobra team (and any team still has the players not in any order ‘feature’), consistent game crashes caused by specific events and bugs with seemingly easy fixes should be acknowledged, prioritised and added to a ‘known issues’. Known issues hasn’t been updated for TWO MONTHS!


That and BTB is stuck with 30hz servers. Kind of an oof there. 30hz shouldn’t be an issue for campaign coop, but it’s low for BTB.


Awesome to see this is getting looked at and done sooner then later! You guys are awesome keep it up!


Isn’t this what should be fixed? If a player’s connection to a server can’t be made for whatever reason (network outage, datacenter connectivity issue, DNS problems) shouldn’t that be factored into the matchmaking? It’s unclear if “prioritizing low ping” means also checking for a route to the host.

As another poster said, I fear you’re setting yourself up for a lot of angry players when there’s a datacenter outage and everyone gets an error message instead of being routed to a different DC…


I like this because it means legit players should get better pings more frequently now.


I have an amazing idea.

Can you enable Ranked Arena to be local to each data server? So then we’d basically be ranked against the pool of people we live near and play against. When playing Ranked - you would select the data server locations and pings you’re comfortable with. So You’d see wow - 13 ms to the San Francisco Data Server and 45 ms to the LA Data Server and 65ms to the Chicago Data Server.

It’s not like we’d ever expect an Australian player to compete on a Chicago server against an American team. Would I really be likely to play Mint Blitz if we were ranked the same? No! Why not just make the servers part of the experience and reveal that part of the matchmaker to the community.


Would be really difficult to get balanced games in lower population areas, especially outside of peak hours.

Although I agree, there’s literally zero point in putting any player in a super high ping game, they might as well not play ranked at that point.


If you run a wireshark it appears you’re on a fencing server for matchmaking and then connected to a game server. When the connection fails the search starts over. It does not do what they are saying in this post which is “forcing” other players into a server closer to you.

The reality of it all though is that all of this could be fixed by simply removing their overly complicated system and just give us a damn region select ensuring that you never connect to servers outside of your region. Problem solved. If the user wishes to connect to an outside region due to slow matchmaking then they can CHOOSE to do so.


This is disgusting. Instead of giving players server selection you just try to make the system better. That isn’t what we want. We want server selection.


This just proves that the population is low because why else wouldn’t they give us region select?


In other words, the matchmaking grabs people from across the globe at random, instead of prioritizing local servers, and it took tons of people abusing geofiltering for 343 to get a clue that this was a terrible system that needed to be worked on. Meanwhile, while they stopped geofiltering for those people, there’s no roadmap for the improved matchmaking or better servers in general. You can expect 100-200+ ping well into Season 2. Halo Infinite in a nutshell. Thanks for this nothing update 343.


I need more time to look over the pcap, but it appears that all they are doing is having the game constantly ping the databases and if a ping consistently fails they will label that as geofiltering and prompt you with the server error. Problem is I’m seeing ping failures without geofilter lmao and there’s already users on steam complaining about it who don’t use geofiltering.


Well those lower population areas still all use one particular server. Just run a new game every 10 or 20 minutes. I mean - I think the long term solution is for 343i to use Microsoft Azure to build super local servers - like make one in Alaska or one in Singapore or one in each Australian city.

However, if you actually show the servers and the capacity - you could schedule times or matchmaking - i’m sure people would be understanding to different degrees if they got consistently good and non-frustrating games. 343 has to have that discussion and be open to pushing different KPIs than matchmaking time for the person playing their first ten games of Halo.

1 Like

Could be a chicken or the egg problem at this point - low servers or geofiltering killed off the remote population. Maybe these efforts will help restore the population.