Saturday, August 1, 2009

How to make RO work Faster, Fixing Lag issues

For some time now, there have been some videos floating around on several sites of players from Japan that have partly solved one of the big issues RO has: the general tendancy for monsters and players to appear in places other than where they are when being damaged.

This is what your RO probably looks like right now:



This is caused by a TCP/IP feature used in windows by default known as the Nagle Algorithm. This feature allows windows to delay the transmission of TCP packets in order to save bandwidth by grouping packets into a single transmission. This can cause the aknowledgment of a TCP transmission to be delayed by up to 200 ms, by default.

In RO, the game server does not send the client certain information (such as movement of monsters or players) untill the previous transmission has been aknowledged by your client, among other similar issues. By disabling the windows feature that allows this, your RO should look more like this:



Disabling this option is a very simple process, and completly legitment as it is modification only of your own operating system. Do note that in theory, doing this could cause other network related programs to function less well, but I have not had any issues with it, and it is an easily reversable process.

The following method is for XP Pro SP 2 or later. This works with Vista SP 1 or later as well, but has a slightly difference process for step 1 which was posted by Artimus here.

Step 1: Install Microsoft Message Queuing

Open your window's Add/Remove programs and select Add/Remove Window's Components



From here, find Message Queuing and ensure it is installed. This service is necessary to change the default window settings.



Step 2: Set TcpAckFrequency

Open your registry by running regedt32 and find the key:
HKLM\System\CurrentControlSet\Services\Tcpip\Param eters\Interfaces\\

You can determine which Adapter ID is the correct one by looking for your IP Address listed on the right pane.

In the correct Adapter, add the DWord TcpAckFrequency and set the value equal to 1.

(How to add a new registry value:)


This image has been resized. Click this bar to view the full image. The original image is sized 989x467.


Now browse to the registry key:
HKLM\SOFTWARE\Microsoft\MSMQ\Parameters\

Add a DWord TcpNoDelay and set the value equal to 1.

This image has been resized. Click this bar to view the full image. The original image is sized 989x467.


Step 3: Restart MSMQ services

Now that the correct registry settings have been made, you have to restart the services controlling these settings (or reboot your computer)

To restart the services, run services.msc and browse to the Message Queuing service. Select it, and hit the restart service button.



At this point everything should be set correctly and you should be able to enjoy a slightly more responsive in game experience.

Subscribe

Bookmark and Share