A couple of days ago I decided to actually look into a problem in CSGO that has always bothered me and has felt awkward and uncomfortable - the instances where very simple, clean shots on moving, or soon-to-be-moving, or has-just-stopped-moving targets miss for no noticeable reason.
I created an autoexec a few hours after first buying CSGO with all the standard recommended network settings (cl_interp 0, cl_interp_ratio 1, cmd/updaterate 128, rate 128000 etc) - being used to all this stuff from many years playing the original Counter Strike competitively. I have always assumed these settings were 'correct' and blamed these instances of very odd missed shots on weird hitboxes combined with smaller models or similar theories.
I no longer think this is the case, and would like to share my experiments, have a discussion and maybe be able to help each other work out the problem, and whether there is anything we can do about it! Alternatively, if I am just being dumb and there is a simple fix, or a simple reason why the problem exists and there's nothing I can do about it, I am all ears! I have a reasonable amount of experience with messing with networking settings in games and know what most of the commands do, but would love some further insight.
What kind of shots?
Imagine a situation where an opponent is running across your field of view. They do not currently know of your presence and are therefore not moving in order to specifically dodge a shot or make it difficult for you in any way. You're quite close to the opponent, so first bullet inaccuracy should never be an issue. You're stationary. You are also under no time constraint, and can slowly aim to guarantee a headshot. You line it up with the center of their head at the time of firing.
And it whiffs. These are the kind of shots i'm investigating, and they happen relatively often. They're especially impactful on pistol rounds where USP-S shots at close-medium range on Terrorists running in straight lines whiff, wasting your powerful first opportunity to cut the numbers advantage down. It also happens often with AWPs - enemies running round corners in a straight line going unharmed as your bullet hits the wall directly behind them. There have been famous examples of these kind of things happening in big matches (poor Allu).
These kind of shots are also often simple to 'fact-check', or be honest with yourself about after the fact, as the simplicity of the shot often lets you 'capture the moment' if you will in your mind, allowing you to have an exact memory or where your crosshair was in relation to the enemy at the time of firing.
Which shots to ignore?
Almost any shot where an opponent is moving erratically, either intentionally in order to dodge or for any other reason, is far more inaccurate to judge. More issues could come into play such dodgy hitboxes while jumping or performing other actions, or simply the added concentration required to hit an accurate shot making it harder for you to accurately determine exactly where your crosshair was in hindsight. The opponents movement in the last fraction of a second may have pushed their head out of your crosshair at the last moment in a way that is hard for you to remember when thinking back.
My findings
As I always assumed these issues were either inherent problems built into the game as a whole, such as hitbox issues, weird netcode or the dreaded '64 tick', or server-specific issues such as a matchmaking or public server running poorly, you would expect the symptoms to occur either on all servers (if game-wide problems, such as hitboxes), or consistently, on certain servers (if server-specific).
After testing this for the last couple of days, neither of these things appear to be true. What has instead appeared as a definite, consistent, unavoidable trend is that of certain players being very consistently either easy to hit, or hard to hit.
It did not matter whether a server was 64, or 128 tick. Whether the server was in France, the UK, Germany or Sweden.
What mattered was who I was shooting at. Against roughly 50-75% of the population, the game felt silky smooth. If, in hindsight, a shot was dead on - it would hit these players whenever I felt it should. Any shot that missed was not entirely clean, and there was some doubt as to whether the shot should have hit, so a miss was understandable.
The remaining 25-50% of the population would not be hit by clean, well aimed shots. They would be hit by shots that in hindsight, actually slightly missed, or were messy and could, but also could not have hit.
This isn't a completely new idea - I remember playing the original Counter Strike in the early 2000s and suffering a similar issue. The difference was that in the early 2000s it was not uncommon to have half the people on the server running around with 200-400 ping. This obviously creates issues. Later, when internet connections became more reasonable and everyone had an acceptable ping, the game still suffered from some people who, mostly due to ignorance, played the game with the default rates and interp settings which affected your ability to hit them, and them to hit you.
These issues cannot be the problem now, in CSGO. The players who I determined as being in the 'hard to hit' group had pings throughout the entire range - some were 100, but some were 5 to 20. Some were in the middle and were roughly 40. They were all hard to hit. There were also players who were in the 'easy to hit' group with pings across the entire range - having 100 ping did not automatically make a player hard to hit - it was often perfectly fine.
In addition, the default rates and interp settings in CSGO are perfectly fine. Players that have never touched their rates are running around with rate 80000, and cmd/updaterate 64 - this is perfectly fine and shouldn't cause these issues. The default interp settings are also well within reason.
My testing method
I played on a bunch of servers - especially headshot deathmatch, focusing entirely on the 'hindsight' view of whether a shot should have hit. After any shot that fell into the parameters detailed in the 'What kind of shots?' section missed, I would take note and see who I was shooting at. Without fail, the same names on a server would continue to come up.
On a 20~ person deathmatch server, the exact same 6 or 7 names would always be the ones that these moments happened against, and they would happen very consistently. You often get opportunities to shoot into the side or back or people running around on deathmatch servers and so they're a great way to test these 'easy' shots where enemies run in straight lines. Getting these simple kills against these specific players was almost always a nightmare, despite the same types of situations being incredibly quick and painless against the rest of the players on the server.
Conclusion / Where to go from here?
So it appears we have a situation where some players hitboxes are not as neatly tied to their visible model on your screen as you would like. It has nothing to do with the server, including whether it is 64 or 128 tick. It has very little to do with your own network settings (so long as they are within reason, I tried tweaking my interp settings and noticed slightly better results with a marginally bigger cl_interp value, but it could have been a placebo because the overall problem still remained). It doesn't seem to have anything to do with those 'CSGO hitboxes' (jumping hitboxes please) because against most players on an average server the game is very crispy and responsive in normal situations - impressively so, in fact. It probably doesn't have anything to do with the opponents network settings, because the default values are perfectly acceptable and shouldn't create such a massive disconnect between model and hitbox.
So what is it? I'd love you guys to chime in with any ideas - or better still go and try and note your own experiences experimenting with this stuff. Why does shooting at some players feel like a LAN environment, while shooting at others feels like i'm playing in 2001, despite us all being on the same server?

Thanks for reading!
