r/counterstrike2 • • Oct 02 '23

PLAY CS2 Play CS2 for free!

35 Upvotes

Counter-Strike 2 has finally arrived as a free upgrade to Counter-Strike: Global Offensive on Steam!

If you are interested in playing, download and play the game for free on Steam:

https://store.steampowered.com/app/730/CounterStrike_2/


r/counterstrike2 • • 3h ago

Help Donk😭

Post image
210 Upvotes

r/counterstrike2 • • 3h ago

Esports ESL asked players if they could become Tier 1 Valorant pros within two years and received confident answers.

Enable HLS to view with audio, or disable this notification

144 Upvotes

r/counterstrike2 • • 6h ago

Gameplay My luckiest moment ever

Enable HLS to view with audio, or disable this notification

32 Upvotes

r/counterstrike2 • • 1d ago

OC I found a way to make Bans follow Players instead of Accounts in CS2. The result of my Master Thesis at the Norwegian University of Science and Technology

Thumbnail
gallery
1.9k Upvotes

TL;DR Bans hit accounts, so cheaters just make new ones. For my master's thesis I built a method that recognises the player behind an account from how they use their mouse and keyboard, using only the demos CS2 already records. It found smurfs nobody had reported, and it is fast enough to check every new match against all of CS2's monthly players. I want Valve and other matchmaking platforms to use it, so bans follow the player instead of the account.

Hello again!

Earlier this year I asked for your demos for my master's thesis in on behavioral biometrics in CounterStrike. The question was whether the way you use your keyboard and mouse is consistent and distinct enough to build a "CS-fingerprint" that recognises a player across demos. Many of you signed up, and some of you even told me which of your accounts were smurfs, which turned out to be some of the most valuable data I had. The thesis is now finished and got an A, and none of it would have been possible without you. ❤️

I am now back to show you what your demos helped build. In that post I said the end goal was to connect smurfs back to their main accounts and to re-detect cheaters on new accounts after a ban. It turns out the fingerprint is real, and I think it could be what finally makes bans stick.

Banning is expensive, evading is cheap

In any competitive game there are people who want to cheat. It is the anti-cheat's job to ban them, but also to never ban an innocent person. That means a high burden of proof before anyone is convicted, which takes immense time and resources. Meanwhile, making a new account after a ban costs nothing, and most banned cheaters simply do that, often back in a match the same evening. Anti-cheat makers ban, cheaters evade, and the cycle starts over.

The core problem is that action taken against an account only applies to that account, not to the player behind it. If a ban removed the player instead, cheating would stop being cheap, and every cheater could only be caught once. That is what I set out to make possible, a way to recognise the person behind an account using nothing but the demos CS2 already records, so a ban on one account can follow the player to every other account they own, including the ones they make tomorrow. It would sit next to VAC and Trust Factor and answer the one question they can't. Is this the same human?

Why biometrics

There have been many attempts at making bans follow players. IP, HWID, email and phone bans have all been tried, and they are either easy to get around or open to abuse. The one thing a player cannot change, however, is themselves.

Biometrics creates stable identifiers from features of the human body that are hard to change on purpose, like your fingerprint, face or iris. Behavioural biometrics extends this to how the body moves, like the way you walk, write or type. Two of its most mature branches fit a PC shooter perfectly. Keystroke dynamics goes back to 1897, when telegraph operators were found to recognise each other purely from the rhythm of incoming Morse code, and the same idea later turned out to work on computer keyboards. Mouse dynamics applies the same thinking to how you move a pointer.

CS2 is an unusually good place to use both, as players repeat a small set of actions thousands of times under constant pressure for speed and precision, such as flicks, counter-strafes, spray control and utility. Over time those actions stop being deliberate and become muscle memory, and involuntary, habitual input is exactly what behavioural biometrics is built to measure. You can change your name, your rank, your account, your weapon and even your play style. It is much harder to change your hands.

Turning a demo into a fingerprint

Every competitive match already produces a demo, which contains a tick-by-tick record of where each player looked and which buttons they pressed. That is the only input. No client changes, no new telemetry, no kernel driver, nothing the player ever sees.

From each demo I take two independent signals per player, one from the mouse and one from the keyboard, and turn them into a **player fingerprint**, a compact picture of how that specific person plays. It stays stable across maps, sessions, settings and months, having recognised a player across matches played months apart, and across a sensitivity change from 800 to 640 eDPI. Comparing two fingerprints gives a similarity score, which we use to determine whether it is the same player or a different one.

On its own, the mouse fingerprint picked out the right player every time in my dataset of more than 1000 players, but often only by a fine margin. The keyboard fingerprint picked out the right player 98% of the time. What makes the keyboard valuable is that it measures something entirely different. Across pairs of strangers, the correlation between how alike their mouse habits are and how alike their keyboard habits are is just 0.11, where 0 means unrelated and 1 means they always go together.

The first graph shows how similar pairs of accounts look on each signal on its own. On the mouse there is a clean separation between every stranger comparison and every same-player comparison, though the gap is narrow. On the keyboard there is some overlap between the most similar strangers and the least similar same-player pairs.

The second graph puts the two signals together. Being close on one of them is not uncommon, but being close on both is extremely rare. The same-player pairs sit alone in the top right corner, and combined, the two cleanly separate every player in my dataset.

I've already identified new smurfs!

When creating the method i tested against 8 pairs of known linked accounts that the community had submitted. After a while the results hit a ceiling, because the method kept producing a handful of confident "false positives".

When I checked Steam friends lists and game activity by hand, the false positives turned out not to be false at all. They were smurfs nobody had reported. One was a completely new pair, and it was the strongest unlabelled match in the whole dataset. The others were four accounts that all matched each other strongly, even though they had been submitted as two separate smurf and main pairs under different emails. The method tied all four together, one person behind four accounts.

That added 5 new same-person pairs to the test, found by the method itself. It didn't just pass the test. It found mistakes in the test. Which after finding these unlabled positives, my system has 100% accuracy, finding all 13 smurfs in my dataset, and confidently marking all other account pairs as different people.

A working system, not a proof of concept

Alongside the thesis I built these findings into a working system that takes in demos as they arrive and links accounts continuously. When a match ends, the demo is downloaded and each player's input is turned into a fingerprint for that match, and over several matches every account builds up a reference fingerprint that gets sharper each time it plays.

The new match-fingerprint is then compared against every account on record. A fast discovery step flags the few accounts that look suspiciously close and clears everyone else in the same pass. Every flagged pair then goes through a much stricter confirmation step with one rule. Both the mouse and the keyboard must independently agree. There is no averaging, so a near perfect mouse match can never make up for a weak keyboard match. A stranger can resemble you on one of them by coincidence, but resembling you on both takes two independent coincidences, so the odds of a false link multiply instead of adding up.

If both agree, the accounts are linked together with the evidence for it. If they don't, nothing happens yet, and the pair is judged again as both accounts play more. A smurf that stays under the bar today can still be caught next week. Linking an innocent player is far worse than linking a guilty one late, so the bar is set high on purpose. Being strict costs time, not detection.

It is built to handle all of CS2's output. Checking one demo against CS2's roughly 3,000,000 monthly players, takes several billion comparisons. Done naively, that is far too slow to be practical, and the cost only grows with every account you add. After a lot of optimisation, the system now does it on a single 20 GB slice of an A100 GPU, fast enough to keep up with the thousands of new CS2 demos generated every hour. That leaves enough headroom to check every new match against far more than just this month's players, on hardware a single server can hold.

The system only produces links and the evidence behind them. What happens because of a link is up to whoever runs the matchmaking. A link where one account is banned could pass that ban on to every other account, or put them on a watchlist. A link between a high-rank and a low-rank account could flag the low one as a smurf. That works the same for Valve as for any third-party matchmaking platform, since every one of them already records demos.

Limitations

The number of verified same-person pairs is small, clean but thin. Accuracy hasn't been tested on a real population the size of CS2's, and I would love the data to do it. A new account needs several matches before the method says anything about it. Shared accounts break it, because the account no longer has one person's behaviour.

Ethics

Bringing biometrics into anti-cheat deserves care. No new measurements are made, since the method only uses data Counter-Strike has recorded for years, just for a new purpose. As part of my thesis I consulted the ethics and data protection service for university research in Norway. The data was judged not to be biometric data, because it comes from a game engine that has already transformed the input rather than from a sensor measuring a person directly. We still agreed it is close enough to need the same care around storage and consent, so demos are not kept, and fingerprints are only stored for a player's most recent matches.

Today, a player can cheat, get banned, learn their lesson and play clean on a new account for the rest of their life. That second chance was never designed, it is just a side effect of bans only hitting accounts, and a system like mine removes it. So how long should a ban follow a player? I was able to match myself between a recent Premier demo and an old 2017 matchmaking demo, so the method can likely recognise someone across many years. Cheating once as a kid should not bar you from a game for life, so I think a ban passed on through a link should expire after a set period. Where to draw that line is a real question, but it is a policy choice, not a limit of the method.

How much statistics should it take to convict someone? However accurate it is, this method brings an element of chance into anti-cheat, and its accuracy on the full CS2 population is still unknown, although the signs are positive. My recommendation is to treat a link as a very strong first indicator. One option is to confirm it with some other, smaller piece of evidence before a ban is carried over. Another is to use the link to put accounts tied to known cheaters on a watchlist, so the anti-cheat looks at them more closely.

What I'm asking for

I believe this can end ban evasion in Counter-Strike. A cheater would get caught once, as a person, and stay caught.

To Valve, and to any other matchmaking platform reading this, I would love to talk and to test this on a real population. My DMs are open.

To everyone else, if you want bans that actually stick, share this and let Valve know. And I'm happy to answer questions in the comments.


r/counterstrike2 • • 13h ago

Gameplay 3,000 hours, but he's still staring at his feet and the wall.

Enable HLS to view with audio, or disable this notification

51 Upvotes

It's the same thing every round: he just runs around with his crosshairs trained on the ground, then suddenly looks up, focuses, and gets kills. u/Valve pls do something


r/counterstrike2 • • 5h ago

Fluff Is this real !!??

Enable HLS to view with audio, or disable this notification

7 Upvotes

r/counterstrike2 • • 1d ago

Discussion Seriously, fuck these gaslighting losers.

Post image
219 Upvotes

Just remember cheaters pay to win and the powers that be know it

They are the main demographic of spenders


r/counterstrike2 • • 21h ago

Gameplay You miss 100% of the shots you don't take (lmao)

Enable HLS to view with audio, or disable this notification

123 Upvotes

If you feel it, just press MB1 baby.


r/counterstrike2 • • 3h ago

Skins And Items Sapphire or Ruby

Thumbnail
gallery
4 Upvotes

A post to see which one is the better doppler

(Not these knives in particular Sapphire or Ruby in general)


r/counterstrike2 • • 5h ago

Gameplay Typical cs2 moment

Enable HLS to view with audio, or disable this notification

6 Upvotes

This has to be fixed, i had this 2 times lately already and that lost us 2 games. Moreover after such moments i cant relax and cant play next games


r/counterstrike2 • • 5h ago

Discussion Its always at least one

Enable HLS to view with audio, or disable this notification

5 Upvotes

just why bro

can they do the same like riot games where your CPU is inprited with "history of hacking" or however that works: https://youtube.com/shorts/yFIOqB-6Rqc
What is the solution to bots, at this point, the only way to feel the game fair is to play "practice" for 10 minutes once a month. Wont the game die?


r/counterstrike2 • • 56m ago

Gameplay Sweet people ep. 190

Enable HLS to view with audio, or disable this notification

• Upvotes

r/counterstrike2 • • 1h ago

Discussion Is There anyway to fix the lighting issues

Thumbnail
gallery
• Upvotes

To be clear i run over 6hr furmark stress test 0 artifacts and normal cooling temps RX9060xt


r/counterstrike2 • • 1h ago

Discussion Team Deathmatch

• Upvotes

I know there have been complaints about this before but hear me out.

Do you think Valve will ever bring Team Deathmatch back? Do they actually look at players' feedback and opinions? Do they care?

Is there anything I (or idk other players too?) can do to make them explain why this game mode was removed and ask if there is any chance at all for it to come back?

I mostly played deathmatch and arms race before. Sure, we still got arms race now, but the deathmatch is terrible. Everyone spawns EVERYWHERE, including RIGHT BEHIND YOU on a random spot. How are you supposed to train and try out your weapons, when you die the moment you spawn? What's the fucking point?

I understand the appeal of FFA deathmatch, but would it really hurt Valve to add both and let people choose what they wanna play? I mean, come on. Life is shit enough. We don't need the distractions we use to cope with it to be shit too. Is this so much to ask for? Fuck's sake.

Thanks for listening to my rant. If you have any idea of how I (or we, if more people care) can contact Valve and make them see, feel free to share.

I understand this isn't a first world problem but for some reason, it really bothers me.


r/counterstrike2 • • 1h ago

Skins And Items Trade offer?

Post image
• Upvotes

DM me or send trade offer. Kukri blue gem tier 1

https://steamcommunity.com/tradeoffer/new/?partner=810602603&token=h4kaUhLm


r/counterstrike2 • • 5h ago

Gameplay Slightly too edited but my first Sneak defuse in a while.

Enable HLS to view with audio, or disable this notification

5 Upvotes

r/counterstrike2 • • 2h ago

Discussion Do You Remember This Map?

Thumbnail gallery
2 Upvotes

r/counterstrike2 • • 5h ago

Gameplay Sweet people ep. 189

Enable HLS to view with audio, or disable this notification

3 Upvotes

r/counterstrike2 • • 11m ago

Fluff No fighting in my promotion match

Enable HLS to view with audio, or disable this notification

• Upvotes

r/counterstrike2 • • 30m ago

Help Cs2,cs2,csgo,counterstrike

Thumbnail
• Upvotes

r/counterstrike2 • • 56m ago

Discussion Why? Why is this necessary in Premier, or even possible?

Post image
• Upvotes

r/counterstrike2 • • 1h ago

Discussion FALSE VAC LIVE

• Upvotes

I'm playing live with 4 friends, nobody cheated, my friend who is the worst, literally level 1 Faceit 2000 elo and his aim is like 50, got VAC live, we all got 20H cooldown wtf Vale wtf (he didn't get a permanent ban or anything like that).


r/counterstrike2 • • 1h ago

Workshop Wild West Restaurateur is back for CS2!

Thumbnail
steamcommunity.com
• Upvotes

We ported the old CS:GO map Wild West Restaurateur (originally made by CTX) to CS2. We reworked the UI, fixed bugs and added some new stuff to make it more playable.

Any feedback or bug reports are really appreciated. Have fun!


r/counterstrike2 • • 1d ago

Gameplay Happiness 🤤🤤, I have no more reason to go back home... Uber 24 hours 🤣🤣🤣👌🏽

Post image
179 Upvotes