Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   Tech Support (https://forums.graalonline.com/forums/forumdisplay.php?f=7)
-   -   Possible Latency Reduction (https://forums.graalonline.com/forums/showthread.php?t=87383)

Rufus 08-13-2009 03:15 AM

Possible Latency Reduction
 
I recently started playing on something that have their servers in Asia, and as I'm in the United Kingdom my latency isn't proving to be as good as a lot of the other, more local players. I noticed on the forums that there was some suggestions for the 'foreign' players, and they've had quite a positive reception. After doing a little research (Googling) I noticed that this method is used by a lot of gamers on a lot of different games, but being in a Graal bubble of ignorance I had never heard of it. With servers being in different locations that are pretty far away from each other (Zodiac in France, Unholy Nation in the US) this might come in use for those that have the UDP disabled.

Nagle's Algorithm is a method of handling information packets across the Internet. When it is enabled (which it is by default) it makes for slower, more efficient packet transmission. For online games that require constant communication, the algorithm can cause lag. Disabling the Nagle Algorithm equates to more packets being sent over a network, which equates to lower ping.
__________________

To disable the algorithm on Windows XP:
  1. Go to the Start menu.
  2. Click on the "Run" button.
  3. Type in "regedit.exe" and hit enter.
  4. Browse to HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Tcpip\Parameter s\Interfaces\
  5. Look for a folder that contains your LOCAL IP ADDRESS under the Data column. The folder that it's in should be named similar, but not restricted to {1C3DE298-6536-4E3B-8BE6-457838544F56}. If there are more than 1 folders that contain your local IP, follow steps 6~9 in those folders.
  6. Go to [Edit]-[New]-[DWORD (32-bit) Value]
  7. Name the new file TcpAckFrequency. This is case sensative.
  8. Right Click on TcpAckFrequency and select [Modify]
  9. Set the Value Data to 1 and check off Hexadecimal.
  10. Restart your computer.
To disable the algorithm on Windows Vista:
  1. Hold down the Windows key on your keyboard and press R.
  2. Type "regedit.exe" or just "regedit" (No quotations).
  3. Browse to HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Tcpip\Parameter s\Interfaces\
  4. Look for a folder that contains your LOCAL IP ADDRESS under the Data column. The folder that it's in should be named similar, but not restricted to {1C3DE298-6536-4E3B-8BE6-457838544F56}. If there are more than 1 folders that contain your local IP, follow steps 5~8 in those folders.
  5. Go to [Edit]-[New]-[DWORD (32-bit) Value]
  6. Name the new file TcpAckFrequency. This is case sensative.
  7. Right Click on TcpAckFrequency and select [Modify]
  8. Set the Value Data to 1 and check off Hexadecimal.
  9. Restart your computer.
Note: To get your Local IP, go to Run, type CMD and in the command line that appears type ipconfig /all. What you're looking for is your "IPv4" address.
__________________

You may notice a difference in performance, but a lot of people won't. The restriction will be gone, and as long as you don't change computers, other online games should run with Nagle disabled. Those who are very close to the server should feel very minimal changes, though they will feel a big change if they are trying to communicate to a server that's overseas on a game that uses TCP. It's a pretty old trick and a lot of you will probably already know about it, but it worked for me on Unholy Nation and other games I've been playing hence why I'm sharing. Thanks to the user Zephyre (of that other game) for most of the text in this post.

Rufus 08-13-2009 03:18 AM

Another means of 'speeding up your computer a little' is by adding the key TcpNoDelay to the registry.

The process is the same for both XP and Vista:
  1. Open up a new Notepad document.
  2. Copy and paste this into the notepad:

    PHP Code:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ]

    [
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers]
    "TCPNoDelay"=dword:00000001

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers\OCMsetup]

    [
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers\Security]
    "SecureDSCommunication"=dword:00000000

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers\setup]

    [
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Setup

  3. Go to File > Save As.
  4. Change the Save As Type to All Files.
  5. Save the name as NoDelay.reg
  6. Look for a file where you saved it that looks like a defragmenting box.
  7. Right click the file and select Merge.
  8. If you don't notice a difference, try to restart your computer.
This won't change your ping very dramatically, or at all for some people, but it will for others.

-Ramirez- 08-13-2009 03:29 AM

The forums screwed up your post. The random spaces will ruin the registry file you want people to copy.

This has more detailed information on exactly what it does (well, at least one of the things mentioned), for those curious and lazy. I was bored and had to read for myself.

Rufus 08-13-2009 03:53 AM

Quote:

Originally Posted by -Ramirez- (Post 1514418)
The forums screwed up your post. The random spaces will ruin the registry file you want people to copy.

Fixed that.

fowlplay4 08-13-2009 03:59 AM

Quote:

Originally Posted by Wiki
Applications that expect real time responses can react poorly with Nagle's algorithm. Applications such as networked multiplayer video games expect that actions in the game are sent immediately, while the algorithm purposefully delays transmission, increasing latency at the expense of bandwidth. For this reason applications with low-bandwidth time-sensitive transmissions typically use TCP_NODELAY to bypass the Nagle delay.

I guess we wait and see if Graal uses TCP_NODELAY o:

Chompy 08-13-2009 12:32 PM

Quote:

Originally Posted by Rufus (Post 1514420)
Fixed that.


Quote:

Originally Posted by Registry File
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSMQ]

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSMQ/Parameters]
"TCPNoDelay"=dword:00000001

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSMQ/Parameters/OCMsetup]

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSMQ/Parameters/Security]
"SecureDSCommunication"=dword:00000000

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSMQ/Parameters/setup]

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSMQ/Setup]

I think that would be more correct? ^^

Admins 08-14-2009 12:18 PM

The Nagle algorithm is disabled in Graal since v1.3.
We could setup a server in asia but I don't know if it would help a lot because it would apparently be laggy for people in europe or US.

Crono 08-14-2009 02:32 PM

Quote:

Originally Posted by Stefan (Post 1514642)
We could setup a server in asia but I don't know if it would help a lot because it would apparently be laggy for people in europe or US.

That's not what Rufus is asking for, he's just saying that this fix helped on another game that is hosted on an Asian server so it might help other people in general too.

fowlplay4 08-14-2009 03:48 PM

Setup another server in US and put Zodiac on it :>

Preferably Chicago, I get 30ms pings there :3

Stephen 08-14-2009 03:54 PM

A server in North America would be pretty nice, especially since most popular serves are populated almost entirely by Americans.

Crono 08-14-2009 04:19 PM

Quote:

Originally Posted by Stephen (Post 1514660)
A server in North America would be pretty nice, especially since most popular serves are populated almost entirely by Americans.

I thought they did have servers hosted in North America? I remember Classic used to be hosted on a US server until it was changed to EU, not sure about the rest.

cyan3 08-14-2009 07:23 PM

Quote:

Originally Posted by fowlplay4 (Post 1514658)
Setup another server in US and put Zodiac on it :>

Preferably Chicago, I get 30ms pings there :3

That would be fine for players in the US but what about people living in Europe? When I used ping on the server ip Zodiac is hosted on I had around 45 ms but when I used ping on the server Unholy Nations was on I got 150 ms.

fowlplay4 08-14-2009 07:39 PM

Quote:

Originally Posted by cyan3 (Post 1514712)
That would be fine for players in the US but what about people living in Europe?. When I used ping on the server ip Zodiac is hosted on I had around 45 ms but when I used ping on the server Unholy Nations was on I got 150 ms.

Well, there is no satisfying everyone with low pings. It should be located where the majority of the player base is from, unfortunately I don't where but it's probably slightly more NA than EU, if that's the case perhaps a server on the East Coast would be most appropriate.

Rufus 08-14-2009 07:47 PM

Quote:

Originally Posted by Crimson2005 (Post 1471362)
Here is my plan, I don't know how possible it is but maybe it could work.
http://img3.imageshack.us/img3/883/planr.jpg

I think this could make it a bit more fair when we are using serverside hit detections.

Edit: I didn't think the city of Godthåb would be feasible.

This sounds like the best solution to me.

Crono 08-14-2009 07:49 PM

Quote:

Originally Posted by Rufus (Post 1514720)
This sounds like the best solution to me.

My god he's onto something!

DustyPorViva 08-14-2009 07:51 PM

He should just do the logical thing and go build an island in the middle of the Atlantic and build his own servers there.

cyan3 08-14-2009 09:46 PM

Quote:

Originally Posted by DustyPorViva (Post 1514722)
He should just do the logical thing and go build an island in the middle of the Atlantic and build his own servers there.

Why didn't I think of that?


All times are GMT +2. The time now is 12:13 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.