sapphonie / StAC-tf2

steph's anticheat (StAC). a built-from-scratch sourcemod based solution to cheating in Team Fortress 2.
https://sappho.io
GNU General Public License v3.0
118 stars 21 forks source link

[Feature Req] Ban Duration ConVars #113

Closed MAGNAT2645 closed 9 months ago

MAGNAT2645 commented 2 years ago

There should be more ConVars to control ban duration for each type of cheat (instead of only one stac_ban_duration). For example, stac_misccheats_ban_duration, stac_bhop_ban_duration, stac_cmdnum_ban_duration etc.

sapphonie commented 2 years ago

why

MAGNAT2645 commented 2 years ago

I can't give any particular example but i think StAC needs more flexible settings.

KitsumyFox commented 2 years ago

For example some things like bhop may not need a permanent ban and just a 30/60 minutes ban to discourage usage. Just like Lilac AC

sapphonie commented 2 years ago

For example some things like bhop may not need a permanent ban and just a 30/60 minutes ban to discourage usage. Just like Lilac AC

The way StAC detects bhop cheats completely rules out legitimate players and only bans people who are able to do 10 frame perfect bhops + 2 more frame perfect bhops at 8x gravity.

sapphonie commented 1 year ago

This is a lot of code bloat for a feature that doesn't make sense to me. Is there any legitimate reason you would need this? StAC is written so that nobody who isn't cheating should ever get banned - why would you want to distinguish between people cheating in certain ways?

hellidox commented 10 months ago

For example some things like bhop may not need a permanent ban and just a 30/60 minutes ban to discourage usage. Just like Lilac AC

The way StAC detects bhop cheats completely rules out legitimate players and only bans people who are able to do 10 frame perfect bhops + 2 more frame perfect bhops at 8x gravity.

"completely rules out legitimate players" i need you to understand how probability works

do me a favor and do 1/(2**11), that is the probability a decent scroller will get banned per chain of jumps

sapphonie commented 10 months ago

For example some things like bhop may not need a permanent ban and just a 30/60 minutes ban to discourage usage. Just like Lilac AC

The way StAC detects bhop cheats completely rules out legitimate players and only bans people who are able to do 10 frame perfect bhops + 2 more frame perfect bhops at 8x gravity.

"completely rules out legitimate players" i need you to understand how probability works

do me a favor and do 1/(2**11), that is the probability a decent scroller will get banned per chain of jumps

@hellidox

I'm not sure you understand how successfully bhopping in Source works, nor how StAC modifies gravity to trick cheats into bhopping. Me saying "completely rules out legitimate players" isn't really hyperbolic, it's more a statement of "it's astronomically unlikely that someone would happen to tick perfect bhop 2 times on 8x gravity with no warning or indication that they are at 8x gravity". StAC sets grav at 8x after a client does 10 perfect bhops, without telling that client anything at all about it.

Bhopping in Source requires you to have an input of NOT jump and then an input of JUMP - if you spam jump the entire time (with scroll wheel) you are going to be inconsistent even when you aren't at 8x grav. I understand that some people are freakishly good at it - that's fine, and it's a skill I don't have. However, I don't really understand how people could possibly be "good" at scroll wheel bhopping at 8x gravity with no warning - there's just not enough reaction time for a human being to do it not once but TWICE in a row, after already having done 10 perfect bhops normally, unless of course someone is trying to "beat the anticheat" (aka get banned on purpose), in which case... what the heck am I supposed to do about that, lol

MAGNAT2645 commented 10 months ago

I remember on my server players somehow triggered StAC to "spam" (not actually a spam but print often) the chat with the messages about detecting bhop. Even some of my staff did that and i asked them about this, they weren't using any scripts to do actual bhopping. So i guess there are false positives for this type of cheat. I was afraid StAC could ban permamently innocent players just due to false positive detection. That's why StAC really needs an API for plugins to control its detections in some cases.

sapphonie commented 10 months ago

I remember on my server players somehow triggered StAC to "spam" (not actually a spam but print often) the chat with the messages about detecting bhop. Even some of my staff did that and i asked them about this, they weren't using any scripts to do actual bhopping. So i guess there are false positives for this type of cheat. I was afraid StAC could ban permamently innocent players just due to false positive detection. That's why StAC really needs an API for plugins to control its detections in some cases.

You're also misunderstanding how the bhop check works.

A bhop is just a bhop, it'll show bhops. Someone isn't cheating if they just do a bhop - they'll start printing at 10, and then every single time until they either get banned after doing 2 3 (as of a recent update) bhops at ~8x gravity, or until they stop doing tick perfect bhops.

There aren't false positives on this check - the ban itself is what determines if someone is cheating or not.

StAC does need an API (PRs welcome!) but not so you can ignore detections that are perfectly benign.

MAGNAT2645 commented 10 months ago

I meant it was some time ago (i dont remember now) so StAC could be changed a lot since then.

hellidox commented 10 months ago

changing the detections to 13 is just hiding 50% of the problem. you don't have to know about the gravity change to scroll (or use a console script to hit perfect on/off cycles on wait enabled servers)

hellidox commented 9 months ago

just for fun, to see how long it would take, i went and scrolled on uncletopia while playing trolldier (flat ground, 66 2/3 fps cap) took about 15 minutes to trigger it once (stopped hopping once gravity happened) i put the plugin in my own server (so i had perfectly stable ping) and got a ban within 5 minutes

sapphonie commented 9 months ago

just for fun, to see how long it would take, i went and scrolled on uncletopia while playing trolldier (flat ground, 66 2/3 fps cap) took about 15 minutes to trigger it once (stopped hopping once gravity happened) i put the plugin in my own server (so i had perfectly stable ping) and got a ban within 5 minutes

there's just not enough reaction time for a human being to do it not once but TWICE in a row, after already having done 10 perfect bhops normally, unless of course someone is trying to "beat the anticheat" (aka get banned on purpose), in which case... what the heck am I supposed to do about that, lol

Yeah bud, lots of people play with fps_max 66.66666666666 lol. It's obvious that you're either being purposefully obtuse, trying to waste my time, or otherwise do not understand what's going on. Closing this.