The Gold Road Chapter – which includes the Scribing system – and Update 42 is now available to test on the PTS! You can read the latest patch notes here: https://forums.elderscrollsonline.com/en/discussion/656454/

Enable CTCP and ECN In Windows may reduce latency in some online applications

RinaldoGandolphi
RinaldoGandolphi
✭✭✭✭✭
✭✭✭✭
I am going to name this article ESO KB2913357

This article applies to the following versions of Windows:
Windows Vista/Server 2008
Windows 7/Server 2008 R2
Windows 8/Server 2012
Windows 8.1/Server 2012 R2

Symptoms

In some online applications, a user may experience latency or slower then expected network performance under certain conditions on high speed boradband connections.

Solution - Enable CTCP and ECN on your network connection

Windows Vista/7 by default CTCP and ECN are disabled on supported versions of Windows Vista and Windows 7. To enable these features please do the following:

1. Open an Elevated Command Prompt (cmd "Run as Administrator")
2. In the Elevated Command Line, Type the Following Commands
3. netsh interface tcp set global ecncapability=enabled
4. netsh interface tcp set global congestionprovider=ctcp

Reboot your system for the changes to take effect

After reboot, open an elevated command line and type the following command:
netsh interface tcp show global

In the list you should see the items below

ECN Capability -"Enabled"
Add-On Congestion Control Provider-CTCP

If yours match, your done. enjoy yourself

How to revert settings back to default

If you ever need to disable these settings simply open an elevated command line and type:

netsh interface tcp set global ecncapability=disabled
netsh interface tcp set global congestionprovider=none


Then Reboot your system.

Windows 8/8.1

Making these changes on Windows 8/8.1 can be more tricky because part of the netsh command is sorta bugged (Well MS depreciated it, so its harder to tell whats on and whats off)

So lets get started:

1. Open an Elevated Command Line.
2. Type the Following in the command line:
3. netsh int tcp set global ecn=enable
4. Close the Command line.
5. Open an "Elevated Power Shell" Window (Powershell is included with Windows 8/8.1)
6. Type Get-NetTcpSetting and press enter
7. Scroll the list until you find "Internet" Profile...you will see CTCP is enabled, thats good.
8. In the same Power Shell Window type Get-NetTcpConnection
9. You should see all your listening ports, sockets, and Internet Connections are using the Internet Profile.

The Internet template is the default on all Windows 8 client machines and this is not configurable. By default, CTCP is set as the congestion provider on the Internet template and so it also the default on all Win8 machines - As per my contact at Microsoft.

We are just making sure your TCP/IP Stack is not corrupted in any way.

10. Reboot your system.

We already verified CTCP, now we just need to check ecn.

Type the following command in an elevated command prompt:

netsh interface tcp show global

You should see:

ECN Capability -"Enabled"

IGNORE THE ADD-ON CONGESTION CONTROL PROVIDER VALUE IN NETSH. IT IS BUGGED AND DOES NOT SHOW THE CORRECT VALUE SINCE ITS TIED TO PROFILES NOW THAT ARE NOT CONFIGURABLE AS PER MICROSOFT STARTING WITH WINDOWS 8 NETSH IS DEPRECIATED.

Good luck.

users can get a 45-60% performance increase on high speed connections depending on scenarios by making these changes..everything will work better, from streaming to gaming. :)

Rinaldo Gandolphi-Breton Sorcerer Daggerfall Covenant
Juste Gandolphi Dark Elf Templar Daggerfall Covenant
Richter Gandolphi - Dark Elf Dragonknight Daggerfall Covenant
Mathias Gandolphi - Breton Nightblade Daggerfall Covenant
RinaldoGandolphi - High Elf Sorcerer Aldmeri Dominion
Officer Fire and Ice
Co-GM - MVP



Sorcerer's - The ONLY class in the game that is punished for using its class defining skill (Bolt Escape)

"Here in his shrine, that they have forgotten. Here do we toil, that we might remember. By night we reclaim, what by day was stolen. Far from ourselves, he grows ever near to us. Our eyes once were blinded, now through him do we see. Our hands once were idle, now through them does he speak. And when the world shall listen, and when the world shall see, and when the world remembers, that world will cease to be. - Miraak

  • wrlifeboil
    wrlifeboil
    ✭✭✭✭✭
    Go to speedguide.net and look for config 'hacks' but only for pre-Win 8.x systems.

    I didn't see any improvement on my Win 8.x system when I tried those settings with other online games.
  • RinaldoGandolphi
    RinaldoGandolphi
    ✭✭✭✭✭
    ✭✭✭✭
    wrlifeboil wrote: »
    Go to speedguide.net and look for config 'hacks' but only for pre-Win 8.x systems.

    I didn't see any improvement on my Win 8.x system when I tried those settings with other online games.

    Perhaps, but not all online games or applications benefit from these changes. The possibility exists that they do though...I have seen performance increases on my Comcast connection by using these settings.

    http://en.wikipedia.org/wiki/Explicit_Congestion_Notification

    ECN is part of the RFC 3168, so its optimal to enable it just because its part of the official spec.

    http://en.wikipedia.org/wiki/Compound_TCP

    Compound TCP can only help you in certain scenarios...the fact Microsoft has this enabled by default on Windows 8/8.1/2012/2012R2 systems is testament to that...Since Windows Vista and 7 can turn these features on, its probably a good idea to enable them.

    I am not saying these changes will magically fix everyone's problems, but they could only help you, not only in games, but in everything else as well...as your network connection would be better optimized and used more efficiently. However, not every connection or situation will benefit from this, however, its very rare these settings would ever hurt you...so its probably best to turn them on. :)

    Rinaldo Gandolphi-Breton Sorcerer Daggerfall Covenant
    Juste Gandolphi Dark Elf Templar Daggerfall Covenant
    Richter Gandolphi - Dark Elf Dragonknight Daggerfall Covenant
    Mathias Gandolphi - Breton Nightblade Daggerfall Covenant
    RinaldoGandolphi - High Elf Sorcerer Aldmeri Dominion
    Officer Fire and Ice
    Co-GM - MVP



    Sorcerer's - The ONLY class in the game that is punished for using its class defining skill (Bolt Escape)

    "Here in his shrine, that they have forgotten. Here do we toil, that we might remember. By night we reclaim, what by day was stolen. Far from ourselves, he grows ever near to us. Our eyes once were blinded, now through him do we see. Our hands once were idle, now through them does he speak. And when the world shall listen, and when the world shall see, and when the world remembers, that world will cease to be. - Miraak

  • Bangstin
    Bangstin
    ✭✭✭
    I'm kinda tempted to try that but i fear such a delicate tinkering just to get a single game work would take me back in time 20 years and i would find myself looking at dos screen and fine tuning config.sys and autoexec.bat so the would be enough free memory to run the next game that comes out.
    Edited by Bangstin on May 14, 2014 5:22PM
  • wrlifeboil
    wrlifeboil
    ✭✭✭✭✭
    I'm not disagreeing with you. Just pointing out speedguide.net because it gives some explanation of what the commands do where eso guidance just tells you to do it.

    One size doesn't not fit all. What might be work for an mmo might not be good for big downloads or Netflix depending on the quality of your connection.
  • wrlifeboil
    wrlifeboil
    ✭✭✭✭✭
    Here is the speedguide.net link:
    http://www.speedguide.net/articles/windows-7-vista-2008-tweaks-2574

    It explains the changes you can make using netsh as well as some registry hacks you can try to improve your network speeds and latency. Note what it says about the ECN parameter:
    ECN Capability

    ECN (Explicit Congestion Notification, RFC 3168) is a mechanism that provides routers with an alternate method of communicating network congestion. It is aimed to decrease retransmissions. In essence, ECN assumes that the cause of any packet loss is router congestion. It allows routers experiencing congestion to mark packets and allow clients to automatically lower their transfer rate to prevent further packet loss. Traditionally, TCP/IP networks signal congestion by dropping packets. When ECN is successfully negotiated, an ECN-aware router may set a bit in the IP header (in the DiffServ field) instead of dropping a packet in order to signal congestion. The receiver echoes the congestion indication to the sender, which must react as though a packet drop were detected.

    ECN is disabled by default in Vista and other modern TCP/IP implementations, as it is possible that it may cause problems with some outdated routers that drop packets with the ECN bit set, rather than ignoring the bit. To check whether your router supports ECN, you can use the Microsoft Internet Connectivity Evaluation Tool. The results will be displayed under "Traffic Congestion Test".

    To change ECN, in elevated command prompt type:

    netsh int tcp set global ecncapability=default

    Possible settings are: enabled, disabled, default (restores the state to the system default).
    The default state is: disabled
    Recommendation: enabled (only for short-lived, interactive connections and HTTP requests with routers that support it, in the presense of congestion/packet loss), disabled otherwise (for pure bulk throughput with large TCP Window, no regular congestion/packet loss, or outdated routers without ECN support).

    Notes: ECN is only effective in combination with AQM (Active Queue Management) router policy. It has more noticeable effect on performance with interactive connections and HTTP requests, in the presense of router congestion/packet loss. Its effect on bulk throughput with large TCP Window are less clear.

    Currently, we do not recommend enabling this setting, as reportedly it has negative impact on throughput with some residential US ISPs. EA multiplayer games that require a profile logon do not support ECN as well (you will not be able to logon).

    More information on ECN: Explicit Congestion Notification (ECN) for TCP/IP
  • RinaldoGandolphi
    RinaldoGandolphi
    ✭✭✭✭✭
    ✭✭✭✭
    Very insightful wrlifeboil. I think were both right and its always good to point out all pros and cons of things.

    on a side note, I had some free time after work and decided to flash dd-wrt on my router. I bought this router two months ago specifically because its compatible. As I have been running open source router firmware and firewall distros for years. I gave the stock firmware a chance simply because I have been swamped lately and haven't had time.

    long story short, all my lag problems are gone...i can be around lots of mobs now and it doesn't make a blip. No more packet loss of any kind. Dd-wrt is pretty much RFC compliant though.

    I didn't need to enable ECN on my end because DD-WRT has its own congestion algorithms built in and you can choose from a few different ones, I'm using tcp Vegas.

    I'm beginning to wonder if many peoples lag is due to buggy stock firmware on most routers.

    DD-WRT is not for the faint of heart though, you really gotta understand networking to use it and a newbie would be lost because it doesn't hold your hand...you also run the risk of bricking your router if you don't know what your doing.

    just thought I'd throw that out there but everything I do online now works better the stock firmware on mine was buggy...UpNP port mappings not deleting unless I rebooted the router was the final straw for me that forced me to make time to flash better firmware on it....not all routers support these firmware though.

    anyways paving the buggy netgear stock firmware off my router and replacing with dd-wrt has pretty much solved my issues :)
    Rinaldo Gandolphi-Breton Sorcerer Daggerfall Covenant
    Juste Gandolphi Dark Elf Templar Daggerfall Covenant
    Richter Gandolphi - Dark Elf Dragonknight Daggerfall Covenant
    Mathias Gandolphi - Breton Nightblade Daggerfall Covenant
    RinaldoGandolphi - High Elf Sorcerer Aldmeri Dominion
    Officer Fire and Ice
    Co-GM - MVP



    Sorcerer's - The ONLY class in the game that is punished for using its class defining skill (Bolt Escape)

    "Here in his shrine, that they have forgotten. Here do we toil, that we might remember. By night we reclaim, what by day was stolen. Far from ourselves, he grows ever near to us. Our eyes once were blinded, now through him do we see. Our hands once were idle, now through them does he speak. And when the world shall listen, and when the world shall see, and when the world remembers, that world will cease to be. - Miraak

  • Saerydoth
    Saerydoth
    ✭✭✭✭
    I already do all this through my Linux server/router, plus a buttload of QoS to make sure that other network traffic can't ever lag online gaming. With Linux at least, you have a great deal of control of EVERY bit of network traffic that passes through the machine (whether it originates from that machine or not).
  • ChairGraveyard
    ChairGraveyard
    ✭✭✭✭
    So I went through the SpeedGuide.net guide, most options were already enabled, but I did set CTCP on (not ECN tho as recommended by the article) and some other options.

    I noticed a HUGE improvement, not just in the game but in general internet browsing and also streaming performance.

    YouTube for instance, used to be basically unusable for me, as it would take several minutes to buffer any video, and constantly lose buffer or start rebuffering for no reason (not bandwidth related as I have plenty enough to stream high res).

    After enabling stuff according to the guide YouTube is snappy as heck - I can buffer 1080p videos with no issue now.

    The improvement in ESO is harder to notice but is definitely there - the game responds to input without nearly as much delay it seems.
    Edited by ChairGraveyard on May 15, 2014 5:23PM
  • RinaldoGandolphi
    RinaldoGandolphi
    ✭✭✭✭✭
    ✭✭✭✭
    Glad I was able to be of some help. The ecn us optional, its one of those "enable and see if it improves, if not turn it off"

    however ctcp will show improvements. That's why its enabled by default on win 8 and later.

    hope it continues to be an improvement for you. :)
    Rinaldo Gandolphi-Breton Sorcerer Daggerfall Covenant
    Juste Gandolphi Dark Elf Templar Daggerfall Covenant
    Richter Gandolphi - Dark Elf Dragonknight Daggerfall Covenant
    Mathias Gandolphi - Breton Nightblade Daggerfall Covenant
    RinaldoGandolphi - High Elf Sorcerer Aldmeri Dominion
    Officer Fire and Ice
    Co-GM - MVP



    Sorcerer's - The ONLY class in the game that is punished for using its class defining skill (Bolt Escape)

    "Here in his shrine, that they have forgotten. Here do we toil, that we might remember. By night we reclaim, what by day was stolen. Far from ourselves, he grows ever near to us. Our eyes once were blinded, now through him do we see. Our hands once were idle, now through them does he speak. And when the world shall listen, and when the world shall see, and when the world remembers, that world will cease to be. - Miraak

  • ChairGraveyard
    ChairGraveyard
    ✭✭✭✭
    I'm tempted to try ECN and also maybe disabling the Nagle's algorithm stuff (so small packets are sent immediately).

    I'll report back if I try them. As it is though, CTCP by itself is a great improvement to my internet in general - thanks a ton!

    Even torrent is faster at getting connection... used to take 5-10 minutes to connect to seeders and peers, now it's practically instant.
  • Sakiri
    Sakiri
    ✭✭✭✭✭
    Now if only I could fix my wifi dropping lol.

    Seriously. Overnight sometimes my router stops taking new connections. Phone wont connect, laptop wont connect and if I reboot my pc, it wont connect despite being hardwired.

    Rebooting the router fixes this. My old netgear didnt do this. Rebooting it every two days is infuriating. Weve updated firmware. No dice.
  • wrlifeboil
    wrlifeboil
    ✭✭✭✭✭
    I'm tempted to try ECN and also maybe disabling the Nagle's algorithm stuff (so small packets are sent immediately).

    I'll report back if I try them. As it is though, CTCP by itself is a great improvement to my internet in general - thanks a ton!

    Even torrent is faster at getting connection... used to take 5-10 minutes to connect to seeders and peers, now it's practically instant.

    When I was using Vista and then Windows 7, the nagle registry hack helped a lot for WoW but was a negative for Netflix and large downloads. Ymmv. With Win 8.x I don't bother with as many registry hacks and it performs just as well for online gaming and streaming video and music. Microsoft learns, eventually.
  • wrlifeboil
    wrlifeboil
    ✭✭✭✭✭
    Sakiri wrote: »
    Now if only I could fix my wifi dropping lol.

    Seriously. Overnight sometimes my router stops taking new connections. Phone wont connect, laptop wont connect and if I reboot my pc, it wont connect despite being hardwired.

    Rebooting the router fixes this. My old netgear didnt do this. Rebooting it every two days is infuriating. Weve updated firmware. No dice.

    Wi-fi has so many things that can affect the signal. One simple thing you can try if you know the unit isn't defective is changing the channel.
  • Sakiri
    Sakiri
    ✭✭✭✭✭
    That does fix my wired connection being unable to access the internet if I have to reboot before I can restart the router.

    Roommates playing world of tanks in a match. Something updated. Wants me to restart. Restart. No internet until his butt is out of match and reboots router.
Sign In or Register to comment.