[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-94010":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":16,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":29,"readmeContent":30,"aiSummary":9,"trendingCount":14,"starSnapshotCount":14,"syncStatus":13,"lastSyncTime":31,"discoverSource":32},94010,"CS2AC","karola3vax\u002FCS2AC","karola3vax","Server-side anti-cheat for Counter-Strike 2 community servers, built for Metamod:Source.",null,"C++",155,19,2,0,39,117,87.3,"GNU Affero General Public License v3.0",false,"main",[22,23,24,25,26,27,28],"anti-cheat","counter-strike-2","cs2","game-server","metamod","metamod-source","server-plugin","2026-07-30 04:02:14","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"docs\u002Fcs2ac-logo.png\" width=\"760\" alt=\"CS2AC\">\n\n### Open-source server-side anti-cheat for Counter-Strike 2.\n\n[![Build](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fkarola3vax\u002FCS2AC\u002Fbuild.yml?branch=main&style=for-the-badge&label=build)](https:\u002F\u002Fgithub.com\u002Fkarola3vax\u002FCS2AC\u002Factions\u002Fworkflows\u002Fbuild.yml)\n[![Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fversion-1.0.6-blue?style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Fkarola3vax\u002FCS2AC)\n[![Detections](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdetections-17-red?style=for-the-badge)](#the-seventeen-detection-modules)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Windows%20%7C%20Linux-5c7cfa?style=for-the-badge)](#quickstart)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-AGPL--3.0-2ea44f?style=for-the-badge)](LICENSE)\n\n**Counter-Strike is at its best when every shot, clutch, and win is earned.**\n\nCS2AC helps community servers keep it that way.\n\n[Install](#quickstart) · [See every detection](#the-seventeen-detection-modules) · [Pair it with CS2FOW](#want-wallhack-protection-too)\n\n\u003C\u002Fdiv>\n\n## See it catch\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Faimbot.gif\" width=\"100%\" alt=\"CS2AC detecting a blatant snap-hit aimbot\">\n\u003Cbr>\u003Cstrong>AIMBOT\u003C\u002Fstrong>\u003Cbr>\n\u003Csub>A blatant snap lands on target.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Faimlock.gif\" width=\"100%\" alt=\"CS2AC detecting inhumanly precise target tracking\">\n\u003Cbr>\u003Cstrong>AIMLOCK\u003C\u002Fstrong>\u003Cbr>\n\u003Csub>The crosshair follows a moving target with inhuman precision.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Fantiaim.gif\" width=\"100%\" alt=\"CS2AC detecting impossible anti-aim angles\">\n\u003Cbr>\u003Cstrong>ANTIAIM\u003C\u002Fstrong>\u003Cbr>\n\u003Csub>Impossible angles, attack-return, jitter, and spin patterns.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Fbhop.gif\" width=\"100%\" alt=\"CS2AC detecting automated bunny hopping\">\n\u003Cbr>\u003Cstrong>BHOP\u003C\u002Fstrong>\u003Cbr>\n\u003Csub>Repeated frame-perfect hops and machine-like jump patterns.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Firregular-behavior.gif\" width=\"100%\" alt=\"CS2AC detecting repeated irregular airborne and no-scope results\">\n\u003Cbr>\u003Cstrong>IRREGULAR BEHAVIOR\u003C\u002Fstrong>\u003Cbr>\n\u003Csub>Too many rage-level airborne and no-scope results.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\" align=\"center\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Fsilentaim.gif\" width=\"100%\" alt=\"CS2AC detecting bullets that disagree with visible aim\">\n\u003Cbr>\u003Cstrong>SILENTAIM\u003C\u002Fstrong>\u003Cbr>\n\u003Csub>The bullets hit somewhere the visible aim never pointed.\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cdiv align=\"center\">\n\n### CS2AC + CS2FOW\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkarola3vax\u002FCS2FOW\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Fcs2fow-wallhack.gif\" width=\"100%\" alt=\"CS2FOW operating across Dust II long sightlines\">\n\u003C\u002Fa>\n\n**Catch the cheat. Starve the wallhack.**\n\n\u003Csub>CS2AC catches cheating behavior. CS2FOW stops hidden enemies from being sent to the cheater in the first place.\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n## The Seventeen Detection Modules\n\n### Aim and accuracy\n\n**Aimbot.** The player's aim moves sharply onto an enemy before a damaging shot. CS2AC checks whether this pattern occurs across separate shots.\n\n**Aimlock.** The player's aim closely follows a moving enemy for an extended period. CS2AC measures how closely the aim follows the target over time, including when the target is behind a wall.\n\n**Silentaim.** A damaging bullet lands away from the direction shown by the player's aim. CS2AC compares the aim at the moment of the shot with the bullet impact and resulting damage.\n\n**Inhuman Accuracy.** The player maintains an unusually high hit rate across a longer series of aimed shots. CS2AC tracks those shots and how many of them cause damage.\n\n**Irregular Behavior.** The player repeatedly lands difficult shots while airborne or without using a sniper scope. CS2AC counts both successful and missed attempts over time.\n\n### Movement\n\n**Autostrafe.** The player repeatedly gains or preserves speed through highly consistent movement while airborne. CS2AC compares the player's movement, speed, and timing across each jump.\n\n**Bhop.** The player repeatedly jumps again as soon as they touch the ground. CS2AC measures the time between landing and the next jump across consecutive hops.\n\n**Hyperscroll.** The player sends unusually rapid bursts of jump inputs while landing. CS2AC checks those inputs together with the timing of the resulting jumps.\n\n**Nulls.** The player switches between opposite movement directions with highly consistent timing while airborne. CS2AC compares the movement keys with the direction changes sent by the player.\n\n### Exploits and client behavior\n\n**Antiaim.** The player's view spins, jitters, returns after an attack, or reaches angles outside normal play. CS2AC checks the view angles and their order across consecutive commands.\n\n**DLL Injection.** The player's game subscribes to a group of events associated with injected client code. CS2AC checks those event subscriptions after the player joins and again while they remain connected.\n\n**Desubticking.** The player's movement inputs repeatedly arrive without their normal timing between ticks. CS2AC checks the timing attached to each movement change.\n\n**Doubletap.** The same weapon fires twice before its normal delay has passed. CS2AC compares the weapon and server tick of each consecutive shot.\n\n**Invalid CVar.** The player's game reports a protected or monitored setting outside its accepted value. CS2AC requests these settings from the client and checks each reply.\n\n**Invalid Input.** The player's button state does not match the recorded order of button presses and releases. CS2AC compares both parts of the command sent by the client.\n\n**Namechanger.** The player changes their visible name repeatedly within a short period. CS2AC counts name changes for each connected player.\n\n**Subtick Spam.** The player repeatedly sends many movement or aim changes at the same point within a tick. CS2AC checks how often these same-time input bursts occur.\n\n## One detection. Everywhere.\n\nWhen CS2AC acts, it can do all of this at once:\n\n1. Announce the detection in public chat.\n2. Hold a clear center-screen alert for five seconds.\n3. Write the evidence and punishment result to the server console.\n4. Run your configured ban or kick command.\n5. Send a detailed Discord webhook report.\n\n```text\n[CS2AC] detected AIMBOT on Player and punished.\n```\n\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"docs\u002Fshowcase\u002Fannouncement-chat.png\" width=\"600\" alt=\"CS2AC test announcement in public chat\">\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"33%\" align=\"center\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Fannouncement-center.png\" width=\"100%\" alt=\"CS2AC center-screen test announcement\">\n\u003Cbr>\u003Cstrong>Five-second center alert\u003C\u002Fstrong>\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\" align=\"center\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Fdetection.png\" width=\"100%\" alt=\"CS2AC center-screen Aimbot detection\">\n\u003Cbr>\u003Cstrong>Detection sent\u003C\u002Fstrong>\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\" align=\"center\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Fwhitelist.png\" width=\"100%\" alt=\"CS2AC announcing a detection on a whitelisted player\">\n\u003Cbr>\u003Cstrong>Whitelist stays visible\u003C\u002Fstrong>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdiv>\n\nWhitelisting does not silence CS2AC. The detection still appears in chat, on screen, in the console, and in Discord; only the punishment command is skipped.\n\n## Quickstart\n\nYou need a Windows x64 or Linux x64 CS2 dedicated server running [Metamod:Source](https:\u002F\u002Fwww.sourcemm.net\u002F) 2.x.\n\n1. Open this repository's **Releases** tab and choose the matching Windows or Linux package.\n2. Extract it into the CS2 server root without rearranging anything. The package begins with the `game` folder.\n3. Edit `game\u002Fcsgo\u002Fcfg\u002Fcs2ac.cfg`.\n4. Start the server.\n5. Run `meta list`, then `cs2ac_status`.\n\nThat is it. Players install nothing.\n\nThe default punishment commands are made for [CS2-SimpleAdmin](https:\u002F\u002Fgithub.com\u002Fdaffyyyy\u002FCS2-SimpleAdmin). Using another admin plugin? Replace the two commands in `cs2ac.cfg` with commands that plugin understands.\n\n## Configuration\n\nThe included [`cs2ac.cfg`](cfg\u002Fcs2ac.cfg) explains every option in plain language.\n\n| Setting | Default | What it does |\n| --- | ---: | --- |\n| `cs2ac_enabled` | `1` | Master switch for CS2AC. |\n| `cs2ac_whitelist` | empty | SteamID64s that may be detected but must never be punished. |\n| `cs2ac_*_enabled` | `1` | Enable or disable one detection module. |\n| `cs2ac_chat_announcements` | `1` | Show detections in public chat. |\n| `cs2ac_center_announcements` | `1` | Show the five-second center alert. |\n| `cs2ac_language` | `en` | Language used for public messages and Discord reports. |\n| `cs2ac_punishment_command` | `css_addban ...` | Command used for permanent bans. |\n| `cs2ac_kick_command` | `css_kick ...` | Command used for kick-only detections. |\n| `cs2ac_webhook_url` | empty | Discord webhook that receives detection reports. |\n| `cs2ac_webhook_role_id` | empty | Discord role to mention on a report. |\n| `cs2ac_webhook_server_address` | automatic | Server address shown in Discord. |\n| `cs2ac_allow_sv_cheats_testing` | `0` | Allow local detector testing with `sv_cheats 1`. Never enable this on a public server. |\n\nPunishment commands support `{steamid64}`, `{userid}`, and `{detection}`:\n\n```cfg\ncs2ac_punishment_command \"css_addban {steamid64} 0 CS2AC: {detection}\"\ncs2ac_kick_command \"css_kick #{userid} CS2AC: {detection}\"\n```\n\nWhitelist one account or a comma-separated list:\n\n```cfg\ncs2ac_whitelist \"76561198000000001,76561198000000002\"\n```\n\nSet `cs2ac_language` to one of the bundled language codes, then run `cs2ac_reload`:\n\n`ar`, `bg`, `cs`, `da`, `de`, `el`, `en`, `es-419`, `es-es`, `et`, `fi`, `fr`, `he`, `hr`, `hu`, `id`, `it`, `ja`, `ko`, `lt`, `lv`, `nl`, `no`, `pl`, `pt-br`, `pt-pt`, `ro`, `ru`, `sk`, `sr`, `sv`, `th`, `tr`, `uk`, `vi`, `zh-cn`, `zh-tw`.\n\n### Discord in four steps\n\n1. Create a webhook in the Discord channel that should receive detections.\n2. Put its URL in `cs2ac_webhook_url`.\n3. Run `cs2ac_reload`.\n4. Run `cs2ac_webhook_test`.\n\nKeep the webhook URL private. CS2AC never prints it back to the console.\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"docs\u002Fshowcase\u002Fwebhook.png\" width=\"432\" alt=\"CS2AC Discord detection report with player, evidence, punishment, map, and server details\">\n\u003C\u002Fdiv>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Server commands\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| Command | What it does |\n| --- | --- |\n| `cs2ac_status` | Show whether CS2AC and its main features are working. |\n| `cs2ac_help` | List the available CS2AC commands. |\n| `cs2ac_reload` | Reload `cs2ac.cfg`. |\n| `cs2ac_check_config` | Find mistakes in the current configuration. |\n| `cs2ac_test_announcement` | Preview the chat and center-screen alert without detecting anyone. |\n| `cs2ac_webhook_test` | Send a test detection report to Discord. |\n\n\u003C\u002Fdetails>\n\n## FAQ\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Do players install anything?\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nNope. CS2AC lives entirely on the dedicated server, so players just connect and play as usual.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Does it work in Premier or Valve matchmaking?\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nNo. CS2AC is made for community and dedicated servers you control. It cannot be added to Premier or Valve matchmaking.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Can it catch every cheat?\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nNo. No anti-cheat catches everything. CS2AC can only judge the behavior that reaches the server; it does not read a player's files, memory, or desktop.\n\nDespite the name, **DLL Injection does not scan anyone's PC**. It only checks suspicious game-event subscriptions that the client shares with the server.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Which detections ban and which only kick?\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nBy default, Desubticking, Nulls, and Subtick Spam only kick. Every other detection uses the permanent-ban command.\n\nWant different punishments? Change or empty either command. The detection announcements will keep working.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>What happens to whitelisted players?\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nThey can still trigger a detection, and everyone can still see it, but CS2AC stops before sending any punishment command.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Does it support FFA?\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nYes. When `mp_teammates_are_enemies` is enabled, CS2AC treats other players as enemies just like the game does.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Does CS2AC advertise itself?\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nYes, but it does not spam. Every six completed rounds, CS2AC shows this message once in chat and at the center of the screen:\n\n```text\n[CS2AC] This server is protected by karola3vax's anti-cheat.\n```\n\nThis small project credit is built in and cannot be turned off.\n\n\u003C\u002Fdetails>\n\n## Want wallhack protection too?\n\n**CS2AC catches cheating behavior. [CS2FOW](https:\u002F\u002Fgithub.com\u002Fkarola3vax\u002FCS2FOW) stops your server from sending live enemy positions through solid walls and smoke.**\n\nThey solve different problems, run entirely on the server, and can protect the same CS2 community server together.\n\n## Building from source\n\nClone the pinned submodules:\n\n```sh\ngit clone --recursive https:\u002F\u002Fgithub.com\u002Fkarola3vax\u002FCS2AC.git\ncd CS2AC\n```\n\nWindows needs Python 3.8 or newer and Visual Studio 2022 with the C++ workload:\n\n```powershell\n.\u002Fbuild-windows.ps1\n```\n\nLinux needs Python 3.8 or newer and Docker:\n\n```sh\n.\u002Fbuild-linux.sh\n```\n\nBoth scripts make a directly installable package under the build folder's `package\u002Fgame` directory. Linux builds inside the pinned Steam Runtime 3 SDK image.\n\n## Be part of it\n\nRun CS2AC on a real server. Test it. Break it. Send useful reports.\n\nIf it earns a place on your server, **star the repository and share your clips**. That is how an open-source anti-cheat gets harder to bypass.\n\n## License\n\nCS2AC is free and open-source software licensed under the [GNU Affero General Public License v3.0](LICENSE). Dependencies keep their own licenses; see [Third-party notices](THIRD_PARTY_NOTICES.md).\n","2026-07-29 02:30:07","CREATED_QUERY"]