Continent of the ninth - Italia

Migliorare connessione

« Older   Newer »
  Share  
Spidah
view post Posted on 29/4/2010, 19:04




I was going to confirm this worked for me before posting it (since it's possible C9 could already be doing this itself, but maybe not since it's still in beta), but I haven't had enough time and I feel like it's worked.

Basically I've been having troubles in PvE and PvP. In PvE I couldn't build combo's and hit mobs in the air with assassin very well (only with Shaman). In PvP when I would try and hit someone, they would try and hit me, and the hits would cancel eachother out, except the other person ALWAYS got the first hit. That's a common lag (and lag compensation) issue.

This is a very common way to fix your latency with international servers.

Testing with speedtest.net, and confirming with Wireshark, I have about 100-150ms ping to the servers in Korea. However sometimes it FEELS like 300ms+. There's a reason for that. It's called Nagle's Algorithm, which basically tries to make your connection as EFFICIENT as possible by grouping up packets before sending them, instead of sending them the moment they are created. Which means it MIGHT NOT send your hits as you click, but instead send 2 hits together (on your 2nd click) because it's more efficient due to the server being so far away, which really screws up combat in online games (it's fine for almost every normal application). So the solution is to just disable it, and sacrifice efficiency for speed.

Windows 7
1. From a command prompt (usually in All Programs -> Accessories -> Command Prompt) run "regedit"
2. Browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\Tcpip\Parameters\Interfaces
3. Browse the items under interfaces until you find one that has an IPAddress entry matching the network interface you want to affect (typically LAN IP addresses start with 192.168 or 10.0); note that if your IP address is automatically assigned by a DHCP server you may need to look for a matching DhcpIPAddress instead of IPAddress
4. Right-click on the interface and select New > DWORD (32-bit) Value, name it "TcpAckFrequency"
5. Right-click the new TcpAckFrequency value and select Modify, enter "1" (Hexadecimal radio button should be selected)
6. Right-click on the interface and select New > DWORD (32-bit) Value, name it ?TCPNoDelay? (note that TCP is all uppercase this time ? that?s intentional)
7. Right-click the new TCPNoDelay value and select Modify, enter "1" (Hexadecimal radio button should be selected)
8. Verify that both TcpAckFrequency and TCPNoDelay now show up in the adapters property list with types REG_DWORD and values 0x00000001
9. Exit regedit and reboot (reboot is necessary for the changes to take effect!)
10. Play a game and enjoy your new low ping


Windows XP
1 - TcpAckFrequency - NOTE if you are running Windows Vista this setting may not have any effect - a hotfix is needed which i'm tracking down. This works fine under Windows XP

Type "regedit" in windows "run.." dialog to bring up registry menu

Then find:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\Interfaces\

There will be multiple NIC interfaces listed in there, find the one you use to connect to the internet, there will be several interfaces listed (they have long names like {7DBA6DCA-FFE8-4002-A28F-4D2B57AE8383}. Click each one, the right one will have lots of settings in it and you will see your machines IP address listed there somewhere. Right-click in the right hand pane and add a new DWORD value, name it TcpAckFrequency, then right click the entry and click Modify and assign a value of 1.

You can change it back to 2 (default) at a later stage if it affects your other TCP application performance. it tells windows how many TCP packets to wait before sending ACK. if the value is 1, windows will send ACK every time it receives a TCP package.

2 - TCPNoDelay
This one is pretty simple (Discussed here TCPNoDelay: Core Services )

Type "regedit" in windows "run.." dialog to bring up registry menu

Then find:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers

Right-click in the right hand pane and add a new DWORD value, name it TCPNoDelay, then right click the entry and click Modify and assign a value of 1.

Click Ok and close the registry editor, then reboot your PC.


Vista
You need a patch for Vista. Recommendation: switch to Windows 7


Obviously disabling any downloads, or upgrading your ISP, help significantly.

Anyway, sorry if this doesn't help.
 
Top
0 replies since 29/4/2010, 19:04   128 views
  Share