Host Selection Improvements for halo 4

Playing matchmaking in client mode (not host) can be truly frustrating when the latency or packet loss of the host suffers. Unfortunately for everyone, the quality of connection is not properly assessed when selecting host.

In Microsoft Research reports A and **(Jitu Padhye at Microsoft Research) regarding matchmaking latency and network path quality, it is acknowledged that more probes can be added to increase the number of potential hosts. Please join me in urging Microsoft and 343i to add these necessary improvements to host selection.

Halo Networking Facts

1. Round Trip Time or RTT is the amount of time it takes to send a signal plus the amount of time it takes for an acknowledgement of that signal to be received. RTT is mainly impacted by the distance a signal must travel, the number of relays between locations, and the speed/traffic of each relay.

2. The player with the lowest variation in User Datagram Protocol Round Trip Time (milliseconds) to other players in the game will provide the best hosting performance as long as that connection does not suffer greatly at any point during the match.

3. Good host makes the game fun for everyone. On host with low RTT the significance of host advantage decreases greatly, hence the number of games played on good host directly increases the overall satisfaction and likability of the game.

4. Jitter is the variation in RTT measurements. Low jitter levels by the host are very important to in-game performance. High jitter levels cause things like unexpected visual distortions and erratic hit registration.

5. Games hosted by players with poor RTT and jitter cause client players to have a less than enjoyable experience, regardless of the game’s result.

6. The way matchmaking is currently configured, RTT is not real-time evaluated, it is predicted using tools. These tools try to make a calculated guess while using location based IP statistics. There is significant room for error using this method.

7. Assuming each potential host has the required upstream bandwidth, the most accurate way to select the best host is to evaluate RTT, jitter and packet loss in real time.

In the introduction of report A the authors claim:

“Since probing consumes time and bandwidth, and players have limited patience for matchmaking, only a small fraction of potential hosts can be probed. Furthermore, in games where player machines communicate directly with each other rather than only with the host, it is prohibitive to probe all the potential paths traffic will take, which can be quadratic in the number of online players.”

Firstly, additional probing my be beneficial, but it is not needed to evaluate RTT between established UDP connections. Therefore, it should not consume much additional time. Signed send/receive timestamps of any game UDP packet can be evaluated as soon as all players have established a connection with each other.

Even if it took additional time to compute the test, the time would not be a much more noticeable difference. Players are much more impatient when it comes to playing on bad host than they are when waiting for a match.

Also, the study on patience and other studies cited in these reports are both flawed in their data analyzation and are 5 years or more older than the report itself making them somewhat irrelevant to current FPS titles.

Although it may be prohibitive to probe all potential paths, an RTT test would provide enough information for algorithms to more adequately estimate the quality of all paths. Since NAT type can determine which path game data will take, NAT must be considered when analyzing test results in order to best evaluate the latency of all potential paths. Regardless of the flow directions of these connections, all critical information is still passed through the host box.

Furthermore, although it is true that the required amount of bandwidth be available by the host to pass through all necessary game data, these statistics are not properly evaluated by the current system. Hosting an 8 person game of Halo only requires about 350 Kbps upload speed. Playing as a client only uses about 50 Kbps. Most often, the loss of data between a good host and a client occurs because the client that can’t receive the data is experiencing difficulties or high traffic on their network or ISP’s edge router that causes them to lose packets or send/receive them with high latency.

Currently, host selection doesn’t take into account when the loss or latency of data is at the fault of the client’s congested or poorly linked network and not the fault of the host, even though it is possible to track that information. This missing consideration eventually punishes those with a good connection who game without shared internet by allowing clients who play on a congested network to negatively affect the record of a good host.

Furthermore, say for instance someone has FTTH or Corporate/Institutional grade internet with low latency and jitter and an open NAT. They shouldn’t be required to purchase a new console every couple months to start hosting games again if their host record consistently yields exceptionally low RTT variations.

Finally, disconnects that occur while hosting as a result of attacks should not reduce the frequency of the victimized player’s ability to host games. It is possible to recognize how packets react differently during an attack. This can be used to prevent unjustly damaging the host records of notably good connections.

In conclusion, since the best performing connections on Xbox LIVE can always be detected before the game starts, they should always be selected to host the match. It is much less frustrating to play through being a client with bad internet on a good host than it is for those with good internet to play in a game on a low performing host. If UDP measurements of RTT, RTT variations and packet loss are used, the impact of lag on player satisfaction will be greatly reduced, thus increasing Halo’s online customer retention qualities.

Too many words my brain hurts :stuck_out_tongue:

“4. The way matchmaking is currently configured, RTT is not real-time evaluated, it is predicted using sophisticated tools. These tools use geographical IP statistics to make a calculated guess. There is more than acceptable room for error using this method.”

Citation needed.

Actually, as long as RTTs are kept within a certain reasonable limit, youll find that line quality and jitter are far more critical to the quality of a game, thats what the green bars appear to be measuring anyway. When a game turns to crap, its not because the host suddenly moved 3000 miles further away, because someone is torrenting dragon ball z or their little sister started watching katy perry on youtube. Its a difficult issue because we live in a time where everyone in the household has their own laptop, and the current internet itself has no innate provision for any sort of QOS, its best effort all the way. Go to pingtest.net, do a measurement, now fire up torrents and do it again. Thats what causes crappy halo games.

Anyway, the major problem with your post is that the vast majority of consumer NAT routers drop unsolicited ICMP packets by default, so ping measurements are mostly useless. Your wrong about it not even trying though, i worked out in halo 3 that if you set your router to respond to pings, while everyone else in the match doesnt, it seems much more likely to give you host because it can get a reading off you. I think i went from never getting host to getting host about 30% of the time. Was pretty cash.

Edit: Also i lold a bit that you think you know better than the MIT and Cambridge graduate boffins they employ at Microsoft Research, sorry bro.

> Greetings,
>
> Playing matchmaking in client mode (off host) can be truly frustrating when there is high latency. This inspires many players to pull out all stops when optimizing their connection speed. Unfortunately for everyone, the quality of connection is not properly assessed when selecting host. In Microsoft Research reports it is acknowledged that more probes can be added to increase the number of potential hosts. Please join me in urging Microsoft and 343i to add these necessary improvements to host selection for Halo 4.
>
> Let’s start by stating some undeniable facts.
>
> 1. RTT (Round Trip Time) or ping is the amount of time it takes to send a signal plus the amount of time it takes for an acknowledgement of that signal to be received. RTT is mainly defined by the distance a signal must travel, the number of switches (routers) between locations, and the speed/traffic of each switch.
>
> 2. The player with the lowest RTT in milliseconds to other players in the game will provide the best performance when hosting a match. Good host makes the game more pleasurable for everyone. On host with RTT under 50 or 75ms, the significance of host advantage decreases greatly. The number of games played on good host directly relates to the overall satisfaction and likability of the game.
>
> 3. Games hosted by players with poor RTT cause other players in the game to have a less than pleasurable experience, regardless of the score.
>
> 4. The way matchmaking is currently configured, RTT is not real-time evaluated, it is predicted using sophisticated tools. These tools use geographical IP statistics to make a calculated guess. There is more than acceptable room for error using this method.
>
> 5. The most accurate way to ensure the best RTT gets host is to have all players ping each other before the start of the match.
>
> In the introduction of this Microsoft Research report the authors claim “Since probing consumes time and bandwidth, and players have limited patience for matchmaking, only a small fraction of potential hosts can be probed.” I strongly disagree with this statement. Probing does not consume too much additional bandwidth for the potential hosts. Neither would it add too much additional time to matchmaking. Also, players are much more impatient when it comes to playing on bad host than they are when waiting for a match.
>
> Now, let’s try to predict how long a pre-game RTT test might take. To be safe let’s take a game with the max amount of players possible, all having a high RTT. Assume 16 players are pinging each other at an average of 300ms (players typically cannot find each other if RTT to the other player is higher than 300ms). Lets say each player pings the other player 4 times to have a small account for jitter. How long would that take? That would be 60 pings all at 300ms which is 18 seconds. That time would be cut in half for an 8 player game. Of course, more time can be added to account for game servers negotiating the test and processing the results. Either way, 15 minutes of good host is worth waiting a minute or less for when 15 minutes of unbearable lag can be avoided.
>
> Even if there are other motives for not using a pre-game RTT test, there are still other solutions. ie: a simple RTT test initiated when signing in to Xbox Live or entering matchmaking, rewarding players with the lowest RTT/distance to multiple regional Microsoft servers.
>
>
> Improved host selection methods will also greatly reduce the number of players who quit or complain about lag during the game. Bad host and other players complaining are two of the main reasons people either quit out or don’t use their mic. Most players who consistently play Halo Reach online have been guilty of both.
>
> In conclusion, Halo’s customer retention qualities will increase greatly if true RTT is measured. People typically have much more respect for a product if the objective is to present the customer with the best possible experience. After all, Xbox Live customers that primarily play Halo matchmaking currently pay $9.99 a month to frequently play on other customers’ laggy connections. Services such as matchmaking should succeed through increased sustainability, and I strongly believe improved host selection will help accomplish that.

i agree with this sentiment.

heck, at the VERY LEAST make it so if 4 players in the game are at yellow connection, the host will be changed. why the heck does the game continue to run when everyone in the game is lagging, and experiencing latency issues.

and fatalfactor, clearly you understood the message ‘less lag’. dont be contrary just because you can be.

“lag” is pretty damn well hidden with Reaches client-authoritative netcode, to the point that jitter matters much more.

LOL URZA CLEARLY DONT BLATANTLY ADDRESS ME CLEARLY JUST BLATANTLY BECAUSE CLEARLY YOU CLEARLY BLATANTLY CLEARLY BLATANTLY CAN BRO XDDDD

> “4. The way matchmaking is currently configured, RTT is not real-time evaluated, it is predicted using sophisticated tools. These tools use geographical IP statistics to make a calculated guess. There is more than acceptable room for error using this method.”
>
> Citation needed.
>
> Actually, as long as RTTs are kept within a certain reasonable limit, youll find that line quality and jitter are far more critical to the quality of a game, thats what the green bars appear to be measuring anyway. When a game turns to crap, its not because the host suddenly moved 3000 miles further away, because someone is torrenting dragon ball z or their little sister started watching katy perry on youtube. Its a difficult issue because we live in a time where everyone in the household has their own laptop, and the current internet itself has no innate provision for any sort of QOS, its best effort all the way. Go to pingtest.net, do a measurement, now fire up torrents and do it again. Thats what causes crappy halo games.
>
> Anyway, the major problem with your post is that the vast majority of consumer NAT routers drop unsolicited ICMP packets by default, so ping measurements are mostly useless. Your wrong about it not even trying though, i worked out in halo 3 that if you set your router to respond to pings, while everyone else in the match doesnt, it seems much more likely to give you host because it can get a reading off you. I think i went from never getting host to getting host about 30% of the time. Was pretty cash.
>
> Edit: Also i lold a bit that you think you know better than the MIT and Cambridge graduate boffins they employ at Microsoft Research, sorry bro.

Citation needed? Just read the entire report I linked. Yes, jitter is critical. I believe I mentioned it should be recorded. I’m definitely not trying to come off like I know better than the people at Microsoft Research, I’m simply trying to explore what they touched on in the introduction but did not explain fully in their report. I’d like to get a conversation started. Are you saying host selection is good the way it is?

Yes, many routers are setup to block anonymous ping requests. But when connected to Xbox Live, the pings aren’t anonymous. They are initiated by the user by signing into Xbox Live. It’s just like if you go to a website like pingtest.net to test your ping. You will still get results even if you have ping requests blocked because you were the one to initiate the test.

Oh I didnt see the report link, its very interesting thanks.

Thought this article would be of some interest to everyone who is in favor of 343 working on making host selection better for everyone (I’m sure they are) as it offers hindsight into Halo 2 & Halo 3’s host selection process as well as common information that most people misinterpret about networking.

http://www.bungie.net/Fo...osts.aspx?postID=8455638

This is post is right on the money. It’s crazy to think that I only host maybe 5% of games when I have unrivaled ping and jitter. Even foreigners tell me my host is like LAN yet Reach host selection can’t figure it out. My Pingtest links below prove this host selection flaw considering I’m rarely selected as host when I always have an open NAT, and never game while other devices are using bandwidth on my network.

I’m keeping my fingers crossed hoping 343i did host selection right for Halo 4.

Pingtest 1
Pingtest 2
Pingtest 3
Pingtest 4
Pingtest 5

Speedtest

> This is post is right on the money. It’s crazy to think that I only host maybe 5% of games when I have unrivaled ping and jitter. Even foreigners tell me my host is like LAN yet Reach host selection can’t figure it out. My Pingtest links below prove this host selection flaw considering I’m rarely selected as host when I always have an open NAT, and never game while other devices are using bandwidth on my network.
>
> I’m keeping my fingers crossed hoping 343i did host selection right for Halo 4.
>
> Pingtest 1
> Pingtest 2
> Pingtest 3
> Pingtest 4
> Pingtest 5
>
> Speedtest

That is some dam nice ping based on how far away it is on #5.
They should scrap the entire Host history crap they use for Halo when selecting host, it clearly doesn’t work when dial up players get host over connections sutch as above here.

And this is why I prefer dedicated servers.

Select a server that I have a low ping to. Done.

Not roll the dice every game hoping for a decent host.

> 1. RTT (Round Trip Time) or ping is the amount of time it takes to send a signal plus the amount of time it takes for an acknowledgement of that signal to be received. RTT is mainly defined by the distance a signal must travel, the number of switches/routes between locations, and the speed/traffic of each switch/router.
>
> 2. The player with the lowest RTT in milliseconds to other players in the game will most likely provide the best performance when hosting a match. Good host makes the game more pleasurable for everyone. On host with RTT under 100ms, the significance of host advantage decreases greatly. The number of games played on good host directly relates to the overall satisfaction and likability of the game.

I don’t agree with lowest maximum RTT = best host as I am Australian and have played on many awful Japanese hosts when any American host would have been more playable.

Japan is known for poorly maintaining their peering links to many countries including Australia since most of their traffic is domestic due to the language barrier.

I don’t find all Japanese hosts bad but a fair portion are because of poor routing via the US or congested peering links.

A system based on theory can never provide consistent results on something as variable as the internet. Halo 4’s join in progress is going to make the poor host selection that much more noticeable.

I’d much rather wait a few extra minutes for a match then get into a match with 15 Australians (myself included) and have the one foreign player pull host and put everyone else yellowbar or worse.

> “lag” is pretty damn well hidden with Reaches client-authoritative netcode, to the point that jitter matters much more.
>
> LOL URZA CLEARLY DONT BLATANTLY ADDRESS ME CLEARLY JUST BLATANTLY BECAUSE CLEARLY YOU CLEARLY BLATANTLY CLEARLY BLATANTLY CAN BRO XDDDD

Reaches netcode is not client authoritative…

If it was, if I shot someone just before they went behind cover the shot would register but it simply doesn’t.

the “trading” system is just the lag compesation and probably the fairest system to have as opposed to games like BF3 and MW3 who let players with terrible connections eat many more bullets and see opponents long before the opponent can see them.

Great post! I like that you took the initiative to research this stuff and draft up a solution. I don’t know enough about networking to evaluate the validity of your solution, but I think I have a rough understanding of it, and based on that, it sounds like it’d help.

> Thought this article would be of some interest to everyone who is in favor of 343 working on making host selection better for everyone (I’m sure they are) as it offers hindsight into Halo 2 & Halo 3’s host selection process as well as common information that most people misinterpret about networking.
>
> http://www.bungie.net/Fo...osts.aspx?postID=8455638

Your link is broken. Here’s a fix.

> I don’t agree with lowest maximum RTT = best host as I am Australian and have played on many awful Japanese hosts when any American host would have been more playable.
>
> Japan is known for poorly maintaining their peering links to many countries including Australia since most of their traffic is domestic due to the language barrier.
>
> I don’t find all Japanese hosts bad but a fair portion are because of poor routing via the US or congested peering links.

Wouldn’t that congestion increase RTT, causing Japan->America->Australia connections to be detected as subpar?

I agree with your post, host selection does need to be improved. Geographically, I should practically NEVER get host, yet I get host far too frequently. Not that I am a bad host, it’s just that I am sure other players would be far superior choices in terms of ping.

> > I don’t agree with lowest maximum RTT = best host as I am Australian and have played on many awful Japanese hosts when any American host would have been more playable.
> >
> > Japan is known for poorly maintaining their peering links to many countries including Australia since most of their traffic is domestic due to the language barrier.
> >
> > I don’t find all Japanese hosts bad but a fair portion are because of poor routing via the US or congested peering links.
>
> Wouldn’t that congestion increase RTT, causing Japan->America->Australia connections to be detected as subpar?

Reach doesn’t seem to account for jitter at all.

I’ve played with other Australians that pull host often despite their connections having horrible jitter even to other Australians.

No one noticed this thread just got dug up out of the ground from 8 months ago?

> No one noticed this thread just got dug up out of the ground from 8 months ago?

Oops. Must’ve missed that.

Ah, no harm in letting it stand. Conversation’s been fairly constructive so far. We just shouldn’t expect any replies from the OP. :stuck_out_tongue:

> No one noticed this thread just got dug up out of the ground from 8 months ago?

The issue at hand (the horrible host selection) hasn’t changed so it’s still relevant.

> Too many words my brain hurts :stuck_out_tongue:

^

Also with JIP coming im wondering how that and black screens will work

Will we see 23 a game …