Live data from Hacker News

Riot Games Approach to Anti-Cheat

engineering.riotgames.com

391–400 of 412 posts

Re: Riot Games Approach to Anti-Cheat

#391
post #235

Earlier quoted context omitted.

Yes, they start punching way above their weight against tanks, too. Even moreso if you throw in an auto-scatter script. https://www.youtube.com/watch?v=IKVFZ28ybQs

What about tanks on high ground and out of reach? What if the roaches have to funnel through a walled choke guarded by some MMLib as well? That might seem contrived, but there is a player whose job is to contrive it ! No, I don't think the next patch should include "improved" roach AI. But deep strategy games like Starcraft tend to have multiple levels on which to do battle, and you can often nullify an opponent's in…

> ...deep strategy games like Starcraft tend to have multiple levels on which to do battle...

That's exactly the point; the "other levels" are macro, micro, and multi-tasking--the "realtime" components of an RTS game. (I consider positioning and scouting a factor of micro and multi-tasking respectively.) Those are the facets of the game that let you take two equally matched strategies, execute slightly better than the opponent, and thereby eke out a gradually compounding advantage.

If you remove those, the "deep strategy" of starcraft is basically just doing the one or two counterplays that you obviously need to do to survive. "He built too many early game marines so now I build banelings or I die." The strategic "if he does this, I'll do this, but then he'll do that" decision tree is very shallow in a game like brood war or sc2.

> What about tanks on high ground and out of reach? What if the roaches have to funnel through a walled choke guarded by some MMLib as well?

Then I'll be forced into one of a small handful of tictactoe-like responses: brood lords, vipers, doom drop on top of your army, or pull you apart with muta/nydus multi-taski... no wait. Just the first three options I guess.

Re: Riot Games Approach to Anti-Cheat

#392
post #339

Earlier quoted context omitted.

Very unfortunately what you explain here only work for very specific type of gameplay. For instance almost nothing works when you need to secure first-person shooter simply because it's skill-based gameplay where it's also very easy to cheat for the bot.

Nvidia has geforce now http://www.nvidia.com/object/cloud-gaming.html and people with good internet connection have been able to play FPS games. Granted, the latency and the FPS are worse than a local game, but surprisingly it is unnoticeable to many people.

Streaming wont help against cheating in FPS, aimbot just going to use machine learning to determine enemy location and conrrols are not problem.

Re: Riot Games Approach to Anti-Cheat

#393
post #238

Earlier quoted context omitted.

This is an interesting approach because even though they may be cheaters they are _still_ people that are interested in your game. The percent of cheaters with the objective to utterly destroy the game they're cheating at is probably negligible.

I mean... sure but they're also only willing to interact with the game when they're making the experience bad for everyone else.

Doubt it. The one time I cheated on a game( borderlands 2) was because the game was too hard without the p2w dlcs that I had no intention to buy. I didn't mind playing along with other people that played in whatever way they wanted( cheating or not) but I was too afraid of getting banned that I disabled online play while cheating.

A friend of mine that was cheating hard for a period on CoD 4 only did so for the fun of it and had no intention to ruin the game for the rest players.

Re: Riot Games Approach to Anti-Cheat

#394
post #343

I have mixed feelings about anti-cheat, especially in the last few years. A lot of them are getting rather intrusive. Take Player Unknown's Battlegrounds for instance, which uses BattlEye. It actually injects a kernel mode driver into Windows that spies on whatever else your system is doing and exfiltrates unknown data in the name of "guaranteeing a fair game experience." I didn't even realize that this is what it wa…

I've been out of gaming for some years but this reminds me of similar issues with PunkBuster. I'd spend hours pulling my hair out trying to figure out why I was being booted from games. The worst bit was, it didn't actually stop cheaters.

Oh god... I forgot punkbuster even existed, what an absolute pile of garbage. So many hours wasted on dealing with that shit and reading redundant and useless forum posts where everyone just copy pasted the same shit over and over.

Re: Riot Games Approach to Anti-Cheat

#395
post #337

Earlier quoted context omitted.

However, I prefer Supreme Commander/Total Annihilation-like games over the twitchfests like Starcraft. We've made our client so dumb, even Fog of War is cheatproof. How do we enforce not seeing something? The data for those entities isn't sent. In fact, this is exactly the same thing as making an entity disappear. The entity's tag and movement info aren't sent, and so it's diffed out of the set of visible entities.

Same thing already done in spiritual successor for Supreme Commander/Total Annihilation called Planetary Annihilation. Basically there is authoritative server that work exactly that way. Only downside of this is that when you have few thousand units on screen game will use abysmal about of bandwidth like 8Mbps for each client. So when there is 10 players in-game server-side must have these 80Mbps. Oh and it's also us…

The tech is quite interesting.

The game, sadly, not so much.

I wish they had spent 1/10 the effort on the actual game for single players that they did on making it "Twitch/YouTube-friendly".

Re: Riot Games Approach to Anti-Cheat

#396
post #79

Earlier quoted context omitted.

Not quite the same thing, but there were a lot of cheat-only servers in counter-strike in the 2000s with anti-cheat turned off (it's optional if you run your own server). Since it was all cheats vs cheats, whoever had the best ones won. The game servers were often very scriptable and modded as well.

Those servers are still available in CSGO too. 3kliksphilip recently did a video[1] with someone who plays on one. Interesting insight into the kind of player who cheats. [1] https://www.youtube.com/watch?v=gniSF1M9g_o&

Neat. I used to love the hack vs hack servers. The cheats were a bit more primitive back then, so I imagine hvh isn't as fun nowadays since all cheats are very advanced... I remember when xqz2 first came out - the first opengl-based client cheat for the half-life engine. It was simply a wallhack at first, and evolved to a primitive aimbot I believe.

Anyway, they started to get pretty sophisticated around cs 1.4 or 1.5. The real breakthrough was the client aimbot which hooked into the game (using function trampolines) rather than opengl, and was instantly fast, but it was still a little inaccurate because it used hardcoded constants for offsets from the center of the player model to the head. It eventually got a bit more sophisticated with hitbox aimbots I believe.

The next breakthrough was "nospread" which basically allowed you to fire your gun with laser accuracy. I remember how it worked - to make accuracy random the game used a pseudo RNG which was seeded with the game's current tick, that way the spread was shared by both the client and the server. The cheat calculated the future spread by using the game's next tick (current tick + 1) for the RNG seed and setting the player's view angle to the inverse of that. If you watched the player, it looked like they had a shaky crosshair. You could be bunnyhopping around with any gun and get insta headshots with 100% accuracy. Each gun had its own spread constant so these had to be hardcoded into the cheat, and adjusted based on whether or not they were crouching or standing.

The last major breakthrough was "autowall," which would only shoot through a wall if it was a guaranteed hit. After this, cheats and hvh servers got more boring with marginal improvements only.

All of this got me into programming and I learned a lot, both about some game internals and operating systems. No ragrets

Re: Riot Games Approach to Anti-Cheat

#397

Earlier quoted context omitted.

Sure. Until you're playing Dark Souls for the first time, you get summoned to help someone with a boss, and then get invaded by someone with a 360 degree one-shot kill spell that breaks all your weapons and armor, gives you an egghead that you can't remove unless you know where to go, and gives you an item that marks you as a cheater so you now get constantly invaded by exclusively cheaters. The item that marks you a…

> The item that marks you as a cheater might have been a drop in another invasion, I don't remember. I believe they can do it completely passively, so you’re kinda screwed if it happens to you :( This is sadly the nature of trusting what clients send you: a hacked client can send whatever it wants and the “anti cheat” in Dark Souls sadly seems to simply just check if an item should be possible, meaning a cheater can…

And of course, if it didn't punish non-cheaters, then cheaters could simply cheat the items in on one account, invade/summon another of their own accounts, (or passworded summon in the remaster) and then give the new account the items.

There's no winning against cheaters as long as you trust the client. (And it's possible to do it on consoles too, just more rare as the tools are readily available on PC.)

Re: Riot Games Approach to Anti-Cheat

#398
post #256

Earlier quoted context omitted.

The toxicity comes from the focus on competition and the lack of repercussion when misbehaving. A guild kicks you out if your negativity annoys too many or the wrong members, whereas matchmaking has an infinite supply of teammates to abuse. I agree with you that adding cheating to the cocktail of toxicity would probably not be significant enough to lose a large group of players. However cheating may yield a competiti…

Quite. Personally I used to get more annoyed by queuing for a matchup and someone dropping so we're in a team one short, or by poor matching than cheating which was usually more of an eye-roll moment for me. Resolution would have required GMs using a (temporary) ban hammer to bring some repercussion to all the toxic reports in the chat logs, not just headline anti-cheat sweeps and very rarely during tournaments. The…

See you removed your wallet though, they'd rather you didn't remove your wallet at all, they'd rather you vote by reporting toxic players and keep your wallet around. ;)

Re: Riot Games Approach to Anti-Cheat

#399

Earlier quoted context omitted.

How did it break GPU passthrough? Then again I heard recent versions of VAC detect running under a KVM hypervisor and kick you out of CS:GO servers.

That's unfortunate to hear that VAC looks for KVM. I was planning on moving my gaming partition to just a VM and using GPU passthrough. It's how I have my work PC setup, figured I'd replicate it at home.

Sorry to be the bearer of bad news.

I plan to reverse engineer VAC sometime to figure out how the detection works.

Re: Riot Games Approach to Anti-Cheat

#400

Back when I worked in games we would detect cheaters and then shadow ban. Quarantine them by only matching them into games with other cheaters. You may still have to ban them from certain elements of your game, like player economies (auction house, etc). But the more legitimate their experience looks the better. The idea is that instead of fully banning them and triggering the next iteration of the arms race, you tra…

Sure. Until you're playing Dark Souls for the first time, you get summoned to help someone with a boss, and then get invaded by someone with a 360 degree one-shot kill spell that breaks all your weapons and armor, gives you an egghead that you can't remove unless you know where to go, and gives you an item that marks you as a cheater so you now get constantly invaded by exclusively cheaters. The item that marks you a…

That seems to be a completely different type of cheat than described in the article. The article is just about cheats that automate certain moves that players would already be able to do, just would be very hard. It's not possible to stop this type of automation in the general case.

If a cheater can make items appear out of nowhere, that's not an automation cheat, that's a security vulnerability in the server that should be fixed.

Post reply on HN