DSK-AC — GM Market

DSK-AC

make cheaters blind

5.0 4 16+ v1.1.0
Garry's Mod adminanti-esp
€14.99
Secure Instant Support

Kimi✓

Verified Seller
2 products 5.0

DSK-AC | Anti-ESP for Garry's Mod

Make cheaters blind

activate your license here

1 week free trial

OVERVIEW :

DSK-AC is a server-authoritative Anti-ESP built to stop illegitimate player visibility. If a player is not supposed to see someone, they simply will not. Everything is handled serverside so the server decides what information is allowed to reach each client.


WHAT IT DOES :

DSK-AC blocks player rendering through invalid lines of sight by understanding common visibility leaks on maps and props. It accounts for map windows and also props using alpha, translucent materials.


KEY FEATURES :

  • Server-authoritative Anti-ESP: the server decides who can be seen, at all times
  • Map window detection: prevents visibility through window areas that should not grant full vision
  • Prop material handling: detects alpha and translucent materials on props and treats them correctly for Anti-ESP logic
  • Prediction to reduce pop-in: a small pre-visibility buffer (0.1 ms) helps show a player slightly before they become visible, reducing the popup effect
  • Built for scale: tested on 128 player servers with the right configuration

WHY DSK-AC

  • No client trust: visibility is controlled serverside
  • Competitive feel: fair fights, no wall information
  • Designed for high population: made to stay stable under load when configured properly


Secure Purchase Protected by GM Market
Free Updates Lifetime access included
Support Included 6 months of assistance
Source Code Full access & documentation

DSK-AC | Features


Anti-Wallhack / Anti-ESP


Server-side visibility system that prevents players from receiving entity data they shouldn't see. If a player is behind a wall, their data is never sent to your client, making ESP and wallhack cheats completely useless, not just hidden on screen, but removed at the network level.


Multi-Point Body Tracing


Checks visibility using up to 5 body points:


  • Head
  • Chest
  • Feet
  • Left hand
  • Right hand

Includes proper crouching offsets.

Three presets control how thorough the check is:


  • Fast: head only
  • Medium: head + chest
  • Full: all points

Automatic Distance Presets


Pairs of players close together get the Full preset. As distance increases, cheaper presets kick in automatically. Far-away pairs waste less server time on detailed checks.


Spatial Grid


Players are sorted into a 2D grid so the system only checks nearby pairs instead of comparing every player against every other player. Scales well with high player counts.


Distance-Tiered Rechecks


Hidden pairs are rechecked at different rates depending on distance:


  • Close pairs get rechecked almost every tick
  • Far pairs are rechecked much less often

Saves CPU without sacrificing responsiveness where it matters.


Dirty Pair Processing


When a player starts moving, all their hidden pairs are immediately rechecked, no waiting for the next scheduled recheck. Prevents players from staying invisible when the situation changes.


PVP Mode


Players who fire, take damage, or equip combat weapons enter a PVP state for a configurable duration. While active, they get:


  • Stricter checks
  • Longer detection range
  • More pairs processed per tick
  • Always the Full preset

Non-combatants are deprioritized to save resources.


Priority Weapon System


Specific weapons (like snipers) can be flagged as high-priority. Any pair involving a priority weapon:


  • Gets the most thorough visibility checks
  • Bypasses recheck throttling

Cannot run at the same time as PVP mode.


Position Prediction


Extrapolates where players will be based on their velocity and pre-reveals them before they come around a corner. Predicted positions are validated against world geometry so the system doesn't predict through walls.


Prop Pass-Through


Traces that hit certain props can pass through them instead of treating them as solid:


  • Whitelisted models: manually listed props that should always be transparent to traces
  • Translucent detection: automatically identifies props with low alpha or see-through materials (glass, fences, etc.) and traces through them

Results are cached to avoid repeated checks.


Zone System


Admins can define 3D box-shaped zones on the map:


  • Whitelist zones: trace hits inside these zones are ignored, treating the area as open

  • Optional validation re-traces past the zone to make sure there isn't a real wall behind it
  • Blacklist zones: any trace passing through these zones is blocked, forcing players inside to stay hidden regardless of geometry

Zones are saved per-map and persist across server restarts.


Zone Creator Tool


An in-game weapon for admins to place and remove zones:


  • Left click: sets the first corner
  • Right click: sets the second corner (zone is created)
  • R: remove the nearest zone
  • E: toggle between whitelist and blacklist mode

Existing zones are drawn as colored wireframes:


  • Cyan: whitelist
  • Red: blacklist

Idle Detection


Players who haven't moved for a configurable time are marked idle. Idle players are deprioritized to avoid wasting traces on stationary pairs. As soon as a player moves, they are immediately reprocessed.


Player Whitelist API


Other addons or server operators can call:


DSKAC.Modules.AntiESP.Whitelist(ply, true)


This exempts a player from the system entirely. That player will always see everyone and never be hidden.


Killswitch


Console command:


dskacantiesptoggle


Instantly enables or disables the entire system from the server console. When disabled, all hidden pairs are immediately revealed.


Hot-Reload Config


Configuration changes are tracked with a version counter. The system detects changes each tick and rebuilds all internal lookups automatically, no server restart needed.


Clean Lifecycle Handling


Player spawns, disconnects, and weapon switches are all handled:


  • Hidden pairs are cleaned up on spawn and disconnect
  • Weapon changes invalidate caches and trigger rechecks where needed

DSK-AC | Performance


This system was built from the ground up to handle 128-player servers without dropping frames. Every part of it, from how players are tracked to how traces are fired, was designed around one question: how do we do less work per tick without cutting corners on accuracy.


No unnecessary work


The system only checks player pairs that actually matter.


  • A spatial grid sorts players into cells so the server never wastes time comparing two players on opposite ends of the map.
  • If neither player in a pair has a PVP weapon out and PVP mode is active, the pair is skipped entirely.
  • If both players are standing still, they are removed from processing altogether.
  • Every check has an early exit.

Batched processing


Player pairs are not all checked in one tick.


  • The workload is split across ticks using cursor-based pagination.
  • A fixed number of pairs are processed per tick, then the cursor advances.
  • Hidden pairs are rechecked the same way.

This keeps the per-tick cost flat and predictable, regardless of player count.


Distance-aware scheduling


Not all pairs need the same attention.


  • Close pairs are rechecked almost every tick.
  • Medium-range pairs are rechecked less often.
  • Far pairs are rechecked rarely.

The system also scales trace detail by distance:


  • Close players get a full 5-point body check
  • Far players only get a quick head trace

Result: most of the server effort goes where it matters most.


Instant response where it counts


When a player starts moving, all their hidden pairs are immediately rechecked that same tick, no waiting for the next scheduled pass.


  • Done through a dirty-flag system with a reverse index, so finding affected pairs is instant.
  • Players coming around corners or peeking an angle are never stuck invisible.

Zero garbage collection pressure


Everything used in the hot loop is pre-allocated once and reused.


  • Trace structures, filter tables, and vectors are reused forever.
  • Pair keys are integers built with bit-shifting, not string concatenation.
  • The pair queue is a flat array stepped through with arithmetic, no per-pair table creation.
  • Caches are cleared by overwriting fields, not creating new tables.

This produces effectively zero garbage for Lua’s collector during gameplay.


Smart caching


Expensive results are cached and only recalculated when something changes:


  • Player positions cached once per tick so nothing calls GetPos twice on the same player.
  • Child entities (weapons, attachments) cached and only invalidated on weapon switch or entity spawn.
  • Translucent prop detection cached for several seconds with a lazy sweep.
  • Predicted positions cached per-tick per-player so duplicate prediction requests are free.
  • Config changes tracked with a version counter so internal lookups rebuild only when needed.

Bounded worst cases


Every loop that could spiral has a hard cap.


  • Prop pass-through is limited to a fixed number of re-traces.
  • Zone validation has a maximum retrace depth.
  • Distance tier recalculation is throttled so it doesn’t run every visit.
  • The tick counter resets before hitting precision limits.

Nothing in the system can run away.


PVP mode as a performance tool


PVP mode is not just a feature, it is a performance strategy.


On a 128-player server, most players are not fighting at any given time. PVP mode focuses the system’s budget on combatants by giving them higher throughput and longer range, while non-combatants are filtered out of the queue entirely.


The server spends its resources on the players shooting, not the players standing around.


Configurable throughput


Every performance knob is exposed in the config:


  • Pairs per tick
  • Hidden rechecks per tick
  • Recheck intervals
  • Idle timeout
  • Batch sizes

Defaults are conservative and safe for most servers, but with a tuned 128-player setup (PVP mode enabled and sensible preset distances), the system stays well under budget.


The right config for your server is the difference between running comfortably and running hot.


Historique des versions 8 versions

Actuelle v1.1.0
Rehauled debug mode

Optimisations :
We now have x2 speeds thanks to the new dskac module

Various optimisations and bugfixes

New VisHistory

and a lot more to find out
v1.0.8
Bug Fixes

Fixed an issue where dying while cloaked caused inconsistent behavior
Resolved multiple cases of data corruption and unintended state escaping within the system

New Features

Added DSK Debug feature, enabling full system debugging for easier issue tracking (see “enable debug”)
Introduced PVPOnly option, allowing PvP players to trace only against other PvP players, improving performance
v1.0.7
Bug Fixes

Fixed an issue where running toward a non-whitelisted prop while prediction and prop detection were enabled could briefly reveal a player behind it
Fixed a bug where the table could not be repopulated if all players exited PvP mode simultaneously
Fixed an overflow-related crash

New Features

Added MySQL/SQL support
Added the ability to whitelist entities and classes (e.g. {"prop_door_rotating", "func_door_rotating"})
Updated Zone Creator with two new parameters: AllowedGroups and MaxZonesPerMap
Introduced full vehicle support with the new VehicleOffsets system
v1.0.6
Predicts eye height shift during crouch transitions. (Thanks to XAZ for the suggestion)

DSK-CLOAK : Superadmins can toggle invisibility; cloaked players are hidden from all non-cloaked players.

Diverse Optimisations/Bug Fixes
v1.0.5
Diverse Optimisations

Removed Client-Side visibility checks (may come back later)

Skipped 1.0.4 (forgot)
v1.0.3
Prediction
- Added FullPropDetection option (off by default). Fast path uses a single trace per prediction. Enable for full zone and prop passthrough accuracy.

Client-Side Visibility Checks
- Server can now offload hidden pair rechecks to the client, reducing server trace load.
- Client runs the trace locally and reports back. Falls back to server on timeout.
- Configurable: Interval, MaxPerPlayer, SlotsPerTick, TimeoutTicks.

Reload Safety
- State and CLState tables are now reused on reload instead of replaced, fixing stale references.
- Fixes prediction breaking after reloading sv_init.
- Fixes client checks always returning visible after reloading autorun.
- Server re-syncs client data automatically after any reload.
vv1.0.2
Simplified ProcessHiddenPair: removed redundant bothIdle variable from hide computation (not bothIdle and not idle1 is equivalent to not idle1). Replaced branching GetRecheckInterval() with pre-built array lookup recheckByTier[tier]. Restructured ProcessSingleHidden to avoid computing alive when valid is false. Used generation counter for dirty pair deduplication instead of hash table check.

Generation counter (dirtyGeneration++) replaces table.Empty(dirtyProcessedThisTick) every tick, avoiding full hash table clear. Same bothIdle simplification applied.

Moved ply2:GetPos() before ResolvePreset() and passes it as parameter, eliminating a redundant GetPos() C-call when preset is "Auto".

Replaced n * 3 multiplication per pair with a running base counter that increments by 3. Used FindMetaTable("Vector").DistToSqr direct function reference to avoid metamethod dispatch. Fixed double array index on cellPlayers[i] for position cache lookup.

Pre-cached scale computation (was recomputed per call). Uses State.priorityEnabled flag instead of re-reading config tables every call.

Added State.priorityEnabled flag set during rebuild, enabling early-out in IsPriorityPair when priority system is disabled (avoids 2x GetActiveWeapon + GetClass calls per pair).

Added modelLowerCache to cache string.lower(model) results per unique model string, avoiding repeated string allocation on every prop hit check.

Eliminated both gsub calls in materialInSet by pre-computing all 4 path variants (with/without materials/ prefix and .vmt suffix) in the lookup table at load time. Replaced sub-table cache entries {result, expiry} with flat parallel arrays cacheResult[idx] / cacheExpiry[idx] to avoid small table allocations per cached entity.

Changed HitInZone loop from index-then-multiply (i * 6) to direct stride-6 iteration, eliminating a multiplication per zone per check.

Pre-filtered blacklist zones into their own flat array blFlat during cache rebuild, so the raycast loop skips non-blacklist zones entirely without branching.

Fix issue with whitelist zones not working correctly
v1.0.1
### Change log v1.0.1

**Fix: Prediction visibility leak near walls**

* **What was happening:** If an enemy player was in front of you but hidden behind a wall, and you sprinted into that wall, the prediction step could briefly “pop” the player into view for a split second.

* **Why it happened:** The prediction was updating visibility based on projected position without confirming line-of-sight and solid geometry at the predicted sample point.

* **What we changed:** Added a wall/solid-surface check to the prediction path. If the predicted position intersects a wall or line-of-sight is blocked, we do not apply the visibility update.

* **Result:** No more instant visibility flash when colliding with walls while a player is behind cover.
5.0
4 reviews
5★
4
4★
0
3★
0
2★
0
1★
0
XaZ Verified Purchase
2026-03-24

AntiESP super! Il y avait quelques soucis au départ, mais Kimi les as réglé rapidement. J'ai testé et ça marche super bien!

Je recommande!

Adam Verified Purchase
2026-03-22

Excellent addon, parfait pour aveugler et combattre les cheaters. J'ai récemment ouvert un serveur military rp sur garry's mod mais j'ai été confronté à un problème majeur sur celui-ci : les cheaters. J'ai essayé bon nombre d'anti cheats conventionnels et payants (dont je tairai les noms) mais je me suis vite rendu compte que ceux-ci étaient très mal optimisés, complétement dépassés et inefficaces face aux cheats modernes. C'est là où Kimi est intervenu et m'a proposé d'utiliser son anti cheat DSK-AC, les résultats ont été immédiats, l'expérience de jeu était complétement renouvelée, plus une seule balle miraculeuse venant tout droit du néant qui atterrissait par miracle en plein dans la tête des joueurs et un bon nombre d'individus ont étonnamment perdu la quasi omni-science dont ils disposaient sur la position de leurs ennemis. Et tout ça sans une seule perte de fps ou augmentation de la latence sur mon serveur. Si vous souhaitez réellement apporter à vos joueurs l'expérience de jeu qu'ils méritent achetez DSK-AC les yeux fermés, vous ne serez pas déçus.

energetic_starfish_08872 Verified Purchase
2026-02-15

Excellent service & support

Valk.py Verified Purchase
2026-02-15

I just downloaded this addon and tested it.
Having already tried Vigilant Eye, I can see that Kimi's work is constantly improving.
His addons are efficient, fast, and practical.
I recommend you try them and see for yourself the quality of his products!