Raised This Month: $32 Target: $400
 8% 

SMAC Documentation


Post New Thread Closed Thread   
 
Thread Tools Display Modes
Author Message
GoD-Tony
Veteran Member
Join Date: Jul 2005
Old 07-22-2011 , 05:05   SMAC Documentation
#1

**Update** SMAC Documentation has moved to BitBucket: https://bitbucket.org/psychonic/smac/wiki/


SourceMod Anti-Cheat

SourceMod Anti-Cheat is a plugin based system comprised of different modules to help protect your gameserver against common threats, hacks, scripts, exploits, commands, cvars, or cheats currently being used today to cause your servers harm. It protects your gameserver from most if not all of the common problems you would see on any gameserver and takes actions against those who cause the problems.

Visit the download thread for installation instructions.

Cvars:
smac_welcomemsg - Display a message saying that your server is protected. [Default: 1]
smac_ban_duration - The duration in minutes used for automatic bans. (0 = Permanent) [Default: 0]
smac_log_verbose - Include extra information about a client being logged. [Default: 0]

Commands:
smac_status - View the server's player status. This is an alternative to the existing 'status' command.

Admin Overrides: (wiki)
smac_admin_notices - Decides which players will receive admin notices from SMAC. [Default: Admin_Generic (b)]

Translations:
If you would like SMAC to support your language, or if you would like to update the phrases on an existing language, visit this site to view the latest revisions. You can then attach your .txt file as a reply to the development thread.

Extra-Features:
SMAC supports many third-party plugins that add more features to the core:
Compiling:
To compile SMAC and all of its modules, you will need these dependencies in your scripting/includes directory:

Last edited by GoD-Tony; 12-15-2013 at 11:40.
GoD-Tony is offline
GoD-Tony
Veteran Member
Join Date: Jul 2005
Old 07-22-2011 , 05:05   Re: Module Documentation
#2

Eye Angle Test

Cvars:
smac_eyetest_ban - Automatically ban players on detection. [Default: 0]

Description:
This lightweight module checks if a player's eye angles (field of view) has been altered past the point of a normal player. The type of cheats that do this are usually Anti-Recoil, No-Spread, and some Aimbots. When spectating these players they usually have a "shaky screen" when firing.

Detection example:
Code:
Hackworth (ID: STEAM_0:0:1234567890 | IP: 123.123.123.123) was banned for cheating with their eye angles. Eye Angles: 180 -356 0
EmRee (ID: STEAM_0:0:1234567890 | IP: 123.123.123.123) was banned for cheating with their eye angles. Eye Angles: -22 270 -8
calle11 (ID: STEAM_0:1:1234567890 | IP: 123.123.123.123) was banned for cheating with their eye angles. Eye Angles: 180 95 5
Angles are given as Pitch, Yaw, and Role. A normal player has a valid angle range from [-90, -180, -90] to [90, 180, 90]. The further outside of the valid range, the more likely they are to be cheating. In most cases, the only thing that can allow a player to have invalid angles is when they're using third party programs.

Forum Discussion:
http://forums.alliedmods.net/showthread.php?t=158477

Last edited by GoD-Tony; 11-03-2011 at 05:51.
GoD-Tony is offline
wtfaatp
Senior Member
Join Date: Jul 2010
Old 09-23-2011 , 16:33   Re: Module Documentation
#3

ConVar Checker

Commands:
smac_addcvar - Adds a cvar to be checked on the cvar list.
smac_removecvar - Removes a cvar from the list of cvars that get checked.
smac_cvars_status - Shows the cvar status of all in-game clients.

Description:
This module allows you to check if clients are trying to force there own cvars. This module will check if any client has a predefined cvar that differs from the server. Server admins can add there own cvars they would like to enforce or use the ones SMAC has predefined.

ConVar Checker will lock your server's sv_cheats value to 0. If you are running a server that requires sv_cheats, do not run this module.

SMAC predefined cvars:
Code:
Each cvar wil be in this format - Cvarname "value it must be" (If not what will happen.)
These are commands clients should have at all.
0penscript (Ban)
bat_version (Kick)
beetlesmod_version (Kick)
est_version (Kick)
eventscripts_ver (Kick)
fm_attackmode (Ban)
lua_open (Ban)
Lua-Engine (Ban)
mani_admin_plugin_version (Kick)
ManiAdminHacker (Ban)
ManiAdminTakeOver (Ban)
metamod_version (Kick)
openscript (Ban)
openscript_version (Ban)
runnscript (Ban)
SmAdminTakeover (Ban)
sourcemod_version (Kick)
tb_enabled (Ban)
zb_version (Kick)

These are the rest of the cvars that SMAC looks for
sv_cheats "0" (Ban)
sv_consistency "1" (Ban)
//sv_gravity "800" (Ban) Do not use if you have a mod that changes per player gravity.
r_drawothermodels "1" (Ban)
cl_clock_correction "1" (Ban)
cl_leveloverview "0" (Ban)
cl_overdraw_test "0" (Ban)
cl_particles_show_bbox "0" (Ban)
cl_phys_timescale "1" (Ban)
cl_showevents "0" (Ban)
fog_enable "1" (Ban)
host_timescale "1" (Ban)
mat_dxlevel "80.0 or Higher" (Kick)
mat_fillrate "0" (Ban)
mat_measurefillrate "0" (Ban)
mat_proxy "0" (Ban)
mat_showlowresimage "0" (Ban)
mat_wireframe "0" (Ban)
mem_force_flush "0" (Ban)
snd_show "0" (Ban)
snd_visualize "0" (Ban)
r_aspectratio "0" (Ban)
r_colorstaticprops "0" (Ban)
r_DispWalkable "0" (Ban)
r_DrawBeams "1" (Ban)
r_drawbrushmodels "1" (Ban)
r_drawclipbrushes "0" (Ban)
r_drawdecals "1" (Ban)
r_drawentities "1" (Ban)
r_drawmodelstatsoverlay "0" (Ban)
r_drawopaqueworld "1" (Ban)
r_drawparticles "1" (Ban)
r_drawrenderboxes "0" (Ban)
r_drawskybox "1" (Ban)
r_drawtranslucentworld "1" (Ban)
r_shadowwireframe "0" (Ban)
r_skybox "1" (Ban)
r_visocclusion "0" (Ban)
vcollide_wireframe "0" (Ban)
If a server admin would like to add cvars to the list to be checked there is a built in command. Simply use the smac_addcvar to add cvars to the check list.

I.E.
Code:
smac_addcvar sv_gravity equal ban 800.
The order of operatons goes like this.
smac_addcvar <cvar name> <comparison type> <action> <value>
'Cvar name' can be any Cvar.
'Comparison type' can be one of the following : equal, greater, less, between, strequal, nonexist.
'Action' can be either : warn, motd, mute, kick, ban.
'Value' is the value in which you want to enforce.

Forum Discussion:
To be added at a later date.

Last edited by GoD-Tony; 09-28-2012 at 08:25.
wtfaatp is offline
Drixevel
AlliedModders Donor
Join Date: Sep 2009
Location: Somewhere headbangin'
Old 10-01-2011 , 21:07   Re: Module Documentation
#4

Anti-Speedhack

Description:
This module checks for abnormal speeds on clients and attempts to block them. It runs passively in the background to prevent speedhacks from working.

Forum Discussion:
http://forums.alliedmods.net/showthread.php?t=159153

Last edited by GoD-Tony; 11-07-2011 at 03:22.
Drixevel is offline
GoD-Tony
Veteran Member
Join Date: Jul 2005
Old 10-30-2011 , 12:22   Re: Module Documentation
#5

AutoTrigger Detector

Cvars:
smac_autotrigger_ban - Automatically ban players on auto-trigger detections. [Default: 0]

Description: Detects cheats that automatically press buttons for players.

We are referring to these types of cheats:
  • BunnyHop - Player holds down +jump and continues to jump repeatedly.
  • Auto-Fire - Player holds down +attack and fires semi-auto weapons as if they were full-auto.

Many cheats come with these features enabled by default which could make them quite common to catch. The detections should be immune to natural human behaviour, but may be triggered by players using advanced scripts and aliases. A player binding their mousewheel to buttons should not trigger a detection.

I recommend that you leave the auto-ban cvar disabled until you are confident that there are no false detections.

Detection example:
Code:
Hackworth (ID: STEAM_0:0:1234567890 | IP: 123.123.123.123) is suspected of using auto-trigger cheat: BunnyHop
EmRee (ID: STEAM_0:0:1234567890 | IP: 123.123.123.123) is suspected of using auto-trigger cheat: Auto-Fire
The number after auto-fire is to determine the method used to detect the cheat. It is not the amount of detections. *New versions of SMAC no longer have these numbers.

While this may sound obvious, do not run this module on your server if you are running conflicting plugins. An example would be a plugin that allows a player to bunnyhop or auto-fire pistols.

Forum Discussion:
http://forums.alliedmods.net/showthread.php?t=171113

Last edited by GoD-Tony; 01-10-2012 at 07:37.
GoD-Tony is offline
Drixevel
AlliedModders Donor
Join Date: Sep 2009
Location: Somewhere headbangin'
Old 10-01-2011 , 21:18   Re: Module Documentation
#6

Spinhack Detector

Description:
This module checks if the client is spinning in certain directions to ensure other players cannot shoot the client easily. It detects the amount times the client spins in the same directions and warns admins if detected multiple times.

Detection example:
Code:
L 07/17/2011 - 19:01:34: Hacker#1 (ID: STEAM_0:0:1234567890 | IP: 123.123.123.123) is suspected of using a spinhack.
L 07/17/2011 - 20:06:14: Hacker#2 (ID: STEAM_0:0:1234567890 | IP: 123.123.123.123) is suspected of using a spinhack.
L 07/17/2011 - 21:27:54: Hacker#3 (ID: STEAM_0:1:1234567890 | IP: 123.123.123.123) is suspected of using a spinhack.
Sometimes false detections occur when a player is spinning in certain directions but the plugin acts if they have been detected multiple times. You will still receive logs of the detections though. The plugin measures the angles of clients spinning in 360 angles and detects if the same angle is spun multiple times.

Forum Discussion:
https://forums.alliedmods.net/showthread.php?t=186709

Last edited by GoD-Tony; 06-03-2012 at 03:20.
Drixevel is offline
Drixevel
AlliedModders Donor
Join Date: Sep 2009
Location: Somewhere headbangin'
Old 10-17-2011 , 13:45   Re: SMAC Documentation
#7

Command Monitor

Cvars:
smac_antispam_cmds - Amount of commands in one second before kick. (0 = Disabled). [Default: 30]

Commands:
smac_addcmd - Adds a command to be blocked by SMAC.
smac_addignorecmd - Adds a command to ignore on command spam.
smac_removecmd - Removes a command from the block list.
smac_removeignorecmd - Remove a command to ignore.

Description:
This module manages, monitors, and/or checks for Commands being used by players on the server. It manages commands that can be used to lag, crash, or freeze the server and manages them accordingly by either blocking them, kicking the player, banning the player, etc.

SMAC blocked commands:
Code:
Gives the list of commands SMAC looks for. If set to false then it will not ban them.
ai_test_los (false)
changelevel (true)
cl_fullupdate (false)
dbghist_addline (false)
dbghist_dump (false)
drawcross (false)
drawline (false)
dump_entity_sizes (false)
dump_globals (false)
dump_panels (false)
dump_terrain (false)
dumpcountedstrings (false)
dumpentityfactories (false)
dumpeventqueue (false)
dumpgamestringtable (false)
editdemo (false)
endround (false)
groundlist (false)
listmodels (false)
map_showspawnpoints (false)
mem_dump (false)
mp_dump_timers (false)
npc_ammo_deplete (false)
npc_heal (false)
npc_speakall (false)
npc_thinknow (false)
physics_budget (false)
physics_debug_entity (false)
physics_highlight_active (false)
physics_report_active (false)
physics_select (false)
q_sndrcn (false)
report_entities (false)
report_touchlinks (false)
report_simthinklist (false)
respawn_entities (false)
rr_reloadresponsesystems (false)
scene_flush (false)
send_me_rcon (false)
snd_digital_surround (false)
snd_restart (false)
soundlist (false)
soundscape_flush (false)
sv_benchmark_force_start (false)
sv_findsoundname (false)
sv_soundemitter_filecheck (false)
sv_soundemitter_flush (false)
sv_soundscape_printdebuginfo (false)
wc_update_entity (false)

choose_closedoor (true) (L4D[2] Only)
choose_opendoor (true) (L4D[2] Only)
buy (true)
buyammo1 (true)
buyammo2 (true)
use (true)
vmodenable (true)
vban (true)
Detection example:
Code:
L 07/17/2011 - 19:01:34: Hacker#1 (ID: STEAM_0:0:1234567890 | IP: 123.123.123.123) was banned for command usage violation of command: sm_command
L 07/17/2011 - 20:06:14: Hacker#2 (ID: STEAM_0:0:1234567890 | IP: 123.123.123.123) was banned for command usage violation of command: sm_command
L 07/17/2011 - 21:27:54: Hacker#3 (ID: STEAM_0:1:1234567890 | IP: 123.123.123.123) was banned for command usage violation of command: sm_command

Admins can always add commands themselves with the smac_addcmd command and ignore them with the smac_addignorecmd command.

I.E.
Code:
smac_addcmd sm_command 1
The order of operatons goes like this.
smac_addcmd <command> <ban?>
'command' The command you want to add.
'ban?' Does SMAC ban for using this command.

Forum Discussion:
To be added at a later date.

Last edited by GoD-Tony; 11-07-2011 at 03:23.
Drixevel is offline
GoD-Tony
Veteran Member
Join Date: Jul 2005
Old 10-18-2011 , 04:51   Re: SMAC Documentation
#8

Rcon Locker

Description:
This module will protect your server from general rcon exploits and crashes. It will lock your rcon password after your server has started to prevent it from being changed unintentionally.

Log example:
Code:
L 10/18/2011 - 10:17:14: [smac_rcon.smx] Rcon password changed to "LETMEIN". Reverting back to original config value.
Optionally, you can also install the SM RCon extension to make use of the IP whitelist feature.

Commands:
smac_rcon_addip - Adds an IP address to the rcon whitelist.
smac_rcon_removeip - Removes an IP address from the rcon whitelist.

The whitelist is activated when the first IP is added to the list. All connections made from outside this list will be rejected, even if they provide the correct password.

Forum Discussion:
None yet.

Last edited by GoD-Tony; 05-24-2012 at 07:54.
GoD-Tony is offline
GoD-Tony
Veteran Member
Join Date: Jul 2005
Old 10-29-2011 , 03:27   Re: SMAC Documentation
#9

L4D2 Exploit Fixes

Description: Blocks general exploits in Left 4 Dead 2.

Tank Rock Punch
Quote:
The Rock Punch exploit allows the Tank to do a "double attack" with both his melee punch and throwing a rock.
Pistol Spam
Quote:
Pistol Spam is an exploit that allows the player to "spam" pistols, causing the server to lag and ultimately time out when trying to calculate all these pistols, as they act as physic objects.
Slay Bots
Quote:
It is possible for an infected player to slay bots by abusing team changes.
Forum Discussion:
http://forums.alliedmods.net/showthread.php?t=165178

Last edited by GoD-Tony; 03-23-2012 at 05:32.
GoD-Tony is offline
Drixevel
AlliedModders Donor
Join Date: Sep 2009
Location: Somewhere headbangin'
Old 10-29-2011 , 04:25   Re: SMAC Documentation
#10

Anti-Wallhack

Cvars:
smac_wallhack - Enable Anti-Wallhack. This will increase your server's CPU usage. [Default: 1]
smac_wallhack_maxtraces - Max amount of traces that can be executed in one tick. [Default: 1280]

Description:
This module prevents most wallhacks from functioning correctly. The plugin manages and renders out entities so they appear when they should and not render out unless needed. This module checks certain Cvars from the clients and servers to make sure predictions are correct for players. If this module is installed on a L4D(2) server then it will only work with the survivors.

Warning: This module will increase your server's CPU usage

If you are testing this module against your own wallhack cheats to see how it works, make sure you note the following:
  • It will always allow you to see teammates.
  • It will allow you to see everyone if you are dead or spectating unless in first-person viewmode.

Configuring MaxTraces:
This convar is not written to the config and must be added manually.

The default is 1280 and in most cases it shouldn't need to be changed. If your server is lagging then this can be decreased. Recommended decrements if your server's CPU usage is maxing out: 1280 -> 1120 -> 980. A lower number will increase the "flickering" effects, so you need to find a proper balance between CPU usage and lag.


Forum Discussion:
http://forums.alliedmods.net/showthread.php?t=158618

Last edited by GoD-Tony; 08-07-2012 at 12:57.
Drixevel is offline
Closed Thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:17.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode