[Guide] Lag Fix Complication

01/22/2011 19:10 Alwaho#1
I have posted many lag fixers before, but now its time to update.

In Game Lag Testing.

There many unofficial ways to simply test your lag in-game. Usually the lag in-game is almost always a combination of client-side, network-side, and server-side lag, so it can be difficult to determine the cause(s) of your lag from just in-game tests. However, it is very useful in determining the amount of actual lag that you have. Actual lag may be correlated with ping due to server and network latency of your location, however, actual lag is only minimally affected by the delay in ping to server. For example, a person who pings 120ms to a Mabinogi server, without lag fixes, may experience a short delay when trying to use a skill, and if this delay is even partially noticeable, the delays (up to 400ms every time) are usually far greater than than the average human reaction time, which is around 200ms.

When there is little to no lag, one should be able do to these common things (generally, the less the skills fade out or delay the less lag you have):

1. Icebolt + Firebolt or + Lightningbolt hotkey Spam: press at least two hotkeys as fast possible, you should not hear a delay at all between magic loading sounds, and your skill bubble does not fade out even when changing.
2.Smash + Defense or + Counterattack Spam: press at least two hotkeys as fast possible, you should not hear a delay at all between skill loading sounds and the flash on your body does not totally fade out as long as you are spamming, and your skill bubble does not fade out even changing.
3.Arrow Revolver Spam: Go out of range of the monster that you are attacking, the skill bubble AND icon never fades (not even a tiny bit; like a 5-charge Icebolt) as long as you are using AR, and your skill bubble does not fade out even reloading.
4.Rank F-A Lightning Spam: This requires you to attack an opponent first with one charge bolt and keep them from moving (or at least from hitting you) as you attack them with lightning, and your skill bubble does not fade out at all even when reloading.
5.Rank F-A Firebolt on Bears: use Firebolt continuously on bears at a knock-back distance (800), you should be able to keep them back indefinitely as long you have mana, and your skill bubble does not fade out at all even when reloading.
6.Weapon Switch Key Spam: use two bows or a bow and kite shield on the Main and Aux. slots, you should be able to hear the switching sounds at approximately 6-8 times per second, as long as you press the weapon switch as fast as possible.
7.Healing Spam: when you click as fast as possible, you should be able to heal someone at around 4 times per second.
8.Ranged Attack Spam: (Requires absolutely no lag) Go out of range of the monster that you are attacking, there should be no skill bubble fade out as long as you continuously attack; you only see ranged attack loading (as if it were only one continuous skill).

How To Fix

Disabling Nagle's Algorithm
Nagle's algorithm, named after its creator, John Nagle, is a process in which data packets are packed together to conserve bandwidth. In most situations, data packets are sent 1 byte at a time, which overloads bandwidth and decrease throughput. Nagle's algorithm helps prevent this by packing them together. The downside to this is data flow needs to be stopped long enough to collect enough data to form one packet. This usually takes around 200 ms. Though seemingly small, this delay ends up affecting your gaming experience or any real time application by choking the flow of data, therefore causing lag. For gamers, this process is obsolete and is actually detrimental. Disabling it yields better latency at the expense of bandwidth.

Most games bypass this algorithm, so disabling it will not affect these games. However, Mabinogi does not bypass it. Therefore it is highly recommended to disable it to improve response time, especially when attempting to do a battle tactic requiring a "lag-free" connection.

Warning: Disabling use of Nagle's Algorithm in Windows requires use of the Registry Editor (Regedit). A lot of critical system information is kept in the Windows Registry. Improper or incorrect changes to the registry could disable the operating system altogether. Instructions must be followed exactly, only making the listed changes.
Windows XP, Windows Vista and Windows 7

1. Click Start, click Run, type regedit, and then click OK.
2. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\Interfaces\
3. In this category will be some folders. The folder in question is the network adapter. This contains information on the network: IP address, gateway, etc. If you are completely confused on which one it is you may add the following line to each folder.
4. Add a DWORD named TcpAckFrequency unless one is already in there. (It is case sensitive) -Add a DWORD by right clicking anywhere on the window.
5. Set the value of the keyword to 1 to disable Nagle's Algorithm.
6. Reboot your PC.
MSMQ is normally not enabled. The following should be done in addition to the above if MSMQ is enabled:
Make sure to have Service Pack 1 installed. (Automatic Updates)
1. Click Start, click Run, type regedit, and then click OK.
2. Locate and then click (or add it if you don't have) the following registry subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers
3. On the Edit menu, point to New, and then click DWORD Value.
4. Type TcpNoDelay for the name of the DWORD, and then press ENTER.
5. Right-click TcpNoDelay, and then click Modify.
6. In the Value data box, type 1 to turn on the Nagle algorithm socket option, or type 0 to turn off the option.
7. Click OK, and then quit Registry Editor.

Lowering your MTU


Lowering the MTU can be used in conjunction with disabling Nagle, but it does not work that well... Anyways, there are two ways to change your MTU, via software, or hardware.

The lower you set your MTU, the less skill lag you will have. It is recommend that you start at 386 and make it lower to see if there is an improvement. Make sure your MTU is an even number, divisible by 2 or 4. Typically, on a low speed connection, you will not see any improvement or it will become worse.

Warning: Lowering your MTU too much will decrease your throughput (speed) dramatically. Do NOT change below 1500 except as a last-ditch effort. Although you will be able to use skills much faster, you may be more prone to occasional lag spikes or disconnections due to a severely limited connection speed from your computer, especially on wireless connections. It is recommend that one finds a balanced MTU for your connection speed. You must able to change your MTU back to 1500 readily when you need to use an HTTP connection.

The minimum MTU that your TCP/IP connection can function with Mabinogi is 48 MTU, which is allows skills to cast/load/change faster than at 386 MTU most of the time. Lowering your MTU to 48 is not recommended unless you have high ranked connection speed. (IE: Optical Fiber)

The MTU setting of 129 seems to give the best results while still preserving the functions of the game.

If slow connection bothers you, consider making Batch files, one to lower the MTU for Mabinogi, and one to reset it afterwards.
Side Effects (Setting at 128~48 MTU):
Slow pet summon speed.
Slow shop opening speed.
High sensitivity to Server-Side Lag.
Unable to read books (HTTP connection).
Unable to view Exploration Chronicle.
Unable to search Housing Board.
To avert these side effects on Windows 7 and Vista please change your MTU back to 1500 as soon as you are logged in a channel.
This the pattern; the lower the MTU the less the skill delay:
Skill Change Speed:
1500 <768 < 512 < 386 < 256 < 128 < 48
Slow------------------------------------>Fast
Decide for yourself which MTU is the best for what you are doing on mabi.
Note: Sometimes you will not see faster skill change times, if you encounter this, please change to a different channel, it is recommended to test all the channels in your server.
Change MTU on Software
This will only affect you and your current connection

Windows XP

(In the same way you disabled nagle:)
Click Start – RUN and type “regedit” and press enter.
1.Navigate to the following Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\Interfaces\<AdapterID>
1.In the right-panel, create a new DWORD named “MTU” with the value (in Decimal).
3.Restart your computer.
Or use [Only registered and activated users can see links. Click Here To Register...] to change MTU
The classic XP MTU change methods do not work for vista.

Windows Vista and Windows 7

see: [Only registered and activated users can see links. Click Here To Register...]
Summary:
1.Run: cmd.exe as Administrator
2.Type/CopyPasteEdit:
(For wired connection):
Code:
netsh interface ipv4 set subinterface "Local Area Connection" mtu=386 store=persistent
(For Wiresless Connection)
Code:
netsh interface ipv4 set subinterface "Wireless Network Connection" mtu=386 store=persistent
3. Press Enter
4. Relog/change channels if you have mabi open already. Restarting computer is unnecessary on vista/win7.

Some connections may not follow the standard names. To see your current connection name, right click the double computer icon and click 'Network and Sharing Center'. In the first section, second row is your current connection name. Remember you must enter the exact name for it to work.

Change MTU on Hardware

This not recommended for wireless connections.
This will affect ALL connections and everyone that is using it. Will decrease the overall bandwidth of all connections dramatically, but still has the same effect if you don't wish to change software/restart your computer (if you have xp).
For Linksys routers only: [Only registered and activated users can see links. Click Here To Register...]
DO NOT SET LOWER THAN 128 MTU ON YOUR ROUTER. You risk failing to connect the settings page.
Summary: use google to find where the MTU setting is in your router. The router settings are usually at 192.168.1.1

Port Fowarding

May stabilize your ping by maximum of ~5ms; minimal effect on lag.
Results depend on your connection type.
Port configuration is custom to your router.
Use this to help: [Only registered and activated users can see links. Click Here To Register...]
Ports Used by Mabinogi:
11020 - Normal Channel Port
8002 - Chat Port
11077 - Housing Channels' Port (May be useful for Guild Battle).
11000 - Login Port

Program(s)

Gboost:
A Free windows game booster service that allows you to temporarily strip down your slowing PC to its bare essentials for gaming. This improves the overall speed of your game including frame rate drops and lag spikes as well as alt tabbing out of games faster and generally more responsive gaming.
This works due to your PC no longer having any unnecessary overhead running tasks not required whilst gaming. Helps your CPU, RAM and also your connection to the internet.

Return your PC back to its former self by either pressing the Restore button or it happens automatically on your next reboot.

Completely safe with no permanent changes made to your PC.

Download:[Only registered and activated users can see links. Click Here To Register...]

Ping Enhancer
Ping Enhancer is a nifty program that will do most of the registry changes for you, so less work involved.(its for the lazy ones;))

Download:[Only registered and activated users can see links. Click Here To Register...]

Citations
[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]
01/23/2011 06:34 adam_j#2
Lol MTU.
01/23/2011 07:02 Alwaho#3
Quote:
Originally Posted by adam_j View Post
Lol MTU.
dun like it? You can customize it lolz, its what i do before a dungeon. I set my MTU to 128 before i dungeon.
01/24/2011 20:33 adam_j#4
It's more the fact that no-one has ever provided any real proof that it has any bearing on mabi at all, seeing as the packets would likely already be tiny, based on the sheer lack of information stored in them.
Not to mention the fact you've turned nagle off prior to this in the fix, meaning that any packet will be sent immediately.

If you'd like to post a video of the difference, go ahead, perhaps there is no difference that I can register with a 50ms connection to the server?

(You missed Vista Anti Lag btw)
01/25/2011 02:36 Alwaho#5
i didn't put vista anti lag because... I cant use it lol. And as for the proof you wanted, here yah go:
that shows the difference in lag lol
01/25/2011 06:18 adam_j#6
Like I said, I saw literally no difference on my system, altering the MTU with nagle disabled.

I also saw no difference when I was playing with 48mtu on NA, with a 200ms connection.

However, the rate of the skills loading at the medium section is very uniform, almost as if the rate of skill activation never changes.

In other words, it looks awfully like you're just pressing the keys at a slower rate.

Not technically a double post (Not entirely sure if it is or not. Merge it if it counts as a DP?), as someone without an epvp account would like me to:

[16:38:46] Pyrii: Btw, as I don't have an ePvP account and won't ever have one, can you write a note from me that I think he's a fucking idiot and should stop listening to n00bs about networking.

I think she approves.
01/27/2011 23:11 Alwaho#7
If you don't like what i post, then you don't like what i post. It DOES help others, so stop telling the things that suck about this thread. Thank you very much
01/28/2011 00:37 adam_j#8
MTU doesn't help anyone who disables nagle correctly..
01/28/2011 10:02 SSDarkLink#9
Quote:
Originally Posted by adam_j View Post
Not to mention the fact you've turned nagle off prior to this in the fix, meaning that any packet will be sent immediately.
Disabling nagle makes the packets come in smaller sizes instead of waiting for all the small packets to become one large packet, meaning MTU would be useless because you're already getting all packets sent at that size instead of waiting for the packets to be patched together in one lump more less and then receive them, from the best of my knowledge, Adam is correct on this one, I can't try this either because I have no lag what so ever after disabling nagle.

But to whoever want's to try this, feel free to post your results, because I'd be interested to see if it works or not.

Edit- This is me with only nagle disabled, not even using game booster.

04/13/2012 16:31 LadySoverein#10
That mediafire link doesnt work bud, think you can fix it xDDD ?
04/13/2012 17:34 Deppzerro#11
reupload lag fix pls?
04/14/2012 00:01 adam_j#12
Quote:
Originally Posted by Deppzerro View Post
reupload lag fix pls?
Google.
04/14/2012 06:35 jas161#13
It's on YouTube and Google everywhere, which is why Alwaho posted this ;)
04/14/2012 22:01 Aka.#14
If you're windows Vista and up just do this;

Create a new .txt file and rename it to .bat instead of .txt, right click the .bat file you created and hit "Edit"
Place the following inside of it.
Wireless Connections:
netsh interface ipv4 set subinterface "Wireless Network Connection" mtu=128 store=persistent
Direct Connection:
netsh interface ipv4 set subinterface "Local Area Connection" mtu=128 store=persistent

Simple enough, you can change 128 to whatever you want and helps you the most.
Also 1500 is usually the default MTU, so remember that or create another .bat file called "Normal MTU.bat"?