Counter-Strike 2

Counter-Strike 2

View Stats:
Ace42 Aug 27, 2016 @ 12:02am
[Solved] Windows10 hit-reg bug
Windows 10's default networking settings were terrible for my (from clean) installation, leading to completely broken hitreg in a number of games (TF2, CS:GO, Blizzard's Overwatch, to name a few notable culprits) – a problem that took over a year for me to diagnose and address.

I gather (but haven't been able to confirm) that this issue would be present in Windows 8 / 8.1 too; and the method described below makes the Windows TCP/IP command stack behave more like Windows 7's defaults AFAIK.

Here are the steps I followed to fix my connection and get my hiteg back on point.

Input the following commands into an elevated command prompt (start > type in CMD, right click the command prompt and pick 'run as administrator'):
netsh int tcp set global chimney=enabled netsh int tcp set global dca=enabled netsh int tcp set global netdma=enabled netsh int tcp set global congestionprovider=ctcp netsh int tcp set global ecncapability=enabled

Windows 10 probably won't allow you to set CTCP as the congestionprovider via the above command, so you can achieve it in the following manner:
Merge the following with the registery (copy-and-paste into a text file, save the textfile as anything.reg, right click that .reg file and pick "merge with registery") and then reboot:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0] "0200"=hex:00,00,00,00,01,00,00,07,00,00,00,00,00,00,00,00,1e,00,00,00,00,00,\ 00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,\ 00,ff,00,ff,ff,00,00,00,00,00,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00,\ ff,ff,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00 "1700"=hex:00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,ff,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ ff,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00

If performed correctly, typing the command 'netsh interface tcp show global' into the command prompt should return similar to the following:

TCP Global Parameters TCP Global Parameters ---------------------------------------------- Receive-Side Scaling State : enabled Chimney Offload State : enabled NetDMA State : disabled Direct Cache Access (DCA) : disabled Receive Window Auto-Tuning Level : disabled Add-On Congestion Control Provider : ctcp ECN Capability : disabled RFC 1323 Timestamps : disabled Initial RTO : 3000 Receive Segment Coalescing State : disabled Non Sack Rtt Resiliency : disabled Max SYN Retransmissions : 2 TCP Fast Open : enabled

As far as I can tell, the important parts are the Chimney Offload State being 'enabled', as well as the Add-On Congestion Control Provider being 'ctcp'.

If you having unrelated latency issues, you can disable (or otherwise adjust) stuff like nagleing as described here:
https://www.back2gaming.com/guides/how-to-tweak-windows-10-for-gaming/
Last edited by Ace42; Aug 27, 2016 @ 12:17am
< >
Showing 31-42 of 42 comments
the_jACK_Ripper Dec 4, 2016 @ 8:32am 
and dont get me wrong, what you are suggesting is quite possibly benign, the registry editting is always suspect, but what im saying is that you are more than likely not seeing any benefit for this and are flirting with disaster that you may or may not realize until much later
Ace42 Dec 4, 2016 @ 3:08pm 
Originally posted by !_jACK_! {0-dAy:
please read more into if you want. what i am saying is you are changing settings that you personally have no idea what they are doing, and then telling people to change them because it is going to fix whatever made up and/or real problem they may be experiencing, is a terrible thing.

So as a self-described "network guru" etc, etc - can you outline precisely in which situations this will cause a problem?
Would they best be described as "completely conjectural, hypothetical, and without any real precedent or reason to believe they will crop up"?

I again digress to this one important thing, UDP is the protocol for CSGO not TCP, and if you are really having network related issues for CSGO, youre bottleneck is not on a gigabit or even a 100Mb line that is running to your router.

Who said the issue was with "bottle-necking"?
I already pointed out that if the issue was mere packet-loss, latency, or excessive bandwidth consumption (unlikely on a 30 megabit private connection which is nowhere close to full utilisation) it would've been measurable via diagnostics.

It is your router and your internet connection,

Well, I'm all ears if you can explain what sort of router problem would manifest in poor hitreg; but no mearuable latency, packetloss, packet-shaping or exhaustion of bandwidth; ditto for internet connection problem.

Also why this problem would coincide with an upgrade to Windows 10, despite the router being identical and there being no measurable change to my ISP's service over the same period; and coincidentally resolve itself after making the above changes.

before you go all doing something just because someone on the internet says to, especially something like this try to understand what you are doing, because from my point of view this is not only frivolous, but you may make your networks worse. mainly because your networks are not your problem and what you may think is this great thing is really placebo.

Frivolous? Quite possibly. It may be a placebo (one that immediately and directly coincided with a quantifiable and recorded 10% increase in my Sniping accuracy in Overwatch profile's statistics). How would one tell without getting a sizeable control group and measuring their responses?

May make your network conditions worse? Eh, that's also a possibility; but one that also applies to misconfiguring your router's QOS if its interface is less-than-clear, or even just trying out different drivers for your network adaptor.

But again, if it has made my network conditions worse, it hasn't done so in a way that has increased my ping to any given server, hasn't caused any sort of packet loss, hasn't impacted my bandwidth throughput on speedtest.net, or had any impact on my ability to stream or receive streaming data - or on my in-game accuracy.
And this after three months of it being configured thus. What issues do you expect to crop up that can't be fixed by simply going into safemode and using a command prompt to reset the Win10 default congestion manager; or simply replacing the registery key in question with any value of your choosing?

If you have network congestion that is causing hitbox registration wierdness

And if you don't, as per my situation and thus this topic?

What if your "hitbox registration wierdness" (which includes video-documented evidence of 20ms latency, 0% PL network conditions, and easy perfectly aligned headshots missing immobile targets) directly corresponds to upgrading to Windows 10; and - apparently - was only resolved immediately following the above fix?

and again, as a networking guru, a linux guru, a programmer, a systems engineer, a security analyist, a computer builder, a web server admin, what you are suggesting people to do is not a good idea

Or a bad one if, as you concede, the change is merely benign but frivolous.

Originally posted by !_jACK_! {0-dAy:
and dont get me wrong, what you are suggesting is quite possibly benign, the registry editting is always suspect, but what im saying is that you are more than likely not seeing any benefit for this and are flirting with disaster that you may or may not realize until much later

Eh, we're not using Macs - flirting with disaster is what recreational PC use is all about. Might as well ♥♥♥♥ your pants every time someone suggests overclocking as a way to improve frame-rates.
Last edited by Ace42; Dec 4, 2016 @ 3:16pm
the_jACK_Ripper Dec 4, 2016 @ 3:25pm 
tldr i will say this, even a gigabit connection suffers from bufferbloat, and if you are having network issues you would be wise to look into using a router that has QOS functionality and fine tuning the QOS settings to your specific needs.

want to learn more about qos?

http://www.tldp.org/HOWTO/Traffic-Control-HOWTO/

also see

http://www.netfilter.org/

for more about packets and how they work.

what you are failing to realize is that messing with settings that you dont know what they do specifically is a dumb idea in general. furthermore editting your registry without registry experience (ie msce classes and or classes that deal with registry editting) or knowing specifically what you are doing is a TERRIBLE idea. furthermore than that repropagating things like settings tampering and registry editting without you yourself knowing specifically what they do and claiming them as a "fix" is a complete disservice to the board.
the_jACK_Ripper Dec 4, 2016 @ 3:27pm 
by all means play around with systems idgas, what i care about is someone claiming something and then having XX number of sheeple doing half alterations, forgetting about those alterations not understanding how to undo the alterations and messing things up worse. worse yet is someone telling someone to do a bunch of things that he himself doesnt know what they do.
Ace42 Dec 4, 2016 @ 4:05pm 
Originally posted by !_jACK_! {0-dAy:
what you are failing to realize is that messing with settings that you dont know what they do specifically is a dumb idea in general.

The settings enable chimney offload, whose functionality is described here:
https://support.microsoft.com/en-gb/kb/951037

And set the congestion manager to be handled via the CTCP algorithm, whose purpose is described here:
https://www.microsoft.com/en-us/research/project/the-compound-tcp-for-high-speed-and-long-distance-networks/

And I learnt far more "messing around with settings that I don't know what they do specifically" over the last 30 years of using computers than I did for the two years of formal academic study in computing. Because after "messing around with them" I then discovered what they did or did not do.

If all I did was sit on my hands in paranoid doubt, I'd've learned precisely nothing.
If I'd spent the time going through the brain-dead Microsoft Certification process; I'd be the one having to ask my MSCE acquaintances for advice, instead of the one they turn to when their "microsoft certified" procedures come up blank.

furthermore editting your registry without registry experience (ie msce classes and or classes that deal with registry editting) or knowing specifically what you are doing is a TERRIBLE idea.

The registery fix in question actually originated on Microsoft.com as it happens; although admittedly not from anyone whose credentials could be confirmed.

However, registery editing is trivial to anyone with a degree of common sense; and I'm surprised anyone who thinks they are a "linux guru" would find it to be even remotely daunting - given how much root-access faffing around in terminal even the most user-friendly distros require in order to maintain even basic functionality.

furthermore than that repropagating things like settings tampering and registry editting without you yourself knowing specifically what they do and claiming them as a "fix" is a complete disservice to the board.

Well thank ♥♥♥♥ the board police are here to teach their granny how to suck eggs...
Kitai Dec 4, 2016 @ 4:09pm 
sigh its not windows 10 issue its all of csgo on my win 7 and 8pcs its the same as it is on 10 nothing changes the game in windows
the_jACK_Ripper Dec 4, 2016 @ 5:04pm 
lmfao kid i dont believe a word you say otherwise you would have easily known that all networking issues with multiplayer games and bufferbloat or lag is something that is handled on the router.

either way reading about what something is rather than just flipping switches is much better and not subjective to some dunning krueger suffering pleb's subjective opinion.

sorry i still say to NOT do this and am now unsubscribing from this futile debate.

but fwiw windows 10 adds a ♥♥♥♥ ton of call home packets, unless you turn them off. also csgo constantly and by constantly i mean every second it is open is broadcast requesting for listening servers to connect to. there are a ♥♥♥♥ ton of background network packets that go on, and many ways to control them. learn a little about the simpler networks like that before you go all netsh modify settings and parsing code to the registry, and dear god dont post that ♥♥♥♥ on the board for people who for sure dont understand it (forgoing your made up or not understanding of things) to go and try it
Ace42 Dec 6, 2016 @ 3:24am 
Originally posted by the_jACK_Ripper {0-dAy:
lmfao kid i dont believe a word you say

This coming from the "guru" who's brought nothing to the table apart from paranoia, idle speculation, and a lot of pretention.
Oh, and an arbitrary link to a particularly unhelpful Linux-orientated guide to QOS scheduling.

otherwise you would have easily known that all networking issues with multiplayer games and bufferbloat or lag is something that is handled on the router.

Did *I* say the issue was 'buffer-bloat' or lag? I specifically said that the issue had nothing to do with ping, and thus the factor that most people would describe as "lag".
I'm curious as to how someone would get Microsoft certification if they can't even read; although not THAT sceptical, because most MSCE people I've had to work with neither listen to the problem at hand - nor have the deductive reasoning to analyse a problem that isn't one commonly found on the flow-chart-solutions they're spoonfed.

either way reading about what something is rather than just flipping switches

Not in the field of computing, where pretty much everything you might learn in an academic setting is obsolete from the get-go.
As a "programming guru", I'm surprised you've not found yourself at least once being formally taught a language that was on the way out, if not completely moribund, by the time the course rolls around.

Even when it comes to *routers* you're so insistent people piss about with, I've had some with half-assed Engrish firmwares that have accidentally inverted what their tickboxes do! Trial-and-error would've been the only way of correcting the misconception that "reading about it" would have caused.

This is ignoring the fact that most software is poorly (misleadingly if not downright incorrectly) documented, and often glitchy or counter-intuitive.

Sorry i still say to NOT do this and am now unsubscribing from this futile debate.

Boo-hoo...

also csgo constantly and by constantly i mean every second it is open is broadcast requesting for listening servers to connect to. there are a ♥♥♥♥ ton of background network packets that go on, and many ways to control them. learn a little about the simpler networks like that before you go all netsh modify settings and parsing code to the registry,

You assume that these possibilities haven't been discounted...

But thanks for avoiding any opportunity to be helpful - by providing a step-by-step user-friendly method for diagnosing this as a cause and politely suggesting people eliminate that as a possibility*before* moving onto other options.

and dear god dont post that ♥♥♥♥ on the board for people who for sure dont understand it (forgoing your made up or not understanding of things) to go and try it

You think I "made up" the links I provided from Microsoft.com? Surely that would require I have at least some form of authority conferred by MS?

And if someone had posted the above to the board themselves, it would've saved me a modest amount of time pissing about with all manner of other diagnostics and solutions and drawing a blank before I hit on something that (coincidentally or not) has fixed the issue I was having.

But congrats on being a ♥♥♥♥ for several days in a row, thereby ensuring that a topic archived for posterity so that anyone doing a deep-search for the issue might get some inspiration, is floating at the top of the board again.
Last edited by Ace42; Dec 6, 2016 @ 3:25am
Killah should pin this...
The_Toastman Dec 6, 2016 @ 4:10am 
'The specified file is not a registry script.You can only import binary registry files from within the registry editor.' what am i doing wrong here? i copied the text word for word changed it to .reg changed it to ansi encoding yet still doesnt work.
Ace42 Dec 6, 2016 @ 4:22am 
Originally posted by The_Toastman:
'The specified file is not a registry script.You can only import binary registry files from within the registry editor.' what am i doing wrong here? i copied the text word for word changed it to .reg changed it to ansi encoding yet still doesnt work.

http://steamcommunity.com/app/730/discussions/0/359547436751656858/#c359547436754157183
DogMan Aug 11, 2017 @ 11:30pm 
Sorry for bumping old thread
Guys if you are having the error The specified file is not a registry script.You can only import binary registry files from within the registry editor you have to add ' Windows Registry Editor Version 5.00 ' without quotes to the very top of the registry file, for example i will use the reg script our friend here made

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0]
"0200"=hex:00,00,00,00,01,00,00,07,00,00,00,00,00,00,00,00,1e,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,\
00,ff,00,ff,ff,00,00,00,00,00,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00,\
ff,ff,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00
"1700"=hex:00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,ff,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
ff,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00
Last edited by DogMan; Aug 11, 2017 @ 11:30pm
< >
Showing 31-42 of 42 comments
Per page: 1530 50

Date Posted: Aug 27, 2016 @ 12:02am
Posts: 42