Hello I’m a member of the HIGH Command group and I am writing this to help all the other users of HOI2 that wish to speed up the developmental months during the game. We had a 3 players lagging on normal speed and changed the MTU settings in the registry of the server, after a restart we had pretty smooth normal speed play. If you would like to improve your performance with HOI2 across the Internet this registry tweak MAY help you.
NOTE: neither paradox nor I assume any liability for ANY damage you do to your computer attempting to follow the below instructions. The changes listed below are for Windows XP.
MINI FAQ
What is MTU?
MTU is short for Maximum Transmission Unit. MTU setting in the windows registry determines the size in bytes (8 bits to a byte) of a packet sent from your computer to another computer via TCP/IP protocol. The hard coded maximum in windows XP for MTU is 1480. Most Windows XP computers have no setting for MTU and thus run at the default setting of 1480.
WHY do I need to change my MTU settings?
Information sent across the Internet travels through many routers to finally get from the host server to your client computer. The maximum packet size many routers across the Internet will handle is 576 bytes. This is due to the fact that dial up access works best at this setting, and many older routers, and some newer ones, are set up for this setting even today. This lower setting means that a router that receives a 1500 byte packet that sends it to another router set for only 576 byte packets must wait for the target router to tell it to break the packet down, then it must break them down and send several smaller packets, this is called fragmenting.
Fragmented packets require a lot more overhead (this means that more of the packet is taken up by reassembly and routing information compared to the data portion of the packet) for reassembly and are not reassembled at the next router that takes the larger size packets, they are reassembled at the target destination pc. I wont go into to much detail here, but because all the fragmented packets don’t necessarily take the same path to the destination, routers can drop them before they reach the destination pc. Fragmented packets dropped in this fashion require that the original 1500 byte packet be sent again, causing the whole process to repeat until all the fragments do arrive. This is what causes considerable slowdowns when sending packets over many routers across the Internet. The current Ethernet standard has a maximum packet size of 1500 bytes, a bit less with some point-to-point tunneling protocols.
Is there a downside to changing MTU to a lower number of bytes?
This change may have adverse effects on your download speeds to other high-speed high bandwidth sites on the Internet. Example one of our players located in Sweden noticed a decrease in download speed to other sites in Sweden and Norway of between 10 and 15%. However this same person noticed a considerable increase in download speed to several sites in Europe and the USA, again it all depends on the routers between your pc and the site your accessing. In an ideal world were all routers could handle the 1500 byte Ethernet maximum you would have your fastest download speed, due to a larger payload of data per packet compared to overhead.
What happens to ping time when you lower the MTU setting to 576?
Ping times decrease as it takes less time to send a smaller packet. This means for first person shooter game types a 576 MTU is almost always better.
If you wish to determine whether or not you have fragmentation problems with your HOI2 server make sure the host removes all firewalls use the following Ping command at a command prompt.
PING -f -l <MTU size> Address
Example: Ping –f –l 1480 127.0.0.1
This will ping the 127.0.0.1 address with packets that are 1480 bytes. If they cannot be delivered without fragmentation ping will give you and error.
Well now you know the short and dirty version of the way things work. You should know enough at this point to make the decision about changing your MTU setting. If you do I recommend you make these changes to the host first then any clients still having connection problems. If you desire to change your MTU setting please follow the instructions below.
Click on your start button, and then click on the RUN option.
In the RUN box type in “regedit”. This will start the registry editor.
I highly suggest you back up your registry before you follow the rest of the instructions.
To back up your registry, make sure you have highlighted the My Computer root key and click on the File menu, select export, create a name you can find again for the back up and hit save.
Ok now click on the plus next to the My Computer root key, this opens all the sub keys.
Click on plus next to the HKEY_LOCAL_MACHINE key.
Click on the plus next to the SYSTEM key.
Click on the plus next to ControlSet001.
Click on the plus next to Services.
Click on the plus next to NdisWan.
Click on the plus next to Parameters.
At this point some of you will not have any more keys available to open.
You will need to create these new registry keys. Here is how you create the new keys required.
NOTE: make sure you type the items exactly as they are between the quotes including capitalization.
Make sure you click on the folder Parameters. Its icon should appear open and the name parameters should be highlighted
Click on the edit menu and select new, now select key on the submenu. You should now have a new subfolder for parameters, named “New Key #1”
Click on the subfolder “New Key #1” to highlight it.
Right Click and select rename, and rename it to “Protocols”
Click on the folder named “Protocols” make sure the name is highlighted.
Click on the edit menu and select new, now select key on the submenu. You should now have a new subfolder for the “Protocols” folder, named “New Key #1”
Click on the new subfolder “New Key #1” to highlight it.
Right Click and select rename, and rename it to “0” (the number zero)
You are now done making the extra keys required, now we will add DWORD values.
Click on the new subfolder of the “Protocol” folder called “0” and make sure it is highlighted.
Click on the Edit menu; select NEW, now select DWORD value from the sub menu. On the right side you will now have 2 items listed. On top (Default), below that “New Value #1”
Click on the “New Value #1” and make sure it is highlighted.
Right click on the “New Value #1” select RENAME and change it to “PPPProtocolType” Press enter.
Right click on “PPPProtocolType” and select MODIFY. You will get a popup window that has 2 fields Value name with “PPPProtocolType” in it and a Value data with a “0” in it, as well as 2 possible bullet selections called Hexadecimal and Decimal. Make sure the bullet is in Hexadecimal. Now change the Value data field to “21”. Now Hit Ok.
Again make sure the subfolder “0” is highlighted.
Click on the Edit menu; select NEW, now select DWORD value from the sub menu. On the right side you will now have 3 items listed. On top (Default), “PPPProtocolType”, below that “New Value #1”
Click on the “New Value #1” and make sure it is highlighted.
Right click on the “New Value #1” select RENAME and change it to “ProtocolMTU” Press enter.
Right click on “ProtocolMTU” and select MODIFY. You will get a popup window that has 2 fields Value name with “ProtocolMTU” in it and a Value data with a “0” in it, as well as 2 possible bullet selections called Hexadecimal and Decimal. Make sure the bullet is in Hexadecimal. Now change the Value data field to “576”. Now Hit Ok.
Again make sure the subfolder “0” is highlighted.
Click on the Edit menu; select NEW, now select DWORD value from the sub menu. On the right side you will now have 3 items listed. On top (Default), “ProtocolType”, below that “New Value #1”
Click on the “New Value #1” and make sure it is highlighted.
Right click on the “New Value #1” select RENAME and change it to “ProtocolType” Press enter.
Right click on “ProtocolType” and select MODIFY. You will get a popup window that has 2 fields Value name with “ProtocolType” in it and a Value data with a “0” in it, as well as 2 possible bullet selections called Hexadecimal and Decimal. Make sure the bullet is in Hexadecimal. Now change the Value data field to “800”. Now Hit Ok.
When you’re all done and have the “0” subfolder highlighted it should look like this:
Your finished remember to restart for the registry changes to take effect.
Have fun and remember "I'd rather be lucky than good"
TempusHarkonnon
NOTE: neither paradox nor I assume any liability for ANY damage you do to your computer attempting to follow the below instructions. The changes listed below are for Windows XP.
MINI FAQ
What is MTU?
MTU is short for Maximum Transmission Unit. MTU setting in the windows registry determines the size in bytes (8 bits to a byte) of a packet sent from your computer to another computer via TCP/IP protocol. The hard coded maximum in windows XP for MTU is 1480. Most Windows XP computers have no setting for MTU and thus run at the default setting of 1480.
WHY do I need to change my MTU settings?
Information sent across the Internet travels through many routers to finally get from the host server to your client computer. The maximum packet size many routers across the Internet will handle is 576 bytes. This is due to the fact that dial up access works best at this setting, and many older routers, and some newer ones, are set up for this setting even today. This lower setting means that a router that receives a 1500 byte packet that sends it to another router set for only 576 byte packets must wait for the target router to tell it to break the packet down, then it must break them down and send several smaller packets, this is called fragmenting.
Fragmented packets require a lot more overhead (this means that more of the packet is taken up by reassembly and routing information compared to the data portion of the packet) for reassembly and are not reassembled at the next router that takes the larger size packets, they are reassembled at the target destination pc. I wont go into to much detail here, but because all the fragmented packets don’t necessarily take the same path to the destination, routers can drop them before they reach the destination pc. Fragmented packets dropped in this fashion require that the original 1500 byte packet be sent again, causing the whole process to repeat until all the fragments do arrive. This is what causes considerable slowdowns when sending packets over many routers across the Internet. The current Ethernet standard has a maximum packet size of 1500 bytes, a bit less with some point-to-point tunneling protocols.
Is there a downside to changing MTU to a lower number of bytes?
This change may have adverse effects on your download speeds to other high-speed high bandwidth sites on the Internet. Example one of our players located in Sweden noticed a decrease in download speed to other sites in Sweden and Norway of between 10 and 15%. However this same person noticed a considerable increase in download speed to several sites in Europe and the USA, again it all depends on the routers between your pc and the site your accessing. In an ideal world were all routers could handle the 1500 byte Ethernet maximum you would have your fastest download speed, due to a larger payload of data per packet compared to overhead.
What happens to ping time when you lower the MTU setting to 576?
Ping times decrease as it takes less time to send a smaller packet. This means for first person shooter game types a 576 MTU is almost always better.
If you wish to determine whether or not you have fragmentation problems with your HOI2 server make sure the host removes all firewalls use the following Ping command at a command prompt.
PING -f -l <MTU size> Address
Example: Ping –f –l 1480 127.0.0.1
This will ping the 127.0.0.1 address with packets that are 1480 bytes. If they cannot be delivered without fragmentation ping will give you and error.
Well now you know the short and dirty version of the way things work. You should know enough at this point to make the decision about changing your MTU setting. If you do I recommend you make these changes to the host first then any clients still having connection problems. If you desire to change your MTU setting please follow the instructions below.
Click on your start button, and then click on the RUN option.
In the RUN box type in “regedit”. This will start the registry editor.
I highly suggest you back up your registry before you follow the rest of the instructions.
To back up your registry, make sure you have highlighted the My Computer root key and click on the File menu, select export, create a name you can find again for the back up and hit save.
Ok now click on the plus next to the My Computer root key, this opens all the sub keys.
Click on plus next to the HKEY_LOCAL_MACHINE key.
Click on the plus next to the SYSTEM key.
Click on the plus next to ControlSet001.
Click on the plus next to Services.
Click on the plus next to NdisWan.
Click on the plus next to Parameters.
At this point some of you will not have any more keys available to open.
You will need to create these new registry keys. Here is how you create the new keys required.
NOTE: make sure you type the items exactly as they are between the quotes including capitalization.
Make sure you click on the folder Parameters. Its icon should appear open and the name parameters should be highlighted
Click on the edit menu and select new, now select key on the submenu. You should now have a new subfolder for parameters, named “New Key #1”
Click on the subfolder “New Key #1” to highlight it.
Right Click and select rename, and rename it to “Protocols”
Click on the folder named “Protocols” make sure the name is highlighted.
Click on the edit menu and select new, now select key on the submenu. You should now have a new subfolder for the “Protocols” folder, named “New Key #1”
Click on the new subfolder “New Key #1” to highlight it.
Right Click and select rename, and rename it to “0” (the number zero)
You are now done making the extra keys required, now we will add DWORD values.
Click on the new subfolder of the “Protocol” folder called “0” and make sure it is highlighted.
Click on the Edit menu; select NEW, now select DWORD value from the sub menu. On the right side you will now have 2 items listed. On top (Default), below that “New Value #1”
Click on the “New Value #1” and make sure it is highlighted.
Right click on the “New Value #1” select RENAME and change it to “PPPProtocolType” Press enter.
Right click on “PPPProtocolType” and select MODIFY. You will get a popup window that has 2 fields Value name with “PPPProtocolType” in it and a Value data with a “0” in it, as well as 2 possible bullet selections called Hexadecimal and Decimal. Make sure the bullet is in Hexadecimal. Now change the Value data field to “21”. Now Hit Ok.
Again make sure the subfolder “0” is highlighted.
Click on the Edit menu; select NEW, now select DWORD value from the sub menu. On the right side you will now have 3 items listed. On top (Default), “PPPProtocolType”, below that “New Value #1”
Click on the “New Value #1” and make sure it is highlighted.
Right click on the “New Value #1” select RENAME and change it to “ProtocolMTU” Press enter.
Right click on “ProtocolMTU” and select MODIFY. You will get a popup window that has 2 fields Value name with “ProtocolMTU” in it and a Value data with a “0” in it, as well as 2 possible bullet selections called Hexadecimal and Decimal. Make sure the bullet is in Hexadecimal. Now change the Value data field to “576”. Now Hit Ok.
Again make sure the subfolder “0” is highlighted.
Click on the Edit menu; select NEW, now select DWORD value from the sub menu. On the right side you will now have 3 items listed. On top (Default), “ProtocolType”, below that “New Value #1”
Click on the “New Value #1” and make sure it is highlighted.
Right click on the “New Value #1” select RENAME and change it to “ProtocolType” Press enter.
Right click on “ProtocolType” and select MODIFY. You will get a popup window that has 2 fields Value name with “ProtocolType” in it and a Value data with a “0” in it, as well as 2 possible bullet selections called Hexadecimal and Decimal. Make sure the bullet is in Hexadecimal. Now change the Value data field to “800”. Now Hit Ok.
When you’re all done and have the “0” subfolder highlighted it should look like this:

Your finished remember to restart for the registry changes to take effect.
Have fun and remember "I'd rather be lucky than good"
TempusHarkonnon
