Recently there have been some issues with Counter Strike: Global Offensive’s hit registration, especially with the AWP. Some Reddit users made posts about it on the Global Offensive subreddit, discussing possible reasons for the failure of bullets to register as having hit an enemy.
“1) The AWP quickswitch test
I had noticed something in my demos: when doing quick weapon switches after firing an AWP shot, my shots often wouldn’t register. So I decided to test & film the issue.
So how did I achieve to get so many hitreg failures in the video? When I shoot the awp, I tend to immediately switch to knife & then immediately switch back to the AWP. I can do this extremely quickly, hence why you don’t even see me taking out the knife in the video. The 3 buttons used by me are: fire (left click), knife (scrollwheel click), Primairy weapon (scroll up). Note, when trying to test this yourself that you must switch within 15ms on 64 tick to get this particular case of hitreg failure. It’s easy for me to do because I’ve always played this way. I tried to do this action as quickly as I possibly could to make sure I would capture the issue, which is also the reason why I sometimes don’t shoot at all, because I pressed the button to switch weapons too early. As the video clearly shows, doing quick weaponswitches causes a lot of shots to not register & the “shot” bullet is given back.
“Q: So why do you do those weapon switches?
A: It’s a quite common thing to do. It’s ment to prevent the awp from auto-rescoping in after having fired a shot. Some will do the same but switch to pistol, so they can quickly fire their pistol on a missed shot. With my binds I can also quickly switch to pistols instead, by scrolling down.
“2) The tick theory
I’m guessing that the cause of hitreg failure in this case is because the firing and the weapon switch is recorded in the same tick, making the server disregard the shot and give back the bullet you shot. Obviously this would mean the lower the tick the higher the chance of hitreg failure in this particular case.
64 tick = 1 tick every 15.6ms
128 tick = 1 tick every 7.8ms
This would mean that if you switch weapons after having fired a shot within 15.6ms there’s a chance of your shot not getting registered, or 7.8ms for 128 tick.
Edit: as it’s easier to make the weaponswitch shots miss on 32 tick I think this theory is correct.
“3) Odd “lag” that seems to be serversided
Next to the hitreg issue the quick weapon switches seem to cause another issue. During the testing of this the game froze shortly twice for perhaps 0.5 seconds, nothing mayor but also something I normally don’t get when playing on servers. But when watching the video I had recorded I noticed something that could be an even bigger problem. After some time the video starts to stutter and some parts look as if something has been cut out. This wasn’t at all how it felt like when playing it, it was completely smooth to play except for the 2 smaller freezing periods I mentioned.
“So my guess is that these stutters in the video resemble stutters that are happening serverside as a result of doing quick weaponswitches. Possibly caused by an error, overflow or something else. The clientside stays smooth when playing but the serverside could be having some kind of issue. The idea that the serverside is having issues is supported by the videostutter not occurring when doing the same thing on an online server, as the serverside isn’t being done on my own PC like in the test.
The problems seems to stack as the stutters seem to get worse over time. This issue might not only explain your hitreg problem but also of others: if somebody else quickswitches his weapon, the stutters it causes serverside could make other people miss shots & cause the delayed death some people report.
“4) Theory to explain all hitreg issues
Obviously the tests I’ve done only show a particular hitreg issue, while hitreg issues are also happening when not doing weapon switches. The quick weapon switches might not be the only thing that causes serverside problems.Possibly also other quick actions can cause the same issues. For example stutterstepping, button spamming & strafing shots.
The server problems / stutters caused by this might also make shots of other players not register.
“5) Bad internet related hitreg issues
Even if my theory is correct, it might still not explain ALL hitreg failures. There’s a good chance there will still be some hitreg issues related to lag / bad internet / package loss. My theory just applies for when the hitreg failure isn’t related to your internet connection.
Extra: this theory could also explain why some people aren’t experiencing as many hitreg issues as others are reporting. As an example: not everybody quickswitches when AWPing.”
This triggered an official response from Valve’s own Brian Levinthal:
“This video and post is a really good example of how to help when you’re experiencing an issue. Thanks to /u/el_vper for putting in the work to identify reproducible steps for this bug (thanks also to /u/Harizio for providing a bind that consistently produces the effect). We’re able to reproduce it here too, and we’re working on a fix.
Providing clear reproducible steps is the best way to track down elusive bugs, and is much more likely to result in a solution than describing an issue out of context. With that in mind, we’d like to address some questions that have come up recently.
“Q: Why has hit registration been a problem over the past week?
Some of you have been reporting hit registration issues starting in the past week or so, but we haven’t shipped any code recently that would have impacted either hit registration or the way any individual weapons work. That’s not to say that there isn’t a problem, but if it’s new, it’s probably not coming from a bug in the game. We’re investigating, but in the meantime it helps us when you post reproducible steps that lead to poor hit registration.
“Q: I see a bullet decal behind a player, but I didn’t hit them. What happened?
If you take a shot when running, jumping, or when unscoped with an AWP, your inaccuracy will be high and the bullet trace on the server and client are not guaranteed to hit in the same spot. This is because several months ago we shipped an update that eliminated most common aiming cheats, where we separated the client and server’s random seed used to determine how inaccuracy is applied to a bullet.
Blood effects will always come from a server message confirming that you hit someone, but bullet impact decals on the world come from your client. Impact decals on the world come from the client because when those impact effects are delayed (as they would be coming from the server), they feel laggy, the game looks and feels unresponsive and it’s more difficult to control recoil.
When your inaccuracy is lowest for a weapon (i.e., when you’re standing still), at most the client and server will diverge by the weapon’s standing inaccuracy. But when you have higher inaccuracy, bullet decals are inaccurate and are not useful feedback. For example, with high inaccuracy bullet decals are not useful in diagnosing whether or not you should have hit someone.
Similarly, when you use sv_showimpacts, any client-reported hit is inaccurate for exactly the same reason. In the past, client-reported hits provided valuable information, but now they’re simply misleading. We’re considering removing the client portion of sv_showimpacts in the future because it literally has no benefit to the player to see this data other than to provide misinformation.
“Q: What’s the deal with hitboxes?
We mentioned recently that we’re working on resolving cases where a player’s hitbox doesn’t match their model (e.g., jumping, while planting, on ladders, etc.). We have a good idea of how to solve the problem, but implementing the solution takes time. So we’re working on it, but still don’t have an ETA.
“As a closing note, we know that some of you are concerned about hit-registration at LAN events (e.g., upcoming ESL One Cologne). There’s no reason to expect that there would be any new bug or issue at these events compared to previous ones.
Ultimately, the majority of hit-registration issues (outside of the planting/jumping/climbing issues we’re currently fixing) are the result of ping, internet connection issues, and the trade-offs that have to be made when connecting multiple players (Source Multiplayer Networking). The best way to avoid these issues is to play on LAN, but the unfortunate reality is that as long as most of us are playing online, some amount of hit-registration issues will be unavoidable.
For any issues that are not the result of these unavoidable factors, the most helpful thing you can do is to provide clear reproducible steps.”
With this information we can be sure that the issues is indeed real (and not just in our heads) and that Valve are working on a fix for said problem.
In other news, Valve has started blacklisting community servers that use plugins that allow players to use skins that they don’t own. These plugins are very popular among the community servers that are out there and many feel that it doesn’t cause Valve any harm and should be left alone. Reddit user “user6580” made a post about this:
“Valve released a warning several weeks ago that they would be blacklisting community servers that used plugins that would give the player skin options for weapons.
“Many surf, Bhop, KZ and jailbreak servers would use the skin plugins (as they have for many years, even before CS:GO) just to add variety.
“Taking heed of the warning many of these servers promptly removed these skin plugins. Despite this fact, when the ban rolled out many of the servers that once had these plugins where blacklisted.
“It’s a real shame because most of the affected servers used limited skin variations and the skins are just an off handed feature. I understand banning servers dedicated to browsing skins, I’m sure the 12 people who use these are really affecting Valve’s skin trading revenue.
“However banning servers that revolve around community made – freely available mods (surf, bhop, kz etc) is a real shame, some of us play cs:go only for these mods and don’t even touch matchmaking.
“Just wanted to raise awareness, I hope Valve is aware of this and is taking measures to unban the servers which don’t abuse skin plugins / have removed them.”
Lastly, CS:GO’s next championship will happen at ESL One Cologne 2015 according to @csgo_dev on Twitter!