COWMODSКаталог модов

TruthfulAC

A free, open source Minecraft anti-cheat with serious combat detection, simulation-based movement, and full Geyser support.

Автор: Tawny9115обновлён 5 окт. 2026 г.
УправлениеУтилиты

Описание

TruthfulAC

TruthfulAC was a paid plugin. Then it wasn't. The license key is gone, the obfuscation is gone, and the full source is public because a free anti-cheat that's actually good does more for the community than another plugin sitting behind a paywall.

Use it. Fork it. Contribute to it.


⚙️ Installation

  1. Drop PacketEvents into /plugins/
  2. Drop TruthfulAC.jar into /plugins/
  3. Restart

No license key. No activation. No account. That's it.

Requires: PacketEvents 2.14.0+ · Java 21+ · Minecraft 1.20.4 through 26.3


🛡️ Checks

🏃 Movement

Simulation — The core of the plugin. A collision-aware physics engine that predicts where a player should be every tick and compares it against what was actually sent. Resolves every candidate through real block collision, uses the client's exact input state on 1.21.2+, and applies tolerance only from physical uncertainty sources — never arbitrary padding.

Catches fly, bhop, speed, airwalk, hover, micro-jumps, slow-fly, elytra abuse, liquid movement, and vehicle exploits across virtually every movement state.

CheckDescription
SimulationOne unified verdict over the entire engine: collision-resolved candidates, knockback models, bounce restitution, fluid heights, piston windows, geyser columns, and sustained-climb pattern detection

Ground Spoof / NoFall — Six checks targeting every known variant of fake ground state packets used to suppress fall damage.

CheckDescription
GroundSpoof BFlags ground claims at Y positions that don't align to any valid block surface
GroundSpoof CCatches clients claiming ground while actively falling
GroundSpoof DBlocks ground claims at impossible Y positions including void level
GroundSpoof ETracks accumulated server-side fall distance and flags suppressed fall damage
GroundSpoof FCross-references the client's ground claim against actual block collision state
GroundSpoof GDetects ground state pulsing with no corresponding movement

Velocity — Detects anti-knockback by tracking whether players actually apply velocity after acknowledging it via transaction packets.

CheckDescription
Velocity AFlags horizontal velocity non-acceptance, accounting for the player's own input fighting the knockback
Velocity BCatches vertical velocity suppression, specifically upward knockback
Velocity CExtended decay check covering delayed anti-KB configurations
Velocity DDetects near-zero velocity yield on both axes simultaneously

Other Movement

CheckDescription
Timer ATransaction-anchored tick timing that detects timer hacks by measuring against the client's own acknowledgement clock, immune to TPS fluctuation
Baritone ADetects the rotation snap density pattern produced by Baritone's pathfinder
Baritone BIdentifies robotic mining patterns with locked-camera block targeting
Baritone CFlags suspiciously consistent block break intervals
Inventory ADetects inventory clicks while simultaneously sending movement updates

⚔️ Combat

Aim — Three checks built on GCD sensitivity analysis. Deliberately minimal: this is a free anti-cheat, and we're not handing cheat developers a spec to tune against.

CheckDescription
Aim AGCD analysis validating rotation steps map to a real vanilla sensitivity
Aim BDetects valid-step but off-grid rotations (aim assist faking sensitivity)
Aim CFlags constant-rotation streaks — humanly impossible sustained identical deltas

KillAura — Seven checks targeting KillAura from movement, rotation, attack behavior, and targeting patterns.

CheckDescription
KillAura BDetects sprinting inconsistent with the look vector during attacks (KeepSprint)
KillAura CSnap-and-stop detection: aim snaps to target and immediately stops moving
KillAura DSilent aim and pitch lock
KillAura EWall hit detection using the compensated world cache
KillAura FPacket crit detection identifying the mini-jump pattern
KillAura GMulti-target switching within impossibly short windows
KillAura HAttack interval variance too consistent to be human

AutoClicker — Five checks approaching click detection from independent statistical angles.

CheckDescription
AutoClicker ACoefficient of variation analysis flagging low-variance click timing
AutoClicker BIdentical delay streaks detecting consecutive clicks with near-identical timing
AutoClicker CHard CPS cap
AutoClicker DSub-8ms double-click detection
AutoClicker EGCD grid-locked click delays

Reach & Hitbox — Two-stage, latency-fair. The attack packet doesn't carry the rotation the client swung with — that arrives one packet later. Stage A stores the attacker's position; Stage B ray-casts with the real rotation against the compensated hitbox history across the full round-trip window, trying all look variants and eye heights.

CheckDescription
Reach ATwo-stage compensated reach with attribute-aware ranges and no arbitrary tolerance padding
Hitbox AThe "didn't even touch it" verdict — routed from the same single raycast when the ray misses every legal view of the target

Other Combat

CheckDescription
Raycast AAttack and interaction direction against the server's view vector
Lag ABacktrack pattern detection: current-frame out-of-reach combined with historical-frame in-reach (delayed packet abuse)
Lag BEntity desync interpolation hit patterns
Lag CPing/violation correlation across ping bins
CrystalAura ARapid end crystal place-to-break sequences
AnchorAura ARespawn anchor charge-to-explode timing

📦 World & Blocks

Four physics-anchored scaffold checks — each one geometry-gated, not statistical guessing.

CheckDescription
Scaffold RotationPlacement line-of-sight: the view ray must actually intersect the placed block
Scaffold ReachPlacement distance vs the attribute-aware block interaction range
Scaffold MotionTower metronome physics — jump-strength-scaled threshold so Jump Boost users never false
Scaffold FaceGhost/desync placement into occupied solid cells
CheckDescription
FastBreak ABlock break time vs the server's calculated required time
Phase APlayers positioned inside solid blocks

📡 Packets

BadPacket — Catches malformed, impossible, or exploit-triggering packets. 25 checks covering flying without permission, NaN positions, teleport floods, entity action spam, invalid slots, self-interaction, and more.

Packet Order — Validates packet sequences a vanilla client would send: block placement without swing, attacking while using items, crystal automation, NoSwing, and inventory aura.

Sprint

CheckDescription
Sprint AOmniSprint under blindness or hunger
Sprint BOmniSprint direction flagging sprinting backwards from the look vector

Other Packets

CheckDescription
Invalid APitch outside ±90°
Crasher APlugin channel payload overflow

🪨 Bedrock

Dedicated checks for Geyser-translated Bedrock players. All thresholds tuned for Geyser's packet batching and translation overhead. Bedrock players never run Java physics checks. Detection covers username prefix, Floodgate UUIDs, and Geyser client brands.

CheckDescription
BFly (A)Sustained hover or upward movement beyond any valid Bedrock mechanic
BSpeed (A)Hard speed cap appropriate for Bedrock through Geyser
BReach (A)Reach distance with a lenient threshold for Bedrock latency

🌍 World & 26.x Support

  • 26.3 — shelf mushrooms, straw beds, poplar wood set, wool/concrete stairs and slabs, sulfur geysers
  • 26.2 — the three new movement attributes (air_drag_modifier, bounciness, friction_modifier), the revised ground accel formula for high-friction blocks, bed bounce at 75%
  • Transaction-bracketed block updates — block changes apply to each player's world view only when their client confirms processing them. The engine always simulates the world the player actually sees.
  • Dynamic fence and wall shapes — connection arms generated from block state properties, not a static post
  • Fluid height model — (8−level)/9 with proper gating for swim-hop and jump-out candidates

🔧 Configuration

Two files, split by concern:

  • config.yml — plugin settings: alerts, messages, punishments, lagback profile, latency kicker, client blocker, Discord webhooks, banwave schedule
  • checks.yml — every detection: per-check toggles, lagback inheritance (inherit/true/false), punishment thresholds and commands, per-type tuning keys

Per-check lagback inherits the global profile by default, or forces on/off with its own VL. The in-game GUI cycles through Inherit → On → Off per check. Zero YAML reads on the movement hot path.


🛠️ Debug Output

Every flag carries full diagnostic state: input booleans, ground states, active regimes, knockback vector, the engine's predicted motion vector, block column, and the support probe result. A single flag line tells you exactly what the engine was thinking when it fired — no guessing, no blind debugging.


🔧 Contributing

Movement check improvements are the priority. Every PR needs a clear explanation of what it detects, what angle it approaches from, and why existing checks don't already cover it.

Not interested in checks that false flag more than they catch.

Hit 30 meaningful contributions and you get a named credit in the plugin's in-game GUI.


❓ Why open source?

Transparent beats closed. Always.


📄 License

Truthful & Faithful License v1.1 — free to use, study, modify, and contribute. Cannot be sold or redistributed under a different license.


GitHub · Discord · Changelog

⚠️ This is a beta release. Expect weird edge cases. Found one? Report it on GitHub with the full flag debug line.

Последние версии

Все версии →
release

HOTFIX1

0.9-FH1
5 окт. 2026 г.228Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## FIXED - Fixed the far-position packet disabler — a position packet far enough to force a server correction used to flip the chunk-loaded gate that silences every check, while every forced correction bought 2 free exempt ticks, a full movement-state reset, and a timer rebase. Combined, that was enough to almost fully disable the anticheat. Impossible position claims (non-finite, out of bounds, or a teleport-distance jump that no pending teleport explains) are now dropped at the door and flagged — the server never sees them, so no correction churn is ever built around them - Fixed teleport confirmation laundering — confirming a teleport made the next position claim count as a teleport with no positional verification, so a withheld confirm was a free pass to call any position a teleport. Claims must now land within 2 blocks of the confirmed teleport target (vanilla clients land exactly on target) - Fixed the chunk gate keying on the claimed position — the "unloaded chunk = never judge" rule now applies only to positions reachable from the last accepted one (32 blocks per packet, 3× the vanilla server's own correction threshold). Simulation's internal chunk gate got the same treatment — it was the last skip in the disabler's chain - Fixed live chunk builds reading Bukkit world state from netty threads (Folia-illegal) and firing once per packet with no bound. Requests are now rate-limited to 4 per 2 seconds per player; legitimate misses still retry - Fixed stairs having no collision at all — "STAIRS" contains "AIR", so every stair block in the game fell into the non-solid list before the shape switch ever ran. Stair collision, step-up and support now work as modeled - Fixed snow blocks being modeled as 1/8-tall slabs (landing on one read as a ~0.87-block vertical offset — an instant hard flag) and powder snow growing a phantom 1/8 collision floor that fought the sinking context - Fixed phantom full cubes — crops, short grass (the 1.20.3+ rename matched nothing, so grass plains were invisible walls), bushes, nether portal planes, moving pistons and light blocks all collided like solid blocks. Walking through a wheat field flagged - Fixed phantom air — nether wart blocks, mangrove and muddy mangrove roots, campfires and soul campfires, barrels, mud and mud bricks, amethyst blocks, chain command blocks and lightning rods had no collision or the wrong shape - Fixed panes and iron bars having no face collision — a 2/16 center rod instead of thin full-length strips. Pane walls were walk-through in the engine, so touching one flagged the pass-through - Fixed doors being centered plates instead of flush 3/16 panels at the opposite-of-facing edge, and the open-door hinge sides being swapped — every door bump was up to ~0.44 blocks off from where the client actually stops - Fixed wall posts and arms — no-up posts were modeled 1.5 tall (vanilla is 1.3125) and LOW side arms 1.5 tall (vanilla is 0.9375, clearable by a normal jump). Both directions flagged - Fixed cauldrons being solid full cubes instead of hollow — jumping into one read as falling through in every candidate while the client rests on the 5/16 interior floor - Fixed extended piston heads having no standable surface (they were routed to the skull shape). Standing on piston doors and elevators flagged - Fixed dripleaf parkour — big dripleaf heads tilt and slide the player off after a short stand. A bounded tilt allowance now covers the slide and the drop - Fixed the ground friction sampling grid — the inner loop compared Z against X and sampled the wrong columns whenever the player's X/Z block offsets differed - Fixed spear lunge false flags — the engine judged the lunge window: the SPEAR_LUNGE exemption was missing from Simulation's skip list while the velocity checks honored it. Detection was also display-name based, so renaming any item to contain "spear"/"lunge" farmed 20 ticks of velocity immunity per right-click. Detection is now material-based and covers charged-release lunges (RELEASE_USE_ITEM) and hit-triggered lunges - Fixed the liquid swim-hop candidate excusing sustained 0.3 rises at any depth — it now requires horizontal motion and surface proximity, matching the vanilla condition (horizontal collision while swimming out) - Fixed a DebugContext crash when no fresh knockback exists - Fixed block property lookups crashing on out-of-range global ids from hostile chunks (a packet-thread NPE vector) - Fixed the punishment branch force-lagbacking before dispatching any command (#29) — a message-only punishment (tell/warn) teleported the player backwards with all lagbacks disabled. The banning state is now reserved for actual removals (banwave queue, ban/kick-family commands); message punishments throttle on a 10-second per-player cooldown instead of muting the whole detection pipeline for 10 seconds - Fixed plugin-message channel names being rejected by a hardcoded length cutoff (#30) — a modern, syntactically valid namespaced channel longer than the cutoff was refused even though nothing was wrong with it. Channels are now validated per client protocol version: modern clients get namespaced-identifier validation with the 64-character platform bound, legacy clients keep the 20-character bound. Payload bounds unchanged - Fixed punishment and lagback switches never covering direct packet rejection (#31) — disabling punishment and lagback did not make rejecting checks observational. Rejecting checks now honor the explicit per-check cancel switch (see ADDED) - Fixed the world model and entity tracker running at full cost regardless of which checks were enabled (#32) — both pipelines are now derived from the enabled-check set, so a clicks-only profile pays nothing for chunk decode, ground probes, environment scans or entity tracking. Click timestamps, transactions, teleport bookkeeping and digging state always run ## ADDED - Added BadPacketI: impossible position claims — every disabler attempt is a blatant-severity flag with the jump distance in the debug line. Honors the per-check cancel switch like every other rejecting check - Added the position sanity gate: non-finite and out-of-bounds rejection, a 32-blocks-per-packet unexplained-jump threshold, and pending-teleport explainability (pure, unit-tested logic) - Added per-check "cancel: true/false" in checks.yml for the checks that reject packets outright (Crasher, BadPacket slot/spectate/impossible-move, BedrockReach). Default true — rejection stays the security default. false turns the check observe-only: flags and alerts still fire, packets pass through. Includes a GUI toggle in the check-details menu - Added check-level processor requirements (requiresWorld / requiresEntityTracking) — the registry aggregates them across enabled checks and recomputes on every GUI toggle and reload - Added real shapes where approximations hid bugs: piston heads per facing (full-height plate + rod), dynamic pane and iron bar connection strips, hollow cauldrons (four 1/16 walls + 5/16 floor) - Added a per-tick ground friction cache shared by every consumer (was re-sampled up to five times per packet, nine blocks each) - Added an early-exit to the Simulation candidate search — the first exact match stops the entire input×candidate brute force; the common legal tick went from hundreds of collision resolves to the first hit - Added per-thread scratch buffers to the collider — zero per-packet array allocation for ground probes and simulation - Added a per-player 16-chunk cache so cross-chunk reads stop touching the synchronized global LRU map - Added NMS snapshot-based live chunk builds with empty-section skipping (was ~98,000 getBlock() calls per chunk) - Added a bounded dripleaf tilt allowance, stamped like bubble columns - Added 26 unit tests: channel validation, the collision shape table, position sanity, and teleport queue behavior. Shape routing and geometry are pure functions now, testable without a running server ## REMOVED - Removed the dead MovementProcessor prediction pass — its single-path and multi-input brute force had zero consumers since the Simulation engine took over (this is the "prediction in PlayerData" the profiling report flagged) - Removed the VelocityQueue legacy API (getActiveVelocity / applyFriction) - Removed the unused COMPLEX_BLOCKS classification set from WorldUtils --- ## ⚠️ Beta Notice **This is a beta release.** Expect weird edge cases we haven't seen yet. Some blocks, surfaces, or movement patterns might still false flag in ways we didn't catch in testing. **Found something?** Report it on GitHub: [https://github.com/TawnyE/TruthfulAC/issues](https://github.com/TawnyE/TruthfulAC/issues) Include the flag message (the full debug line with `pred=`, `in=`, `g=`, `rg=`, `kb=`), what you were doing, what version of Minecraft and PacketEvents you're running. A flag line tells us exactly what the engine was thinking — it's the fastest way to a fix.
release

TruthfulAC 0.9

0.9
1 окт. 2026 г.35Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## FIXED - Fixed the movement engine not simulating collisions at all — walls, floors, and ceilings now actually block predicted motion like the client does - Fixed step-up: the engine used to accept any positive vertical motion under 0.6 blocks as a step. Now it properly simulates the lift, forward, and settle - Fixed ground detection: the old ±0.75 block support window claimed players were on the ground during full jump arcs. Ground is now collision-derived - Fixed the sprint-jump boost applying on every ground tick while sprint key was held. It now only applies on the actual takeoff tick - Fixed knockback double-counting: the engine was re-adding the decayed velocity vector on every tick instead of once at application time - Fixed elytra physics running for 40 ticks after the glide ended, flagging normal falling - Fixed elytra transitions: both the elytra and normal engines now run during the 40-tick post-glide window and the best match wins - Fixed elytra firework boost window being too short (35 → 70 ticks) for level 3 rockets - Fixed lava climb constant (was 0.3, vanilla is 0.04) - Fixed bed bounce restitution applying the bed constant (0.75) to slime blocks (vanilla is full reversal) - Fixed bounce candidate using the truncated landing delta instead of the pre-collision impact velocity - Fixed soul sand collision height (was 15/16, vanilla is 14/16) - Fixed soul sand and honey slowdown triggering from a radius scan instead of actual block contact - Fixed soul sand slowdown not applying through carpets stacked on top (vanilla probes half a block below the feet) - Fixed water engine: sprint-swimming now skips the gravity step entirely (vanilla behavior) - Fixed water engine: the -0.003 surface settle now uses the exact vanilla condition window - Fixed water engine: sneaking in water now adds the flat -0.04 sink - Fixed water engine: jump-out of shallow water (fluid height ≤ 0.4) now offered as a candidate - Fixed water engine: lava shallow branch (height ≤ 0.4) applies the 0.5/0.8 drag - Fixed swim-hop being offered unconditionally. Now requires free space above and near-surface water - Fixed fence and wall collision shapes: dynamic connection arms now generated from the block state (north/south/east/west booleans) instead of a static center post - Fixed climbing detection: ladders and vines are now found when the player's bounding box overlaps the climbable's column (2×2 cell check) - Fixed climbing: sustained climb-pattern motion (0.1176/tick) now offers climb candidates even when the world cache misses the climbable block - Fixed cobweb NoSlow flagging on the edge of the web. The hard cap no longer overrides the engine when the engine already explained the tick - Fixed bed standing: beds are 9/16 tall, feet rest exactly on the box top. The support probe now handles flush landings where float rounding puts feet a hair above the surface - Fixed beds being flagged by GroundSpoof F and G: beds are standable partial blocks, not phantom ground claims - Fixed slab and stair standing: step-up candidates now offered when a step-family block is provably adjacent (geometry-gated, not unconditional) - Fixed jumping on slabs: landing ticks with truncated fall motion now accepted by the shape-boundary ground fallback - Fixed jump height precision: vanilla jumps are exactly 0.42 + 0.1 × boost. Three consecutive takeoffs exceeding this by >0.002 now flag (head-bump contact is exempt) - Fixed scaffold climbing: holding jump inside a scaffold column sends real 0.42 takeoffs. The engine now offers these when the jump input is held - Fixed scaffold standing: the client rests at the cell top inside columns. Column support now recognized - Fixed boat standing: vanilla bobs riders off boat tops with ~0.3-0.56 launch impulses. These are now offered as candidates - Fixed boat riding: rotation-only packets were zeroing the boat's momentum between vehicle-move packets. Deltas are now preserved while riding - Fixed boat water/land transitions: intermediate decay candidates added (0.5/0.7 rates) - Fixed boat mount/dismount: the ~0.41 vertical pop is now a candidate - Fixed vehicle engine calling Bukkit's getVehicle() from the packet thread (AsyncCatcher crash). Vehicle type is now cached on the main thread - Fixed reach judging with the previous tick's rotation instead of the rotation the client actually swung with (the attack packet doesn't carry it — it arrives one packet later) - Fixed reach tolerance: removed the arbitrary +0.02 threshold, keeping only the physically justified box margin - Fixed hitbox checks running their own independent raycast with the stale rotation. There is now one raycast (ReachA's) and the miss routes to HitboxA - Fixed hitbox and reach flagging on plugin-spawned NPCs: non-player entities are resynced, never flagged for hitbox verdicts, and reach on them is blatant-only - Fixed the reach box mutation bug: expanding the tracker's historical boxes in place permanently corrupted them for all checks - Fixed VelocityA flagging during normal PvP: the player's own input (strafing back toward the attacker) fights the knockback, adding up to 0.16 blocks/tick. The allowed deviation now widens during active knockback - Fixed VelocityC flagging the same input-vs-knockback pattern on decay ticks - Fixed the air speed cap firing on knockback-inflated motion: the velocity window widened from 3 to 10 ticks - Fixed omni-sprint flagging on landing ticks and during active knockback. It now requires no velocity, zero air ticks, and sustained ground - Fixed wind charge and ender pearl impulses: added kb_carry candidates covering the tick-lag between the impulse ack and the client's application - Fixed BadPacket8 dig distance using a flat 6.0 cap instead of the attribute-aware block interaction range. Also widened the teleport and velocity grace windows - Fixed BadPacketA flagging during click spam on the ground. It now requires 5+ air ticks before a flying-without-permission verdict - Fixed PacketOrderA flagging modern hold-to-place auto-repeat (the client doesn't re-swing per repeat packet). Repeats are exempt - Fixed KillAuraB flagging legitimate strafing: the directional sprint angle widened from ~53° to ~72°, and landing-tick carryover is exempt - Fixed the post-attack momentum rule overriding the engine when the engine already explained the tick - Fixed the changelog YAML corruption that would have crashed the first server boot - Fixed the stale config snapshot: GUI toggles now take effect immediately because checks read the live map instead of a cached copy - Fixed 26.x sprint behavior: the PLAYER_INPUT sprint bit leads the client's actual sprint state by one tick on W-tap activation. The engine now tries both sprint accel models - Fixed the uncertainty bank: removed client-purchasable tolerance (sprint start, yaw jitter, blanket low-speed) that cheaters could farm by toggling state - Fixed the mirror drift: UncertaintyHandler now delegates to the single source instead of a hand-copied duplicate ## ADDED - Added a full swept-AABB collision engine (Collider) with vanilla clipping, honest step-up, and shared box gathering - Added known-input era support: on 1.21.2+ the PLAYER_INPUT packet provides exact WASD/jump/sneak/sprint state. The engine runs the precise modern input pipeline (Vec2 normalize, ×0.98, item-use ×0.2, sneak attribute, unit-square clamp) with both sprint models - Added transaction-bracketed block updates: block changes are applied to each player's world view only when their client confirms processing them - Added empty-snapshot protection: chunks with zero non-air blocks are never cached (build-race guard) - Added self-healing poisoned chunks: standing on ground the cache can't see triggers a purge and live rebuild - Added collision-derived ground truth (down-probe, horizontal micro-probe, feet-cell-solid check) - Added the debug context system: every flag now carries input states, ground states, regime flags, knockback vector, bounce impact, block column, support probe result, and the engine's predicted motion vector - Added rich debug to Reach and Hitbox flags: entity type, per-rewind box distances, look-variant distances, rotation delta - Added shape-boundary ground fallback: feet resting at any 1/16 grid line (all collision tops) with a ground claim and resting/landing motion is recognized as supported - Added fluid height model: (8-level)/9 with same-fluid-above = 1.0, gating jump-out and swim-hop honestly - Added bubble column candidates: soul sand up (terminal +0.7) and magma down (terminal -0.49) - Added piston push tracking: direction-bounded uncertainty windows for 4 ticks after a piston event - Added geyser column support (26.2+ potent sulfur) - Added 26.2 movement attribute support: air_drag_modifier, bounciness, friction_modifier read and applied - Added 26.2 ground accel formula for high-friction blocks (0.216/f³ replacing 0.16277136/f³ when slipperiness > 0.6) - Added the 26.x empirical calibrations: 0.88 sprint scale and 0.63 post-jump momentum drop as candidate variants - Added 26.3 block shapes: shelves (full height), straw beds, sulfur spikes, poplar set, wool/concrete stairs and slabs - Added scaffolding head-hitter exemption (vanilla lets players rise through scaffolding) - Added ladder-hop candidates (0.1176/0.2) when a climbable sits below the feet - Added climbable jump candidates while inside scaffold/ladder columns with jump input held - Added 24-slot candidate arrays (was 12) to prevent overflow when multiple uncertainty sources stack - Added jump-strength precision verdict: three consecutive over-strength takeoffs flag - Added ladder and wall dynamic connection shapes (arms toward connected neighbors) - Added four scaffold checks replacing the old eight: placement line-of-sight (Rotation), placement reach (Reach), tower metronome physics (Motion), and occupied-cell placement (Face) - Added two-file configuration: config.yml for plugin settings, checks.yml for all detections. Zero YAML reads on the movement hot path - Added per-check lagback inheritance: lagback: inherit pulls the global profile, true/false forces the check with its own VL. Three-state GUI cycler (Inherit/On/Off) - Added /banwave (renamed from /bandwave) with the BanwaveManager class - Added the latency kicker (was config-only, now implemented) - Added Bedrock client brand detection (geyser/floodgate) alongside the prefix and UUID checks - Added quit-state cleanup in 8 checks that were leaking per-player maps - Added measured TPS on Folia (the min-TPS kill-switch now works there) - Added Folia-aware GUI refresh (per-admin region scheduling) - Added PacketEvents 2.14.0 support (Minecraft 26.3, protocol 777) - Added year-based version detection (26.x) in VersionManager - Added Math.floor-based eye-in-water detection for the swimming transform - Added entity geometry table (60+ entity types with honest per-type sizes) - Added main-thread live entity size resolution for NPC/plugin-spawned entities ## REMOVED - Removed ~26,000 lines of unused vendored code - Removed the dead compensation Scheduler (zero registered consumers) - Removed the unused StateCacheProcessor and BanStateProcessor - Removed the unused KeepAlivePacketWrapper and ConfirmTransactionPacketWrapper - Removed the dead USE_MODERN_PING branches - Removed the empty event and vector packages - Removed the unused PhysicsSimulationTool scratch harness - Removed the dead latency-kicker config ghosts - Removed the unused LagA reach enforcement (LagA is now pure backtrack pattern detection) - Removed HitboxA's independent raycast (replaced by the single two-stage raycast) - Removed 7 of the old 8 scaffold checks (replaced by 4 physics-anchored ones) - Removed the blank check-type suffix from the Simulation check name --- ## ⚠️ Beta Notice **This is a beta release.** Expect weird edge cases we haven't seen yet. Some blocks, surfaces, or movement patterns might still false flag in ways we didn't catch in testing. **Found something?** Report it on GitHub: [https://github.com/TawnyE/TruthfulAC/issues](https://github.com/TawnyE/TruthfulAC/issues) Include the flag message (the full debug line with `pred=`, `in=`, `gnd=`, `rg=`, `kb=`), what you were doing, what version of Minecraft and PacketEvents you're running. A flag line tells us exactly what the engine was thinking — it's the fastest way to a fix.
release

TruthfulAC 0.8

0.8
25 июл. 2026 г.310Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
change log: - reworked: simulation b, simulation c, and d - reworked the GUI within certain areas. now it has keys visualizer within player info - reworked: reachA, hitboxA (now they're extremely better but still may have a little tiny bit of issues that hasn't been seen) - added: scaffold b to h (beta) - added: lagA to lagC (beta) (This should prevent lag-based modules) - added: simulationE (beta) (No slow related stuff)
release

TruthfulAC 0.7

0.7
15 июн. 2026 г.141Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2folia, paper, purpur, spigot
Скачать
Что нового
Changelog: - fixed several performance issues with world related utilities - fixed a few false positives with simulation A&C - fixed weird issues with the cinematic calculation - fixed some issues with the GUI once again - added three new checks trigger bot related (A to C) - revamped hitbox and reach checks
release

TruthfulAC 0.6

0.6
10 июн. 2026 г.36Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# Fixes & Improvements This update focuses on improving SimulationA accuracy, reducing false positives, strengthening movement detection, and tightening post-setback behavior while preserving legitimate Minecraft mechanics. ## Fixes ### Fix #1 — Entity Collision AirJump/Fly Bypass * Fixed an issue where nearby entities could excessively inflate uncertainty values. * Reworked uncertainty handling to distinguish between horizontal and vertical movement. * Entity collisions now primarily affect horizontal prediction instead of broadly weakening all movement checks. * Significantly improved AirJump and Fly detection reliability around: * Players * Mobs * Boats * Crowded combat situations * Reduced opportunities for movement cheats to hide inside entity collision zones. ### Fix #2 — SimulationA Elytra Swap False Positives * Fixed false positives when swapping from an Elytra to a chestplate while airborne. * Reworked Elytra transition handling to use phased momentum recovery instead of broad protection. * Added improved handling for residual glide momentum. * Reduced incorrect flags caused by legitimate Elytra exit behavior. * Preserved detection capability during the recovery period. ### Fix #3 — SprintB Elytra Transition False Positives * Fixed SprintB incorrectly flagging players immediately after exiting Elytra flight. * Added Elytra-aware transition handling. * Improved movement direction analysis during momentum carry-over. * Reduced false positives without weakening omni-sprint detection. ### Fix #4 — Excessive Setback Exemptions * Fixed overly long post-setback exemption windows. * Reduced unnecessary grace periods following: * Lagbacks * Teleports * Position corrections * Movement setbacks * Improved detection consistency after corrective actions. * Eliminated situations where cheats could temporarily avoid detection after a setback. ### Fix #5 — Uncertainty Classification Issues * Fixed multiple uncertainty sources being applied as blanket movement uncertainty. * Reclassified uncertainty sources based on whether they primarily affect: * Horizontal movement * Vertical movement * Both * Reduced cases where one environmental factor unintentionally protected unrelated movement. ## Improvements ### Improvement #1 — SimulationA Accuracy * Improved overall SimulationA prediction reliability. * Refined environment classification logic. * Improved handling of edge-case movement scenarios. * Increased confidence in movement validation while maintaining stability. ### Improvement #2 — Directional Uncertainty System * Introduced directional uncertainty processing. * Horizontal and vertical prediction paths are now evaluated independently. * Improved precision during: * Combat * Explosions * Entity collisions * Environmental transitions * Reduced over-tolerant prediction behavior. ### Improvement #3 — Elytra Momentum Modeling * Added phased Elytra recovery handling. * Improved momentum preservation modeling after glide termination. * More closely matches legitimate Minecraft movement behavior. * Better differentiation between residual momentum and invalid movement. ### Improvement #4 — Movement Detection Aggressiveness * Increased detection effectiveness against: * Fly * AirJump * Vertical movement exploits * Reduced reliance on broad uncertainty reductions. * Improved consistency of violations during repeated cheat attempts. ### Improvement #5 — Setback Recovery Logic * Reworked recovery behavior after setbacks. * Faster return to active monitoring following corrections. * Reduced unnecessary recovery delays. * Improved state reconstruction consistency. ### Improvement #6 — Prediction Stability * Improved prediction stability during rapid movement state transitions. * Better handling of: * Elytra exits * Entity interactions * Velocity changes * Environmental changes * Reduced prediction desynchronization opportunities. ### Improvement #7 — Internal Movement Framework * Expanded directional movement analysis infrastructure. * Improved separation of movement state handling. * Added a stronger foundation for future SimulationA improvements and additional movement checks.
release

TruthfulAC 0.5

0.5
9 июн. 2026 г.32Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# more fixes and improvements ## change-logs: - revamped the configuration entirely and the way it handles reloads - overhauled the entire GUI system with inline toggles, shift-click protection for lagback, and unified navigation - added statistics dashboard and owner tools section with system health metrics - added confirmation screens before destructive actions (mass disable, lagback toggle) - reduced clicks to toggle a check's lagback from 6 to 2 - consolidated player selection into a single shared menu for logs and inspection - standardized visual language across all menus (state indicators, colors, button lore) - added home and close buttons to every menu - eliminated menu-to-menu inventory recreation via shared border panes and cached navigation items - fixed color constants where PRIMARY and ERROR were identical - fixed SprintA blindness check (false positive — blindness does not block sprinting in 1.15+) - fixed SimulationC swim-mode vertical prediction being entirely skipped - replaced discrete velocity/teleport/damage grace stacking with CombinedMovementGrace capped accumulator - replaced SimulationC hardcoded swim speed caps with drag-based horizontal prediction - added UncertaintyHandler integration to SimulationA and SimulationC new anti-cheat test server: modern.anticheat-test.com (not mine but a very well known server for testing anticheats)
release

TruthfulAC 0.4

0.4
8 июн. 2026 г.27Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2folia
Скачать
Что нового
# improvements & folia support ## changelogs: - folia is now supported - supporting the newest versions of Minecraft (26.1.2) - several improvement to performance - Fix an edge case with simulation A. While running and having momentum, and you're jumping at the perfect time before you take fall at one block, it will occasionally flag if you somehow jump at the last second, so you have that momentum of an air. So hopefully that should fix any weird issues when going down mountains by jumping. New contributor: Kiarers (yourcatismine) https://github.com/yourcatismine the contributions they have did: - adding folia and support to the newest versions ( I can't remember the rest due to IRL issues )
release

TruthfulAC ph3

ph3
14 мая 2026 г.64Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Скачать
Что нового
Change-logs: - fixed bubble columns not being properly checked. - fixed simulationA ground not being checked properly and never working in the first place - added hover alerts highly customizable also - added tools (/tac tool) - added customizable lag back # customizable lag back options: ## Lagback severity mode: BARELY, MODERATE, STRICT, SUPER_STRICT ## BARELY - Minimal intervention; only setback if >8 blocks from safe position (500ms cooldown) ## MODERATE - Balanced; setback if >3 blocks away or airborne during flag (250ms cooldown) ## STRICT - Aggressive; setback every flag with short cooldown (100ms) ## SUPER_STRICT - Grim-like; instant setback, no cooldown, freeze until confirmed
release

TruthfulAC ph2

ph2
12 мая 2026 г.34Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Скачать
Что нового
Change-logs: - deleted multiple duplicated checks and logic - made the performance a little bit more better on newer versions - changed entity tracking to be more efficient on paper.