Guide: How to play Splatoon or any Wii U Game (fixing error 118-0516)
-
I am writing this because I don't really see any guides that talks about how to fix this. The guides I do find that work have a ton of unnecessary changes in them. I am not a Pfsense expert so if someone sees a better way to do something then please say it. I am using Pfsense 2.2.4
They most common problem is not being able to connect to the other person. It gives the error of 118-0516 . First lock your Wii U to a static LAN IP Address. You do this by going to Services->DHCP Server . Then look for an ip not used in your dynamic IP range. By default 192.168.1.10-192.168.1.245 is taken up by the dynamic range so choose something less then 10 though I would not choose 192.168.1.1 . At the bottom of the page, add your Wii U's MAC Address and give it the IP address you choose. Be sure to name it so you can identify it. Save it and apply changes (be sure to apply or it will not take effect).
Then go to Firewall->NAT-> outbound . Change it to manuel rules if you haven't done so already. It will auto-generate rules. If your not using VPNs then go to the rule that looks like this(should be on the bottom):
Interface: WAN Source: 192.168.1.0/24 Source Port: * Destination: * Destination Port: * NAT Address: WAN Address Nat Port: * Static Port: No
Click the "+" to a duplicate it. Change it to look like this:
Interface: WAN Source: *chosen ip*/32 Source Port: * Destination: * Destination Port: * NAT Address: WAN Address Nat Port: * Static Port: Yes
If your using OpenVPN, you should have a rule that looks like this:
Interface: VPN Source: 192.168.1.0/24 Source Port: * Destination: * Destination Port: * NAT Address: VPN Address Nat Port: * Static Port: No
You will duplicate this rule instead. It should look like this:
Interface: VPN Source: *chosen ip*/32 Source Port: * Destination: * Destination Port: * NAT Address: VPN Address Nat Port: * Static Port: Yes
Once your done making the rule you made is above the one you just duplicated.
What this accomplishes:
What I believe the problem with connecting to Nintendo's servers is that when you have multiple devices trying to talk to the internet, if they request a specific port but you have it on dynamic port; then if that port is full, the Wii U will end up getting its communications sent on a different port. This causes the data sent to the Nintendo Server to never arrive since they are only looking for communication on a specific ports. When you set it to static port, it will have the Wii U communication wait until that port is open. Then it will send it under the proper port.
Source: jimp & http://www.josh-hartmann.com/configuring-pfsense-for-wii-u-online-play/
I am not a Pfsense expert so if someone sees a better way to do something then please say it.
-
You should not use static port outbound for the entire LAN. It's best to use Hybrid mode with a rule set only to catch traffic from the console and do static port outbound from the console only. Assign the console a static IP address via DHCP static mappings to make that easier.
-
How would you do static for a consule only? I only see the option for interface and not for specific IPs.
-
Use Network type with a /32 CIDR.
x.x.x.x/32 is the same as a single address.
-
Use Network type with a /32 CIDR.
x.x.x.x/32 is the same as a single address.
I've updated it taking into account what you said.
-
That's better :-)
Though it could be more clear that the console NAT rule must be at the top of the list of outbound NAT rules (or at least above the WAN NAT rule for the whole LAN subnet)
Somewhat related: Splatoon Amiibo 3-packs are back in stock @ Gamestop for ordering :-)
http://www.gamestop.com/accessories/splatoon-3-pack-amiibo-figures/121080
-
I solved the issue by writing the rule for the top half of a two subnet class C but not actually subnetting the network. This way the rule only applies to addresses above 128. Then, I just set static DHCP leases to put the game consoles in that half of the network. Completely solved the issue.