JavaScript is required to use Bungie.net

#Halo

10/5/2009 3:36:31 PM
67

A Guide to Networking, Matchmaking, and Host in Halo, version 2.1.1

[b]A Guide to Networking, Matchmaking, and Host in Halo, version 2.1.1[/b] [b]Last Updated[/b]: 14th October 2009 Welcome to the second version of my networking guide. This thread is a revamped version of my previous guide from long ago, and aims to educate users on how Halo 3's networking and matchmaking work, how to improve the experience, and some of the improvements we can look forward to in Halo: Reach. This guide aims to be accessible to all users, but also to provide additional information for more technical users who are interested in further details. There is some information on how Halo 3's Campaign networking works, which is fundamentally different to Multiplayer. Whilst quite a bit of the information here applies in both cases, this post is more focused on Multiplayer networking. [b]As featured by Microsoft Research![/b] Yes, believe it or not, my last thread on the subject was actually referenced by people at Microsoft Research in one of their papers on P2P Matchmaking. You never know who's reading. [b]Now at [url=http://halo.bungie.org/]HBO[/url]![/b] Louis Wu has very kindly put up a [url=http://halo.bungie.org/misc/networkguide.html]local copy[/url] of this thread, and changed the formatting slightly to make it more easily navigable. So you might want to read it there instead, especially if you are only interested in specific pieces of information. [b]Bungie approved![/b] Thanks very much to urk for [url=http://www.bungie.net/News/content.aspx?type=topnews&link=BWU_100909]mentioning this[/url] in the update! [b][u]Index[/u][/b] [i]Before We Begin Networking Jargon Online Gaming Jargon Halo's Networking - how does it work? -Campaign/Co-op -Multiplayer -Key Differences Why host games on players' consoles? Wouldn't dedicated servers be better? What are the advantages and disadvantages of the current Multiplayer model? How can I tell whether I am hosting the game? General FAQ Common Misconceptions Acknowledgements Usage Limitations Further Reading Final Thoughts[/i] [b][u]Before We Begin[/u][/b] A quick note on suggesting changes to networking. Networking is a complicated subject, and if you want to suggest anything sensible regarding changes, an understanding of the basics is essential. It also helps to understand Halo's model as best possible, and the strengths and weaknesses of it. [b][u]Networking Jargon[/u][/b] There are a lot of technical terms related to networking. You don't need to understand them all, but you may see them used throughout this thread. [url=http://en.wikipedia.org/wiki/Client_%28computing%29]Client[/url] A computer that accesses a service on a server. Most players in Halo will be a client the majority of the time. [url=http://en.wikipedia.org/wiki/Denial-of-service_attack](Distributed) Denial of Service attack / (D)DoS attack[/url] A DoS attack is where a network is attacked to overload it, or otherwise prevent access to it in some way. This can sometimes be achieved accidentally (such as when websites experience a massive surge in traffic), but in many cases it is a deliberate attack. Most attacks are distributed, and make use of other networks, especially hijacked computers (botnets), to perform the attack. In Halo this is increasingly being used to remove any chosen player from the game, regardless of who is hosting. Whilst bridging players out is merely a Microsoft ToS violation, DoS attacks are illegal in most jurisdictions. Unfortunately, it is almost impossible for regular users to effectively protect themselves against DoS attacks beyond extremely basic measures. [url=http://en.wikipedia.org/wiki/Internet service provider]Internet Service Provider / ISP[/url] A company that provides Internet access to customers. ISPs vary wildly on the quality and cost of the services they provide. Picking a good ISP is very important for a smooth online experience. [url=http://en.wikipedia.org/wiki/Delay_jitter]Jitter[/url] How much your latency can fluctuate by, in milliseconds. Like the max pause, this should not be higher than a few milliseconds. [url=http://en.wikipedia.org/wiki/Lag]Lag[/url] A vague term. Sometimes used as a synonym for latency, but can also refer to problems caused by packet loss, such as shots not counting, players teleporting, or other connection problems ("I lagged out"). [url=http://en.wikipedia.org/wiki/Latency_%28engineering%29]Latency[/url] The delay between information being sent and it arriving. The delay between cause and effect. Latency can be either 1-way or both ways (RTT), but most often refers to the RTT. This is one of the biggest causes of problems online. [url=http://en.wikipedia.org/wiki/Maximum_transmission_unit]Maximum Transmission Unit / MTU[/url] The amount of information you can send per packet. Xbox Live requires a minimum MTU of 1364. Whilst larger sizes are more efficient, it's generally best not to change this setting if you're not experiencing any issues, especially if you're using a wireless connection. [url=http://www.myconnectionpc.com/support/v3/understand.html#mdelay]Max Pause[/url] How long your connection can be paused or frozen for. Anything higher than a few milliseconds is a sign of serious problems with a connection. [url=http://en.wikipedia.org/wiki/Network_address_translation]Network Address Translation / NAT[/url] NAT is used to allow more than one computer to share the same IP address, and is done for a variety of reasons, including to increase security, and partly out of necessity (we don't have enough IP v4 addresses to give each device its own address). If your NAT is not configured properly and forwarding Xbox Live traffic to your console correctly, it creates connectivity problems between you and other players. If you need help solving this issue, please see the guides on configuring your router, or port forwarding at the bottom. An "Open" NAT means you can connect to everyone with no problems. Conversely a "Moderate" or "Strict" NAT will mean you cannot connect to certain players (depending on [i]their[/i] NAT setting), and means that you might not be able to join games they host, or hear them in a party. Note: your NAT settings have no impact on any lag you experience, only whether you are able to connect to others or not. [url=http://en.wikipedia.org/wiki/Packet_%28information_technology%29]Packet[/url] A chunk of information. All traffic on the Internet is broken down in to smaller pieces in this way. [url=http://en.wikipedia.org/wiki/Packet_loss]Packet Loss[/url] The amount/rate of packets that fail to reach the destination. Packet loss is one of the biggest causes of problems when playing Halo online. [url=http://en.wikipedia.org/wiki/Ping_%28video_gaming%29]Ping[/url] A test that measures the RTT, given in milliseconds. Often used as a verb ("I just pinged him") or as a synonym of latency ("I have a ping of 50ms"). [url=http://en.wikipedia.org/wiki/Computer_port_%28software%29]Port[/url] A data connection used to transmit data directly between computers or programs. Xbox Live uses specific ports to send data, and if these are blocked or not managed correctly, it will create problems. [url=http://en.wikipedia.org/wiki/Quality_of_Service]Quality of Service / QoS[/url] QoS can refer to checks on the quality of a connection, or it can actually refer to methods that ensure a quality connection, for example by prioritising certain types traffic. Most ISPs implement their own QoS system. [url=http://en.wikipedia.org/wiki/Round_trip_time]Round Trip Time / RTT[/url] The time in milliseconds it takes a packet to get to a destination and for a response to be received. The latency "there and back". [url=http://en.wikipedia.org/wiki/Server_%28computing%29]Server[/url] A server is a computer providing a service. When hosting a game of Halo, your console is acting as a server. [b][u]Online Gaming Jargon[/u][/b] A few terms relating to networking you might hear during the course of playing Halo or reading the forums. [u]Standby[/u] Interrupting an Internet connection in order to cheat. This originally comes from players pressing the standby button on their modems, but has come to mean any way of interrupting a connection. [u]Bridging[/u] Networking manipulation used to force a certain player to be host ("I bridged him host") or to selectively remove a player from the game when hosting ("I bridged him out"). Originally named because the easiest way of doing this is to create a [url=http://en.wikipedia.org/wiki/Network_bridge]Network Bridge[/url] and use a Firewall on it. [u]Host Advantage[/u] The advantage the host of the game has over other players, due to shots always counting when they occur, and because things take effect instantly. [Edited on 10.14.2009 4:12 AM PDT]
Add more answer options

Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • K.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • great post. extremely helpful. Thanks alot. :D
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Bravo on this guide. As someone who constantly has to deal with technical mumbo-jumbo confusing the living hell out of them, you deserve a GREAT amount of credit for making it so easy to read, and summarizing the harder parts. I don't know how much of this I will put to use (I still haven't opened my damn NAT), but thanks for giving me a basic understanding of why my games go screwy. Once again, bravo.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Finally got around to reading this. Busted a few of my misconceptions and for people like me that know very little about computers and connections it is highly informative and keeps things at a level most can understand. Very nice job! I've saved the thread, I suggest others do the same ;-)
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • [quote][b]Posted by:[/b] D PALMERIZER I got a quick question; Is it better to plug up your xbox 360 directly to your modem than to plug it through a router than to your modem?[/quote]Direct connect is ideal, since you don't have to worry about NAT. But since most people now have more than one PC, a router is usually essential.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • I got a quick question; Is it better to plug up your xbox 360 directly to your modem than to plug it through a router than to your modem?
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Very nice thread. Being a comp sci major in networking engineering and data structures, this is well explained and organized. Good job!
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • So, assuming you can block all voice comms (don't have the box in front of me) it should help multiplayer run smoother? Oh yeah, one more thing... last night something fishy was going on during the pre-game lobby. It flashed network problems 2x's, booted one member from our team and one from theirs, and then it seemed like the other team had a one second advantage for the duration of the game! Another player quit or was booted not too long into the match as well. I'm just curious if that sounds like foulplay? It was VERY glitchy as in I will be shooting someone, until they turn around and I die instantly... or I see the Ghost boosting and I get splattered with it about 20 feet in front of me still. Was this a DoS attack or some kind of bridging? Or do I need to talk to my ISP...
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • yay i learned
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • [quote][b]Posted by:[/b] One One Seven Updated to version 2.1 - now with more rambling! [quote]I am not to sure on this part, if they are using a dedicated server all users connect to just that server. All IP's returned will be from just the server not the users on it. So in reality the only IP a DoS attack will effect would be to the server IP. It could be possible if they infected a dedicated server and had a program that displayed all IPs connected to it, but I doubt that could happen as often.[/quote] Not true I'm afraid; you can still find out a player's IP address in game from the voice/connectivity checks, or via the dashboard. As I mentioned before, I don't want to go in to details here. Put it this way, if what you said were true, you'd only be able to lag out the host if you were a client by doing a DoS attack. Yet other players can be and are attacked as well. However, in other games that do use servers, or even games like CoD where new players can take the place of others, it's not really that beneficial in most cases. Stopping DDoS attacks is almost impossible. It's better if Bungie simply make it less profitable to do so, by allowing disconnected players to come back in the game, or by better detection of cheaters. [/quote] Ah forgot about the Voice connection. As I said, was not to sure on that. Thanks for the clarification. [Edited on 10.13.2009 1:12 PM PDT]
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • I have 100% packet loss when pinged :'( [Edited on 10.13.2009 7:20 AM PDT]
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Very nice. Confirms some things I thought, debunks a couple I had wrong and taught me a few new things. Also helps hammer the point across to the layperson about what [i]really[/i] matters when it comes to connection. A fair treatment of the server argument too I feel. The only thing I'm still curious about is those pesky connection indicators in-game.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Updated to version 2.1 - now with more rambling! [quote]I am not to sure on this part, if they are using a dedicated server all users connect to just that server. All IP's returned will be from just the server not the users on it. So in reality the only IP a DoS attack will effect would be to the server IP. It could be possible if they infected a dedicated server and had a program that displayed all IPs connected to it, but I doubt that could happen as often.[/quote] Not true I'm afraid; you can still find out a player's IP address in game from the voice/connectivity checks, or via the dashboard. As I mentioned before, I don't want to go in to details here. Put it this way, if what you said were true, you'd only be able to lag out the host if you were a client by doing a DoS attack. Yet other players can be and are attacked as well. However, in other games that do use servers, or even games like CoD where new players can take the place of others, it's not really that beneficial in most cases. Stopping DDoS attacks is almost impossible. It's better if Bungie simply make it less profitable to do so, by allowing disconnected players to come back in the game, or by better detection of cheaters.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Doesn't Solve Cheating - Servers do not eliminate cheating, they simply make certain kinds of cheats harder. You might not get standbyed or bridged out of a game, but with DoS attacks becoming increasingly more common, [i][b]you[/i][/b] or even the server itself might be attacked. A few years ago in my original guide, some people were scoffing about the idea that cheaters would move over to DoS attacks, yet the situation has become so problematic that even the mass media has started to pick up on it. ----------------------------------------------------------------- I am not to sure on this part, if they are using a dedicated server all users connect to just that server. All IP's returned will be from just the server not the users on it. So in reality the only IP a DoS attack will effect would be to the server IP. It could be possible if they infected a dedicated server and had a program that displayed all IPs connected to it, but I doubt that could happen as often.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Fills in lots of gaps. good job!
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • So, I got a perfection over the weekend and I contribute it to a near-lag free game. This is drastically different from most H3 games that I play because while I can visually see my shots hit... they don't cause damage. Until this article I never knew why. I rushed over to [url]http://www.pingtest.net[/url] and ran a test. Here is what I got: [url]http://www.pingtest.net/result/849326.png[/url] Now, the interesting thing is that I moved back in April. The house then had Comcast Cable (less than optimal for online gaming) and I think has sabotaged my chances of hosting. Now, in my new home, I use Embarq DSL in the highest tier possible. According to your article, am I to assume that H3 is just now starting to trust my connection more? I hope so, that one game has renewed my faith in MM games. I may even play ranked again... if more are on the way.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • This is Informative [i]*Saved*[/i] ^.-.^
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Yes this is a very enlightening thread for people who have common misconceptions about the Halo 3 MP and host selection. This should be stickied!
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • the halo reach beta starts 2010 on march the 12th good thing that i got the special edition of odst =) i found that informations in the newssection on [url=http://xboxteam.110mb.com/mine]www.Xbox.com[/url]
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Great write up dude, i've learned a few things here. Can we get a mod to stickie this. I feel more people NEED to read this.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Awesome, brilliant guide again.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • I hope a lot of people read this. Great information.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Nice tutorial,But you shouldnt of meantioned dos were gonna have 13 year olds running around kicking me offline haha
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Thanks to everyone who pointed out minor errors, and for their feedback. I'll correct/add as needed when I update the main post. [quote][b]Posted by:[/b] boethias chosen I was just wondering about average data usage per hour(upload and download). You said that the game uses 756kbps up and down. Does this mean that this is the data usage every second you are in a game. How would you estimate the average data usage in MBs/Hr?. I understand it can vary but just a ballpark figure.[/quote] Halo typically uses 4-6KB/sec per player both up and down. So assuming a rate of 6KB/sec either way (12 total), and assuming you are a client that gives ~45MB/hour of ingame playing. Obviously that figure can change depending on voice, connection drops, how good the host is, how much stuff is taking place in game etc. [quote][b]Posted by:[/b] fauci @ one one seven: with concentration now on reach, is it likely that any new modifications to odst/mp or coop are will happen[/quote] There's essentially no chance I'm afraid. Even if Bungie dedicated a lot of resources to it, it's almost impossible to make the kinds of changes needed that everyone would like to see as you're extremely limited by what you can patch in (not to mention such patches are highly likely to break stuff elsewhere). [quote][b]Posted by:[/b] thinkreddie When looking for an ISP, should I be looking for quick ping times first? From what I've read, increasing bandwidth without speeding up ping times will have little effect.[/quote] It's very true that if you have very bad latency, adding more bandwidth isn't going to help, and you'll want to focus on improving that first. If your latency is generally good, it's probably best to focus on bandwidth and the general quality elsewhere instead. Everyone is in a unique situation here; there's so much difference between connections that without knowing lots of details it's hard to make specific advisements. If you do want to play games though, bandwidth should generally be the last aspect of the connection you focus on; the consistency and quality of the connection are more important (unless you have such a low level of bandwidth that you can't play!). [quote][b]Posted by:[/b] NoD RiveR If you dont run a router are there any specifics to setup other than an open NAT on your console or to your modem?[/quote] Very unlikely; your ISP should advise you if that's the case. Sometimes you do need to change additional settings but this is generally rare. [quote][b]Posted by:[/b] Shotgunchief A friend of mine, let's just call him Chrome, lives in Canada and claims he has amazing internet. Yet, when he joins a custom game with us (this doesn't seem to happen in matchmaking, though we rarely do play that with him), somehow he automatically obtains host every time and the game becomes extremely laggy to the point of where we don't respawn. He'll have to leave and rejoin so somebody else takes host but then one or two games later he takes over again and the lag returns. Does anybody know why this happens? No, I don't know the specs of his internet so I can't answer that.[/quote] A few possibilities I can think of: His connection quality has recently dropped a lot and the game still hasn't figured it out and so gives him host over everyone else. The game has almost no idea of how everyone else's connections are for hosting games, and while this guy's connection sucks, it's still a known entity, so he gets chosen for host most often. Everyone's connection is crap in some way, and his is the lesser of many evils. I'd guess that option 1 is the most likely.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • [quote][b]Posted by:[/b] AndrewTattersall This thread > Every other thread about networks[/quote] Indeed it is. This thread actually answered a question I've been wondering about forever. "Why do bullets curve in halo 3?" Thanks so much for this guide! It's definitely bookmarked on my browser.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

  • Nice Post. I was just wondering about average data usage per hour(upload and download). You said that the game uses 756kbps up and down. Does this mean that this is the data usage every second you are in a game. How would you estimate the average data usage in MBs/Hr?. I understand it can vary but just a ballpark figure.
    Add more answer options

    Cancel Edit Create Fireteam Post Play nice. Take a minute to review our Code of Conduct before submitting your post.

preload icon
preload icon
preload icon
You are not allowed to view this content.