Most active commenters
  • johnisgood(3)

←back to thread

379 points mobeigi | 25 comments | | HN request time: 0.001s | source | bottom
Show context
ZeroCool2u ◴[] No.41862659[source]
Server side only anti-cheat is one of the problem domains that I'd really love to work on at some point in my career. This is the type of adversarial arms race that just seems really fun to think long and hard about.
replies(4): >>41862725 #>>41864365 #>>41864555 #>>41871291 #
Night_Thastus ◴[] No.41862725[source]
Only problem is, a lot of companies do NOT want to pay for it. It's 'treadmill work'. No matter how many people and how much money you throw at the problem, it still ends up just coming back. It's a losing battle because there are many, many more players than there are developers.
replies(3): >>41862790 #>>41862959 #>>41864654 #
1. willcipriano ◴[] No.41862959[source]
My idea:

1. Determine minimum human reaction times and limit movement to within those parameters on the client side. (For example a human can't swing their view around [in a fps] in a microsecond so make that impossible on the client) this will require a lot of user testing to get right, get pro players and push their limits.

2. Build a 'unified field theory' for your game world that is aware of the client side constraints as well as limits on character movement, reload times, bullet velocities, etc. Run this [much smaller than the real game] simulation on server.

3. Ban any user who sends input that violates physics.

Now cheating has to at look like high level play instead of someone flying around spinbotting everyone from across the map. Players hopefully don't get as frustrated when playing against cheaters as they assume they are just great players. Great players should be competitive against cheaters as well.

replies(8): >>41863120 #>>41863132 #>>41864409 #>>41864592 #>>41864724 #>>41864936 #>>41865792 #>>41867394 #
2. bob1029 ◴[] No.41863120[source]
This is kind of getting into my idea - Statistical methods & maybe a sprinkle of old-school machine learning.

What I would try is to hire a red team & blue team and put them in a sandbox environment. The red team cheats on purpose. The blue team is guaranteed to be playing legitimately. Both teams label their session data accurately. I then use this as training & eval set for a model that will be used on actual player inputs.

The only downside is that you will get a certain % of false positives, but the tradeoff is that there is literally nothing the cheaters can do to prevent detection unless they infiltrate your internal operations and obtain access to the data and/or methods.

3. berbec ◴[] No.41863132[source]
This is a slippery slope which we can view in real-time looking at the speedrunning community. Many current real person runs are using strategies once thought to be computer-only. A Mario run from 2024 would be viewed as totally impossible in 2004.
replies(2): >>41864307 #>>41864357 #
4. jwagenet ◴[] No.41864307[source]
This isn’t really a relevant concern for online games since speed running is mostly rehearsed play with predictable game mechanics, not inhuman response to novel stimulus.
replies(1): >>41866671 #
5. burnte ◴[] No.41864357[source]
No one does multiplpayer speedruns.
replies(3): >>41864995 #>>41865406 #>>41866804 #
6. jorvi ◴[] No.41864409[source]
> Now cheating has to at look like high level play instead of someone flying around spinbotting everyone from across the map. Players hopefully don't get as frustrated when playing against cheaters as they assume they are just great players. Great players should be competitive against cheaters as well.

No, those are still just as vehemently hated as “closet cheaters”, for example the whole XIM / Cronus infestation on any game that has controller AA.

It’s still possible to, on average, spot if it’s a closet cheater or an actual good player due to things like movement and gamesense, but for the average player it will be much less obvious, leading to a huge amount of rage towards good players because they are by default suspected as “just another closet cheater.”

replies(1): >>41864754 #
7. Workaccount2 ◴[] No.41864592[source]
The vast majority of cheaters are not "rage hacking", but instead using cheats as a skill assist.

Take a moment and think about how you would design cheats that would be undetectable. Hot keys, real time adjustments, all the options and parameters you could provide cheater to dial in their choice experience while also keeping them looking legit.

Then realize cheat developers thought of all that decades ago and it is waaayyyy beyond what you can dream up in a few minutes. Hell cheats nowadays even stop cheaters from inadvertently doing actions that would out them as cheaters.

replies(2): >>41864734 #>>41865643 #
8. ◴[] No.41864724[source]
9. johnisgood ◴[] No.41864734[source]
> skill assist

Yeah, most games have builtin aimbot, called "aim assist". I do not like it, in fact, I find it annoying as a player, too (I come from Quake 3).

10. johnisgood ◴[] No.41864754[source]
What are you referring to by "gamesense"? FWIW you can implement all sorts of movement hacks, from dodging bullet particles to appearing laggy enough to seem to be teleporting.
replies(1): >>41864960 #
11. ultimafan ◴[] No.41864936[source]
Playing against subtle cheaters is imo more rage inducing once you realize it's actually happening. New or poor players won't notice and won't call them out on it or participate in a votekick because they genuinely can't tell the player is cheating. Average to good players get tilted because they might have enough game knowledge to know something is off but not notice it every time or be able to call out exactly what's happening. They end up second guessing too much. And you can't improve and get better playing against subtle cheaters because they're going to be doing things you just can't. Great players can probably tell more often than not but they're going to quit in droves when they realize the playing field isn't fair. Subtle cheating is much more destructive to a games longevity because trust in public matches is heavily eroded over time. Rage hackers you can just kick/ban/leave the match yourself because it's obvious.
12. jdietrich ◴[] No.41864960{3}[source]
Gamesense: a mental model of the game by which players can anticipate and pre-empt the actions of other players.

A CS:GO player with good gamesense will habitually keep their crosshairs at head height and aim at corners where an enemy is likely to emerge. They'll have an intuitive sense of how long it takes to run from one point on the map to another. They'll listen through walls for footsteps to try and decode where the enemy are, where they're headed to and what strategy they might be about to attempt.

To the uninitiated, it looks a lot like cheating - you peek through a window and instantly get headshotted before you've had any chance to react. To the guy who hit you, it's just basic gamesense - you did a predictable thing and he punished you for it.

replies(3): >>41865038 #>>41865110 #>>41869296 #
13. BlueTemplar ◴[] No.41864995{3}[source]
Of course a lot of people do them. They even do them with multiple teams in parallel, starting at the same time !
14. johnisgood ◴[] No.41865038{4}[source]
Thank you, that makes sense.
15. ultimafan ◴[] No.41865110{4}[source]
Yeah, it feels like a dead giveaway when someone at higher ranks has near perfect but within the realm of believable gameplay from a mechanical standpoint (great aim control/accuracy, hitting lots of flick shots) but then they're running all over like a headless chicken, getting lost on the map, have no regard for positioning and angles when pushing or defending, just purely leveraging "skill" alone.
16. endgame ◴[] No.41865406{3}[source]
Counter example: https://www.youtube.com/watch?v=8g_7Hx42P1Y

There's also the multi-world randomiser community, where people network a bunch of emulators together, and finding an item in one game can actually unlock something else in another player's game.

17. willcipriano ◴[] No.41865643[source]
You misidentify the core problem, or at least why it is a problem from a business perspective.

The problem isn't cheating itself, the problem is players feeling like they have been cheated (and thus not buying micro transactions in the future).

If you can limit player action to things that look plausibly human, less players will feel cheated and will be less likely to drop out.

This system would be put in place on top of existing systems and if implemented as I have described could be done so fairly cheaply from a operational perspective (getting it off the ground will require a good bit of dev time).

If you had ELO based matchmaking (that dropped matches where the player performed far below what they had previously done to prevent sandbagging) a cheater with "perfect play" would end up only playing against other cheaters after a time.

replies(1): >>41867189 #
18. TechDebtDevin ◴[] No.41865792[source]
Cheaters who spin don't care if they get caught. Its the closet cheaters you can't catch like this who's aim bot only locks on the head of someone when the cross hair its a certain amount of pixels from the head, or they set it to never lock on the head.
replies(1): >>41867855 #
19. orbital-decay ◴[] No.41866671{3}[source]
> rehearsed play with predictable game mechanics, not inhuman response to novel stimulus

You just described most competitive games (even vaguely so), and 100% of esports.

20. enneff ◴[] No.41866804{3}[source]
Yes they do. Eg https://youtu.be/WU-00UdoXdQ?si=gQAh50XsK6xcxEWF
21. autoexec ◴[] No.41867189{3}[source]
> The problem isn't cheating itself, the problem is players feeling like they have been cheated (and thus not buying micro transactions in the future).

Any game I pay for that pressures me to pay with micro transactions already makes me feel like I've been cheated. "Free" to play games might be motivated that way though.

Although I doubt it would stop cheating, making sure that players can't do impossible things is absolutely a good idea and something that should have been done ages ago.

The best solution to avoid cheating is to play with people you know. Expecting a good time when playing with internet randos from all over the globe is maybe too optimistic.

22. guappa ◴[] No.41867394[source]
Even worse, now people will not automatically immediately kick them from the server.
23. guappa ◴[] No.41867855[source]
Or to autotrigger. That's how they do for backstabs in team fortress 2. Just go around and have it trigger immediately when it'd be an instant kill.

Demomen on the other hand use an aimbot so they can hit you with those parabolic projectiles in the face, even if you're behind a wall and they can't see you at all.

replies(1): >>41872106 #
24. ◴[] No.41869296{4}[source]
25. TechDebtDevin ◴[] No.41872106{3}[source]
>Demomen on the other hand use an aimbot so they can hit you with those parabolic projectiles in the face, even if you're behind a wall and they can't see you at all.

Hilarious, and shitty.