Leatrix Latency Fix FAQ
How It Works
Online games generally use the TCP protocol which requires that network segments sent to your computer be acknowledged in order to provide a reliable connection.
Windows bundles these acknowledgements together and sends them in pairs. While this is an efficient way of dealing with them generally, the inevitable delays caused by the bundling process increase latency considerably.
This is because when Windows queues up an acknowledgement in order to bundle it with the following one, the game server has to wait for the acknowledgement timer to expire before sending new data.
Leatrix Latency Fix removes the acknowledgement bundling process so that an acknowledgement is sent immediately for every segment that's received. This produces a significant reduction in latency as there is no longer a delay before new data is sent to your computer.
In a normal networking environment, you would prioritise network efficiency over latency and use the Windows defaults, but in online games the opposite is true and you want the lowest latency you can possibly get.
If you could listen to a conversation between your computer and the game server, this is what you would hear.
Before Leatrix Latency Fix is installed:
After Leatrix Latency Fix is installed:
- Server: "Ok computer, I just sent a data packet over to you, got it?"
- Your computer: ...
- Server: "Come on, answer me! I don't have all day! Stop wasting time!"
- Your computer: ...
- Server: "Ok, forget it, I've waited long enough, sending another one over! Got it?"
- Your computer: "Yep, got that one, also got the one you sent before, thanks."
- Server: "Well, why didn't you acknowledge the first one when I sent it? I was waiting ages!"
- Your computer: "Sorry, I'm just trying to make the network more efficient by bundling the acknowledgements together in pairs. This is how I'm setup by default."
Frequently Asked Questions
- Server: "Ok computer, I just sent a data packet over, got it?"
- Your computer: "Yep, send the next!"
- Server: "That was fast! Ok, here's another, got that?"
- Your computer: "Yep, send the next!"
- Server: "Wow! What an improvement! Now that's more like it!"
- Your computer: "Yep, it's certainly keeping me on my toes, thanks!"
Got a question? You may find it's already been answered below.
The TcpAckFrequency Change
- Isn't this the infamous TCP ACK fix?
Yes, but it's packaged in a neat little program which will make the required changes for you, so you don't need to go messing about with the registry.
- Blizzard already disabled nagling in World of Warcraft. Isn't this the same thing?
This is a common misconception but the answer is no. Blizzard disabled nagling at the application level (effectively integrating the TCPNoDelay function into the game client) way back in patch 2.3.2 and they added a checkbox to enable/disable it on-demand in patch 4.1.
Leatrix Latency Fix disables delayed acknowledgements at the Windows level (by modifying TcpAckFrequency). They're two different things.
- Is Leatrix Latency Fix still needed with the latency tolerance setting in World of Warcraft: Cataclysm?
The latency tolerance setting is basically a spell queueing system which will accept spellcast requests from your computer and store them in a cache, firing them off automatically when the server allows them to be fired. While spell queueing has been designed for people with high latency, it's much better to have a low latency and not use spell queueing at all. Leatrix Latency Fix will lower your actual game latency, allowing you to reduce the threshold for latency tolerance or, even better, disable it completely.
- Is Leatrix Latency Fix still needed with the network optimisation setting in World of Warcraft patch 4.1?
Blizzard implemented a checkbox option to disable nagling in World of Warcraft patch 4.1 (referred to as 'network optimisation'). This only serves to disable nagling on data packets so that data packets can be sent to the server more frequently. Leatrix Latency Fix disables nagling on acknowledgement packets to force faster responses from the server, they're two different things and can be used together. So, yes, Leatrix Latency Fix is still needed.
- Will Leatrix Latency Fix use more upload bandwidth?
Yes, but only by a small amount. Leatrix Latency Fix sends one acknowledgement for every one packet received instead of two acknowledgements for every two packets received. The number of acknowledgements sent in either case is the same, it's only the frequency which is different. The only additional upload bandwidth used is for packet headers.
- The displayed latency is lower in game but actual latency is the same isn't it?
As previously stated, when the game server sends data to your computer, the faster that your computer acknowledges that data, the faster the next lot of data is sent.
Leatrix Latency Fix makes your computer acknowledge packets immediately, so subsequent data is sent to your computer in the shortest possible time. Anyone who thinks that this doesn't produce a genuine reduction in latency has failed to understand this simple process.
- Doesn't World of Warcraft use UDP for game data?
No, World of Warcraft uses TCP port 1119 (Battle.net) and port 3724 (Wow).
- Is Leatrix Latency Fix against the terms of service for any online games?
No, it's a local change to your computer's network configuration, nothing more. It's completely safe to use.
- Does Leatrix Latency Fix work with tunneling services?
Using Leatrix Latency Fix with a tunneling service probably won't give you any benefit, so you should decide to go with one or the other. There really is no way to find out which works best for you other than trying both for yourself. The results really depend on a number of factors which are unique to your connection.
But be aware. Tunneling services are essentially proxy servers which are rerouting game traffic and some game publishers may ban your account if you use these services because they may interpret your network routing to be suspicious.
The World of Warcraft Terms of Service state that "You agree that you shall not, under any circumstances..redirect the communication protocols used by Blizzard Entertainment in any way.., including.. tunneling.. or any other techniques.. including.. network play utilizing commercial or non-commercial gaming networks. All connections to the Game and/or the Service, whether created by the Game Client or by other tools and utilities, may only be made through methods and means expressly approved by Blizzard Entertainment."
So use tunneling services at your own risk.
Leatrix Latency Fix, on the other hand, is a local change to your computer's network configuration and is not against any online game terms of service.
- Will Leatrix Latency Fix damage my computer? Can I remove it?
There's a removal option included in the program which will completely erase all traces that Leatrix Latency Fix was ever installed. This isn't one of those programs that changes all of your network settings and you have to reinstall Windows to get things back to normal. If you're not happy with Leatrix Latency Fix, click the remove button and it's gone completely!
- Are there any down sides to running Leatrix Latency Fix?
Your PC will process acknowledgements faster so it will have to work a bit harder. This may produce a small drop in framerates. Running too many network intensive applications simultaneously may result in lag spikes (for example P2P, Vent, Skype, etc). There really is no way to tell other than trying Leatrix Latency Fix for yourself.
Remember that Windows networks aren't designed for online games. They're designed for general desktop computing in large networks where traffic efficiency has the highest priority. In these environments, network latency isn't important at all and bundling acknowledgements together makes sense.
However, online game players are rather unique in that they'll often use a single TCP based application (the game client) for hours at a time and they'll want to give that application priority over any other function of their PC. It's for these players that Leatrix Latency Fix is designed for.
Leatrix Latency Fix should not be installed on computers where you want to put more emphasis on network efficiency. Fortunately, this doesn't apply to most game players and having reduced latency is of considerably more importance.
- Does Leatrix Latency Fix work with wireless networks?
Yes, but for the best latency you should be using a wired connection to your router. Wireless connections have additional overheads and are subject to interference and signal quality. They also can't carry as much data as wired networks which can be a hindrance to the way that Leatrix Latency Fix works. If in doubt, install Leatrix Latency Fix and see for yourself. It won't break anything and there's a removal script included if you need it.
- Does Leatrix Latency Fix work with routers?
Yes. The router only forwards packets between your computer and the game server. It doesn't control what packets are forwarded. If your computer acknowledges every single TCP segment or every other TCP segment, it makes no difference, the router will just do what it's told.
The Leatrix Latency Fix Program
- Does Leatrix Latency Fix work with any other games?
Leatrix Latency Fix modifies the way in which Windows handles acknowledgements to TCP segments. As such, it will affect any application that you have installed which uses the TCP protocol to transfer data.
- Can I install Leatrix Latency Fix without restarting my computer?
Yes, but you'll need to disable and re-enable your network card manually after the installation.
- How can I check if Leatrix Latency Fix is installed?
The status of the installation is shown at the bottom of the main window. It's updated in realtime and there are 3 possible status tags that can be shown.
'Installed' indicates that Leatrix Latency Fix is installed on all network interfaces. 'Not Installed' indicates that no network interfaces have been modified. 'Partially Installed' indicates that some network interfaces have been modified by Leatrix Latency Fix but others haven't. This is usually the case if you add a new network card (or perhaps modem) after installing Leatrix Latency Fix. In this situation, you should click Remove followed by Install to ensure that Leatrix Latency Fix has modified all network interfaces.
You can run the main program at any time to check the status if you're not sure.
- I can't find Leatrix Latency Fix in the Start Menu or Task Manager. Is it installed?
Leatrix Latency Fix makes a simple change to your network configuration during installation. Nothing is added to the Start Menu and no files are stored on your hard drive. Once you've installed it, you don't need to run it again unless you want to remove it or check the status.
- Is this spyware, a trojan or any other nasty thing?
No. Three different Wowinterface administrators have confirmed that Leatrix Latency Fix is not malicious (Shirik, Dolby and Cairenn) and you can read their reports in the comments.
- Why write a program, why not just make a registry file?
Because the keys which are modified are unique to the computer you're using, so it's not possible to make a static registry file and expect it to work for everyone.
- What language is Leatrix Latency Fix written in?
Leatrix Latency Fix 3.x is written in Python. Older releases were written in Visual Basic.
- Do I need Administrator rights to run Leatrix Latency Fix?
Yes, since it modifies keys in HKEY_LOCAL_MACHINE. If your Windows account doesn't have Administrator rights, you will be prompted for the credentials of an Administrator account when you run the program.
- I installed it and can't see any change in latency. Does it not work on every machine?
As long as your operating system meets the minimum requirements shown on the download page, Leatrix Latency Fix should always work. However, you may have applied a similar fix in the past, either through manual registry changes or from using alternative software. You may not be aware that you have done this. The chances are that if you applied Leatrix Latency Fix on a fresh install of Windows on your computer, it will work, and the reason why it's not working is probably because you've already run some sort of optimisation fix or registry change in the past.
- I am seeing lower latency values after installing Leatrix Latency Fix, however, I'm now experiencing lag spikes, especially during periods of frantic activity in dungeons. Why is that?
The increased frequency of acknowledgements may have caused your routers buffer to fill up (essentially creating a traffic jam). Very few people have reported this problem, but it's more likely to occur when you have more than one computer on your network, you are running software which produces lots of network activity or you're connected to a wireless network. If possible, try using a different router with only your computer connected directly to it and don't run network intensive background applications while playing (such as P2P or voice comms).
- After installing Leatrix Latency Fix, it works and the status tag reports that it's installed, but after a while it reports it's no longer installed.
Something on your computer is reversing the network configuration change which Leatrix Latency Fix makes. You need to find out what that is. Monitor the status tag to find out at which point the network configuration is being reset The status tag updates in realtime so you will see it change without having to relaunch the program.
If you're using a USB modem, it could be the dialer software which is causing it, so try to use the Windows dialer instead of the dialer that comes with the modem. This problem can also be caused by conflicts with other TCP optimisation software especially if configured to apply network configuration changes on startup.
- Even after installing Leatrix Latency Fix, my latency in World of Warcraft is still terrible, how can I find out where the problem lies?
You need to understand that Leatrix Latency Fix will make a good connection faster and more responsive. It won't magically fix a bad connection. You can get an indication whether your connection is good or bad using the PATHPING command which is included in Windows.
First, uninstall Leatrix Latency Fix just to ensure that it doesn't interfere with the results.
Now, you need to find out the IP address of the game server you're connected to. To do that, launch Wow, and ensure your realm is chosen and your character list is shown (you don't need to login to the game world with your character). Now bring up a command prompt (press CTRL and ESCAPE together if you can't see your desktop to do that).
In the command prompt window, type in NETSTAT. You will see a list of active connections. One of the entries will have :1119 after it. This means port 1119 which is the port that Battle.net uses. This is the entry that you want. If you have more than one entry with :1119 after it, choose the one which says ESTABLISHED. If you see a connection with :3724 after it which says ESTABLISHED, repeat all of the below for this connection too. This is the port that World of Warcraft uses.
To the left of :1119, you will see the address of the game server that your computer is connected to. For example, on my computer, one of the entries reads "213-248-123-43.customer.teliacarrier.com:1119 ESTABLISHED", so the address of the game server is "213-248-123-43.customer.teliacarrier.com".
Now, type in "PATHPING <address>" where <address> is the address of the game server as explained above. In my example, I would type in "PATHPING 213-248-123-43.customer.teliacarrier.com".
If you've done it right, you will see a route being traced from your computer to the game server. Packets travelling along this route hop from one router to another on their way to the game server destination and each line in the results represents one hop.
Some of these hops will return * as the result, which means that the hop being polled didn't respond. That's fine as long as all the lines with * are grouped together at the bottom of the list, because the hops at the bottom of the list belong to Blizzard. Blizzard's network is protected so Pathping won't be able to detect that there's anything there.
Now, you'll see a message saying "Computing statistics for...". Just leave it running there for a few minutes, after which it will output the final results.
The first line or two in the results will show the address of your computer and gateway or router. The next few lines will be your ISP and you'll probably see references to it (or the carrier they are using) in the address field for each line. Then you'll see lines with "telia.net" in the address field. These hops are at Blizzards end.
Each line of the results will contain something like this:
7 56ms 0/ 100 = 0% 0/ 100 = 0% hbg-bb1-link.telia.net [126.96.36.199]
In the example above, 7 is the hop number and 56ms is the ping for that hop. If you see a high ping for a particular hop which is not consistent with other hop pings, there could be a problem with that hop.
The "0/ 100 = 0%" field shows how many packets were lost on that hop. It should show 0/ 100 to indicate 0 packets lost, but if there's a problem with that hop, you will see a higher number. For example, if there were 23 packets lost out of 100, you would see "23/100 = 23%".
The address for that hop is shown at the end of the line (in the example above, the address is hbg-bb1-link.telia.net) along with the IP address.
By looking which hop has a high ping time or shows a number of packets lost, and seeing which address that hop is for, you can get an indication whether the problem is with your ISPs routing or Blizzards routing.
Your ISP will be able to conduct line tests and possibly suggest optimising your line for low latency (more on this further down in the FAQ). Sometimes, however, there's simply nothing that can be done due to the quality of your line or the distance from your local exchange, or perhaps the ISP (or carrier) is simply overloaded.
Blizzard tend to look at latency issues only when they are widespread and affecting a lot of users (which doesn't happen very often). If you do submit a ticket to them for help with your latency, it will help your case greatly to include a PATHPING report. Note, however, that Blizzard won't do anything if they notice that your report shows higher latency or dropped packets on hops prior to reaching their network (telia.net). They will simply advise you to contact your ISP.
To help you submit a Pathping report, you can output the results to a text file using the pipe switch. Using my original example, this is what I would type to pipe the results to a text file called results.txt.
PATHPING 213-248-123-43.customer.teliacarrier.com > results.txt
Entering this will not output anything to the screen, but when the command prompt has returned to you, there will be a file called results.txt which will contain the output of the PATHPING command, allowing you to copy/paste the text into a web form or email.
- I think the problem is with my internet provider. Can they change anything from their end?
You can contact your ISP and ask them to optimise your broadband line for low latency. The terminology used to describe a low latency optimisation differs depending on your location and broadband type. In the UK, it can be known as Fastpath or Max Delay Reduction. If in doubt what to ask for, speak to your ISP and tell them you have high latency in online games.
Optimising your line will lower your overall bandwidth slightly. In rare cases, it can make your line unstable if the quality of your line isn't very good to begin with. However, most people report a much improved experience with faster ping times and quicker in-game responses.
- Is my latency affected by my choice of internet provider?
Your choice of internet provider can have a big effect on your in-game latency. Most internet providers use traffic shaping to manage bandwidth efficiently, but this usually has a side effect of increasing your latency.
Some providers use traffic shaping to prioritise gaming packets, resulting in lower latency when playing online games. On the other hand, some providers don't use traffic shaping at all, which is great as long as they maintain enough capacity to sustain that.
Traffic shaping is like traffic congestion control on the roads. It slows everyone down a bit, but if the roads are busy then it helps things run smoothly. However, if the roads aren't so busy, congestion control will simply slow down your speed needlessly.
You should do your research before choosing a provider to find out what they do for gamers. Traffic shaping is fine as long as the shaper detects and prioritises gaming packets. Unshaped traffic will produce the best results if the network has enough capacity, otherwise it will be worse than shaping. Above all, try to avoid internet providers that use traffic shaping but don't prioritise gaming packets.