konsolas / AAC-Issues

AAC Issue Tracker.
32 stars 15 forks source link

Requesting API improvements - per check exemptions, aac status api, etc. #2191

Open Pesticidus opened 3 years ago

Pesticidus commented 3 years ago

Issue description

Unfortunately, at the moment the API in AAC is almost empty, and some basic things needed for server owners are missing.

We can now disable all checks for a specific player with addExemption and removeExemption. But we have no way to disable a specific check. It would be nice to add addExemption (Player, Check), removeExemption (Player, Check). For example, we give the player some custom effects that cause false positives for specific checks, and these effects have a long lasting effect. And for now, all we can do is completely disable AAC for this player...

Also, now there is no way through the API to get the data that AAC can give through commands. For example the player's score and details of the suspicion (Strings with reasons will be fine)

And one more very important detail: at the moment in AAC there is no way to conveniently track how and for what scores (VLs) are given (or not). It is very difficult to check for false positives and bypasses. Previously, it was possible to enable verbose-mode and understand at what point and for what the player is given false positives. Now you need to constantly check the player's score through the /aac status command. It would be nice if you added a command like /aac verbose, where in live mode it was written for what and how many points the player is given. I am writing this as a person who in total (from different accounts) has reported more than 70 issues for AAC.

Core information

AAC version: 5.x

Janmm14 commented 3 years ago

You can use /aac debug [playername] to toggle getting more precise information. It will however not just print data of violations, it also prints data about every movement and other relevant information for debugging purposes.

Logs of just violations are not really helpful for fixing stuff, especially related to movement, that is one reason it was changed to just aac debug.

Pesticidus commented 3 years ago

Unfortunately, when using /aac debug there is too much extra text. When using AAC4, all messages from the verbose-mode were recorded and merged with server-side replaymod. It was convenient to open a specific replay on a complaint and see at what moment and what exactly the anti-cheat wrote. Now AAC either does not write anything at all, or writes debug-messages with a huge amount of information that is simply impossible to view normally. Of course, I can make a lot of messages that would be sent every 5 tresholds, but I think this is an unreasonable implementation.

lucaazalim commented 3 years ago

We can now disable all checks for a specific player with addExemption and removeExemption. But we have no way to disable a specific check. It would be nice to add addExemption (Player, Check), removeExemption (Player, Check). For example, we give the player some custom effects that cause false positives for specific checks, and these effects have a long lasting effect. And for now, all we can do is completely disable AAC for this player...

I'm currently waiting for this feature to be implemented in AAC 5 API to be able to upgrade from AAC 4. This is a very important feature to me and I think for so many other AAC users. This is the current solution I use to create per check exemptions in AAC 4:

int lvl = AACAPIProvider.getAPI().getViolationLevel(player, HackType.MOVE);

if (lvl > 0) {
    AACAPIProvider.getAPI().setViolationLevel(player, HackType.MOVE, 0);
}

There should be a similar solution on AAC 5 API. I hope this is implemented soon!