You can also view this page in the following Languages :
NAT Traversal removes the requirement users to manually forward ports (though it might be recommended in rare circumstances) and allows multiple LAN players to easily play in the same game room.
For more help it's recommend you visit the NAT Traversal Forum.
A high level architectural diagram is below:
Justification for NAT Traversal
Without NAT traversal the game itself tries to establish connections to all remote players after it is launched. Unfortunately, these days there are a lot of routers (NATs) in use. This causes troubles for games because instead of reaching the remote computer the data ends up getting stuck in the router. To workaround this, users typically have to forward ports to their computer. This causes trouble because (1) it's challenging to port forward for some users (2) some users don't have control over their routers (e.g.: at a wifi hotspot). The path used by the game is the NAT Traversal Off route shown above.
How NAT Traversal works
With NAT Traversal, there are three paths for the game data to go:
- NAT Direct Tunnel - This is a direct path from one user to another (peer-to-peer). It's like the non-NAT Traversal path, however, the Voobly server is used only when the connection is established. The server is used to able to setup a path for the two computers to communicate without first being able to talk to each other. Once the connection is established the server gets out of the way. This works for most users, however, those with symmetric NATs will still have to manually port forward (they break the technique used to establish the connection)
- Fast Proxy Server - This is a dedicated server for relaying game traffic that runs on one of the Voobly central servers. It's only used when a direct tunnel cannot be established. Because it's not direct using this path will increase the time it takes to delay packets and increase the players pings who use it.
- Slow Proxy Server - This proxy server also relays game traffic, however, unlike the fast proxy server it reuses the network connection used for the lobby / game room. Like, fast proxy in-game latency is increased, however, with the slow proxy server it's increased even more as the lobby was never designed for low latency communication, whereas, the fast proxy server was.
When NAT traversal is enabled connections are established in the game room. This is unlike when NAT traversal is off and the game establishes connections after the game is launched. When a user joins the game room a negotiation happens to determine the fastest way those computers can communication. In order of priority they are direct tunnel (peer-to-peer), fast proxy server, and then finally the slow proxy server as a last resort.
Network Diagnostic Tool
When you are experiencing problems it is recommended you run the network diagnostic tool. For more help it's recommend you visit the NAT Traversal Forum. Please copy and paste the network diagnostic log when you create a thread. If nothing in the diagnostic tool helps you can also read the common problems section.
You can find in the Lobby window, by clicking "Options" -> "Network Diagnostics", this is shown in the image below:
Test Result: All Pass
Network Health: All tests passed!
Recommended Action: None
Details: All tests passed.
Test Result: Not Forwarded
Network Health: Warnings found but probably OK
Recommended Action: if you experience networking problems such fast proxy then [You must login to view link] is recommended.
Details: You were able to receive traffic on the same port from all the servers, however, you were not able to receive data on the port configured in the Voobly client settings. It is recommended you forward this port in your router to the PC you use to play.
Your router auto-assigned a different port from the one you used for your computer. The traffic was still able to be relayed by use of a routing table.
Test Result: Symmetric NAT
Network Health: Poor
Recommended Action: [You must login to view link] recommended or switch routers
Details: Your router assigned different public ports to all the test servers this will make it hard for users to directly connect to you. You will likely see a large number of fast proxies.
Your router auto-assigned a different port from the one you used for your computer. Unfortunately, it is assigning each server a different port.
Test Result: Connection failure
Network Health: Failure
Recommended Action: Turn off firewall, disable firewall, or uninstall firewall, [You must login to view link], if none of that works reinstall your operation system or try to directly connect to the internet without a router.
Details: Connections to one or all of the servers failed
Is a Direct Connection Possible?
Every connection between two players is different. The following table shows which combinations should connect and which will use a fast proxy:
NAT traversal allows many gamers to play without forwarding ports, however, some users still need to forward a port because of their ISP or router.
With NAT you only need to forward a single UDP port, the default port is 16000 (you can change in NAT Traversal Settings). You do NOT need the directplay ports 2300-2400 and 47624.
Some guides on port forwarding are at (remember to correct the guide into using Voobly port instead of Age of Empires or Directplay ports):
- [You must login to view link]
- http://www.voobly.com/pages/view/upnp - If your router supports UPNP you can enable UPNP on Voobly. Voobly client will then ask your router to auto-forward the ports.
If these still do not work, other things to try are:
- You can also try rebooting your computer or restarting your router.
- Disabling firewalls first, then uninstalling any firewalls or anti-virus software you might have. At times broken firewalls will bust all your ports.
- If you have forwarded 2300-2400 UDP to your computer already you can change the port in NAT Traversal Settings to 2310 to see if it fixes your problems. If it does not, please switch it back to 16000.
- Fix for ISP in Morocco - http://www.voobly.com/forum/thread/159789
Other Problems with NAT
Trouble with multiple players on the same network
Try giving each player a different port setting the NAT traversal options.
General NAT Traversal Settings
The latest two check boxes shouldn't be checked other than for debug.
Game Room settings
The game rooms with the white satellites have NAT traversal enabled:
If you have trouble connecting directly to specific users (you get fast proxy) even after the network diagnostic tool is marked as passing, please get the Debug Log (Local) and Debug Log (Remote) and post them in the NAT Traversal Forum.
To get the NAT log, right click on the player in the game list, then select "NAT" -> "Debug Log (Local)" or "Debug Log (Remote)" .
- Debug Log (Local): What is happening from your computer's point of view with the connection.
- Debug Log (Remote): This will request the remote player's log. The log will be transmitted from their computers to yours and then displayed.
To debug issues, both logs are needed. In some cases the remote log feature won't work if the network connections are completely broken, and in that case both users should post their local logs.
Viewing the Log
To get the NAT log, right click on the player in the game list, then select "NAT" -> "Debug Log (Local)" or "Debug Log (Remote)" . The log will be printing out into the game room.
A log window will popup to display the log:
Understanding the Debug Log
The following table below will explain some of the fields from the table in the log:
Host your own proxy server
Most users should be able to directly connect, however, some users with Symmetric NAT do not have the ability to port forward (e.g.: they might be connecting from a University). In some of these cases, this users will frequently need a proxy connection.
Voobly provides a proxy server, called fast proxy, which is located in the USA. While fast proxy works well for those users located near to it geographically, for users across the world it can have a significant impact on latency as the data would first go from, e.g.: China (user1) to USA back to China (user2).
Voobly now provides the option for users to host their own proxy server to allow other users to connect through them to play. This is similar to the concept of virtual private networks (VPNs) or Hamachi. These user hosted proxy servers are referred to as "user proxy" in the remainder of this guide.
The diagram below shows the difference in distance data would travel between the different connection types. Clearly, a user proxy server can be better than fast proxy if the user is not in the USA and the user proxy is located close to the user using it.
User Proxy Setup Guide
Instructions for Proxy Host
- Download the user proxy server: v1.0.2 for Windows or v1.0.2 for Linux
- The user proxy program needs TCP port 9000. Port forward that to the computer hosting the proxy server.
- Find your internet IP and give it to the players than need it. You can find your internet IP at [You must login to view link]
- Extract the proxy server files to a directory
- Start the proxy server program:
- Windows: run userproxyd.exe
- Linux (foreground mode): ./userproxyd
- Linux (run userproxyd in background): nohup ./userproxyd &
Instructions for Player
In NAT Traversal Settings make the following changes:
- Click override default proxy server
- Enter the IP and port of the proxy server host (proxy server should be located near to you geographically or it will be no better than fast proxy)
To test the proxy server connection you can disable direct connections and play some test games. Re-enable direct connections before playing normal games.
Are you willing to let users connect through your proxy? Let us know! We're looking for some stable proxies in key geographic locations such as China and India.
Voobly NAT Updates
Last updated on 2 July 2015 - 4:32 pm by
6 User(s) are reading this document (in the past 30 minutes)
0 members, 6 guests
0 members, 6 guests