Are you getting into games of Battlefield 3, but still having issues? Are you finding yourself dying before you think you should possibly be dead, or seeing an absurd delay between when you pull the trigger and when bullets come out of the end of your gun? Are you screaming at your television about how fast your network connection is and how bad your lag in Battlefield 3 should not be?
We might be able to help. You got to open your ports, dawg.
I had all of those problems during my first few matches of Battlefield 3 on Xbox 360, problems I'm hearing PS3 users mention as well. I get it: it's infuriating. Especially coming from a weekend on the PC version of the game and a year long love affair with Bad Company 2, my initial experience with the retail version of Battlefield 3 on Xbox 360 just didn't feel like Battlefield.
I tried everything, I thought. I played with sensitivity. I did speed tests on my connection. I reset my router. I checked my NAT settings, which were open as open can be. I even put my console in my router's DMZ, which usually means that said console is out there naked to the abuses of the internet at large without so much as a coat or a prayer to protect it. None of it worked. And then someone linked me to this EA support page about opening ports for Battlefield 3.
I rolled my eyes. I haven't had ports open on my router for a couple of years. It just hasn't been an issue, and it's a big pain in the ass with multiple Xbox 360s on one network (a common situation for people with housemates, as I had until recently). And besides, I own a router specifically purchased because of how nicely it plays with Xbox Live and PSN and general game stuff. It's worked flawlessly for every multiplayer title I've jumped into this year. But, being at my wits' end, I tried it anyway.
And it goddamned worked. IT WORKED AND BATTLEFIELD 3 PLAYED LIKE BATTLEFIELD.
But I get that changing router settings can seem like dark magics to some people out there (hell, most people, maybe), so here are some pointers and instructions on that. When I recommend using Google, feel free to substitute your search engine of choice, and please remember that you might need to go through a few links before you find one that gives you what you need. Sorry! I can't fix that.
- First, you'll need the IP address for your console. Both the Xbox 360 and PS3 can tell you this in their network settings section. Is that not specific enough? Click here for PS3, and here for Xbox 360.
Next, you'll want to log into your router. You'll usually do this from a web browser connected to that router by entering your router's IP address into the address bar, and using a username and password. The IP address differs from model to model and manufacturer (though it's usually some variation of 192.168.x.x), and so does the username and password.
So again, Google is your friend. Try searching Google using the words "default username and password" and your router's model number - mine is the Cisco E3000, so I would search for "cisco e3000 default username and password." Your router might have come with setup software instead to make it "easier" to change settings; if it did, and you have that installed, use that.
Now things get a little tricky. Different routers have different menu setups, so port forwarding (which is what we're doing here) might involve slightly different clicks here and there to find. I'm familiar with Linksys/Cisco and D-Link routers, since that's mostly what I've owned. For Linksys routers, you'll probably want to find the tab "Applications and gaming," and from there, you'll want to select "Single port forwarding," unless it's selected by default.
This is another instance where Google is your wingman. If you're lost looking at your router's menu, take a deep breath. Go to Google, and type in "port forwarding on (insert your router name here)." Again, you might need to click a few links to find the specific info you need, but, you know. Welcome to network troubleshooting. It used to be MUCH harder.
So now you're at the port forwarding settings, which probably look something like this: Those empty fields are places for you to add your own "rules," which are guidelines the router will follow for specific kinds of network information.
I've named these XBL1, XBL2, and XBL3, since there are three sets of ports you need to open for Xbox Live. The first rule is for traffic on port 55. I've set the incoming and outgoing ports to 55. You have to open this port for both TCP and UDP (different protocols for network traffic) – my router allows me to set one rule for both, though you might need to set up separate rules for port 55 on TCP and UDP. Next, I've set them to forward to the IP address of my Xbox 360 (remember up there when I told you to find your console's IP address? This is where you'd use that information.).
Finally, in my router's settings, there's a checkbox to enable the new rule that I've added. So, I would want that to be checked, if I want this to work. In the event that you need to disable those rules for some reason, you can easily uncheck the box, rather than manually deleting your new rule.
- You'll want to do this for each of the ports listed in that EA help page for Battlefield 3 I mentioned above. As you can see in my screenshot, for Xbox Live, this includes ports 55, 88, and 3074. Unfortunately, things are more complicated on the PC and PlayStation 3 - you'll need to open separate TCP and UDP ports, and a lot more of them. But it's not difficult. It's just going to take a little longer. Once you're done, there should be a button near the bottom of the settings page that says "save changes" or something similar. Click that.
- You should be done!