JavaScript is required to use Bungie.net

Service Alert
Destiny 2 will be temporarily offline today for scheduled maintenance. Please stay tuned to @BungieHelp for updates.

#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]
English
#Halo #Halo3

Posting in language:

 

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

View Entire Topic
  • 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.

    Posting in language:

     

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

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