Silenci0 / SMAC

Sourcemod Anti-Cheat
Other
154 stars 55 forks source link

How to excempt a player from SMAC #21

Closed Bluscream closed 4 years ago

Bluscream commented 5 years ago

I would like to exclude my admins from any SMAC checks so their not bothered by it. I haven't seen anything regarding that on the wiki. How would i do that? When i tested it i had permissions "z" and this was the result:

L 11/09/2019 - 07:53:05: [smac_cvars.smx | 0.8.6.7] blu (ID: STEAM_1:1:31090466 | IP: loopback) was kicked for failing checks on convar "metamod_version". result "Okay" | CompType: "nonexist" | cvarValue "1.11.0-dev+1128V" | value: "" | value2: ""
    Map: de_inferno | Origin: 145 2890 275 | Angles: 1 -30 0 | Weapon:  | Team: 0 | Latency: 55ms

Also i would like to know if fakeclients are in any way affected by SMAC?

Silenci0 commented 5 years ago

You cannot exempt admins (or any players) from SMAC as it was not made to do so.

As far as fake clients, SMAC will make a check to see if the player is in-game and if they are valid players, so it shouldn't trigger detections against them.

Bluscream commented 5 years ago

Can't you just implement the same behavior for admins with certain overrides? like c for cheats ?

borzaka commented 5 years ago

I don't think that VAC would exclude Valve workers when they start to cheat on public servers.

Disabling SMAC checks for certain people opens a hole in the defense and possible vulnerabilities.

Silenci0 commented 5 years ago

The original devs, if I remember correctly, did not implement that due to the possibility of vulnerabilities. Don't quote me on that since it was a long time ago, but people had asked about that before I believe. That and at the time, it may have simply been easier to check everyone than to make exceptions, especially when it came to checking the values of cvars for each player that they should not be changing/accessing.

If you plan on using the smac_cvar module, you should be aware that anything flagged as a cheat will be in the list of cvars to monitor to see if a client attempt to change them. If there is a reason your admin is trying to change the metamod version, or its something you'd rather not be a kickable/bannable offense, you can remove that cvar from the list via "smac_removecvar" in either your "sourcemod.cfg" or "server.cfg" file or by editing the code and recompiling the plugins for yourself, if you wish.

As far as adding the ability to flag users for bypassing SMAC, in my opinion, I do not think its a good idea to implement such a thing for an anti-cheat as it would call the validity of SMAC into question, especially if players (and in some cases, admins) had the ability to bypass it in some way.

Bluscream commented 4 years ago

I mean it's open source, in the end i can do it myself so ^.^

Silenci0 commented 4 years ago

Indeed it is. Feel free to make whatever modifications you wish to the code. :)

caxanga334 commented 4 years ago

There was an unofficial module that gave immunity to admins on AM's forum.

Edit: https://forums.alliedmods.net/showpost.php?p=1659769&postcount=4

Silenci0 commented 4 years ago

Nice find @caxanga334 I was not aware of this existing. I will add the code to the repo just in case others want to use this.