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]
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
  • 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.

    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