PazerOP / tf2_bot_detector

Automatically detects and votekicks cheaters/bots in TF2 casual.
MIT License
403 stars 54 forks source link

Ability to make the program ignore a player #318

Open ByThePowerOfScience opened 3 years ago

ByThePowerOfScience commented 3 years ago

A clear and concise description of what the problem is. A real player's profile picture was a stock photo of a TV color-test screen, which caused him to continually be detected by the "[BETA] Avatar Match" rule. Even removing the rule from the rules.beta.json and reloading configs wasn't able to disable the rule, and I couldn't stop the program from continually trying to kick him even though I kept unmarking him.

Describe the solution you'd like Add the option under like "mark: cheater" to "mark: ignore".

ClusterConsultant commented 3 years ago

It should be noted that rule set is not officially supported.

moebkun commented 3 years ago

Could you by any chance share the steamID of the person it flagged?

ByThePowerOfScience commented 3 years ago

Sure. https://steamcommunity.com/id/headspinning/

The only rule that detected him was [BETA] Avatar Match.

noltron000 commented 2 years ago

Regardless, false positives are generally an unavoidable possibility with things like blacklists. Generally.

Still, this is probably a niche issue since in my experience >95%+ of cases are absolutely cheaters, so that <5%- margin is very little. But its worth potential support. (I'm just making these numbers up but you get the idea)

ByThePowerOfScience commented 2 years ago

Considering there have been bots that attempt to impersonate real players in either name or profile picture or both for the sole purpose of getting the community to turn on them, we definitely need to be able to stop the program from trying to kick a player short of closing the app entirely.

Kenajcrap commented 2 years ago

Considering there have been bots that attempt to impersonate real players in either name or profile picture or both for the sole purpose of getting the community to turn on them, we definitely need to be able to stop the program from trying to kick a player short of closing the app entirely.

image

Bots attempting to impersonate a player will never cause the innocent player to be tagged by mistake, unless by manually tag the wrong person yourself. In which case you can unmark them youself too. This is because impersonating requires copying the name of a player but adding an invisible character somewhere in the name, that what the game thinks the name is different, even though to humans it is not.

False positives are not something I think pazer is cool with and that is why third party lists are not supported.

It's true that sometimes it would be useful to be able to overwrite a tag made by a ruleset

Betawolfy commented 2 years ago

in the worst case, it would be necessary to make the logical moderator detect the famous "invisible character" that the name stealing robots use. lmaobox has the same problem: the catbot priority set traces the players who have their names stolen because of the bot, so the anti bot also targets the inoccupied players.

Kenajcrap commented 2 years ago

in the worst case, it would be necessary to make the logical moderator detect the famous "invisible character" that the name stealing robots use. lmaobox has the same problem: the catbot priority set traces the players who have their names stolen because of the bot, so the anti bot also targets the inoccupied players.

This option already is available. Its just a character, there are third party rulesets with that character as a rule for marking someone as cheater. The problem you mention is literally impossible to happen with this tool because it marks the user's steamid, not his name. And even if it marked the name for some obtuse reason, the name of the bot and the person whose name was stolen are different by 1 character, there is no situation where the tool would get "confused" and mark the wrong user

ByThePowerOfScience commented 2 years ago

in the worst case, it would be necessary to make the logical moderator detect the famous "invisible character" that the name stealing robots use. lmaobox has the same problem: the catbot priority set traces the players who have their names stolen because of the bot, so the anti bot also targets the inoccupied players.

This option already is available. Its just a character, there are third party rulesets with that character as a rule for marking someone as cheater. The problem you mention is literally impossible to happen with this tool because it marks the user's steamid, not his name. And even if it marked the name for some obtuse reason, the name of the bot and the person whose name was stolen are different by 1 character, there is no situation where the tool would get "confused" and mark the wrong user

I'm not talking about name changers, I'm talking about ones like raspy where they try to defame a specific person.

There are also beta rules that are profile picture matching, and they work, but because they're in beta there are going to be false positives. By no means should I have to pause all protection against bots or entirely delete a rule that works just to stop kicking one person.

And to top it all off, it's a 5 minute fix. I'll make the PR myself if I have to.

Caketaco commented 2 years ago

I find myself in the situation where after failing an automatic votekick against a human cheater in casual, nothing will get done unless I flood chat with a court case of why this person is clearly a cheater based on whatever. And if that doesn't work, I have to pause the ENTIRE program because of ONE guy whom the others in the server aren't convinced is a cheater, otherwise I end up spamming the lobby with votekicks destined to fail. If bots are thrown into the mix, that's even worse, as it means I can no longer use the program to autokick them, as it may waste a votekick on the human cheater the rest of the lobby will not kick.

It gets to a point where it's easier to ignore one human cheater and focus on potential bots than to drop everything and go Phoenix Wright mode infront of the whole server.

Unmarking marked players that are from installed playerlists should absolutely be an option.

Pictured: Me unable to unmark a marked player ![h](https://user-images.githubusercontent.com/39420594/134782434-6e2fa974-a492-4c4d-a248-cc033d9e6faf.gif)