
TruthfulAC
A free, open source Minecraft anti-cheat with serious combat detection, simulation-based movement, and full Geyser support.
- Загрузки
- 168
- Подписчики
- 3
- Обновлён
- 15 июня 2026 г.
- Лицензия
- Truthfulandfaithful
Опубликован 8 мая 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.
The open source AC space has movement covered. Grim exists. What it doesn't have is combat detection worth using. TruthfulAC fills that gap with GCD analysis, aim consistency tracking, statistical autoclicker detection, and a simulation-based movement engine that handles the edge cases most free plugins ignore entirely.
Use it. Fork it. Contribute to it.
⚙️ Installation
- Drop PacketEvents into
/plugins/ - Drop
TruthfulAC.jarinto/plugins/ - Restart
No license key. No activation. No account. That's it.
🛡️ Checks
🏃 Movement
Simulation — The core of the plugin. A full server-side physics engine that predicts where a player should be every tick and compares it against what was actually sent.
| Check | Description |
|---|---|
| Simulation A | Validates vertical and horizontal movement against the server's compensated physics model. Catches fly, bhop, and speed across virtually every movement state |
| Simulation B | Covers elytra abuse and hard speed cap violations that slip past the primary simulation |
| Simulation C | Per-state movement validation targeting context-specific exploits within individual movement tags like swimming, climbing, and vehicle states |
| Simulation D | Supplementary movement validation for edge cases and transitional movement states not covered by A through C |
NoFall / Ground Spoof — Six checks targeting every known variant of fake ground state packets used to suppress fall damage.
| Check | Description |
|---|---|
| GroundSpoof B | Flags ground state claims at Y positions that don't align to any valid block surface |
| GroundSpoof C | Catches clients claiming ground while actively falling, covering the standard NoFall packet |
| GroundSpoof D | Blocks ground state claims at impossible Y positions including negative coordinates and void level |
| GroundSpoof E | Tracks accumulated server-side fall distance and flags when expected fall damage is suppressed |
| GroundSpoof F | Cross-references the client's ground claim against actual block collision state in the world cache |
| GroundSpoof G | Detects rapid ground state pulsing with no corresponding movement, a pattern produced by specific NoFall configurations |
Velocity — Detects anti-knockback by tracking whether players actually apply velocity after acknowledging it via transaction packets.
| Check | Description |
|---|---|
| Velocity A | Flags immediate velocity non-acceptance where players acknowledge the transaction but show no horizontal response on tick one |
| Velocity B | Catches vertical velocity suppression, specifically upward knockback from explosions and jumps |
| Velocity C | Extended horizontal velocity check covering ticks two and three post-acknowledgement for delayed anti-KB configurations |
| Velocity D | Detects near-zero velocity yield on both axes simultaneously, targeting configs that reduce all knockback without fully zeroing it |
Other Movement
| Check | Description |
|---|---|
| Timer A | Transaction-based tick timing that detects timer speed hacks by measuring real time against packet acknowledgement balance rather than system clock, avoiding false flags on lagging players |
| Baritone A | Detects the rotation snap density pattern produced by Baritone's pathfinder during automated navigation |
| Baritone B | Identifies robotic mining patterns with systematic block targeting consistent with automated pathfinding and not human play |
| Baritone C | Flags suspiciously consistent block break intervals over time, another signature of automated mining bots |
| Inventory A | Detects players sending inventory click packets while simultaneously sending movement updates, something vanilla clients never do |
⚔️ Combat
Aim — Ten checks covering every major approach to aimbot detection including GCD analysis, acceleration profiling, entropy measurement, temporal quantization, and statistical modeling.
| Check | Description |
|---|---|
| Aim A | GCD grid analysis that validates rotation steps align with the quantization pattern of a real mouse sensitivity setting |
| Aim B | Detects sudden large rotation snaps in combat context that exceed what human flicking produces |
| Aim D | Flags zero or near-zero rotational acceleration across both axes, the signature of a constant-speed linear aimbot |
| Aim E | Low entropy detection that identifies rotation distributions too uniform and consistent to be human |
| Aim F | Temporal quantization that detects rotation timing intervals suspiciously consistent with programmatic input |
| Aim G | Jerk analysis measuring the third derivative of rotation. Aimbots produce near-zero jerk; human aim does not |
| Aim H | Target lock detection that tracks oscillation pattern around a target's position over time, characteristic of lock-on aimbots |
| Aim I | Bayesian aim classifier combining GCD, acceleration, and efficiency signals into a probability score for synthetic aim |
| Aim J | Jitter pattern analysis that detects artificial jitter overlays failing to produce natural direction change distributions |
| Aim K | Input grid mismatch that flags rotations not conforming to any plausible mouse sensitivity grid |
| Aim L | Axis lock and robotic linearity detection for pitch that doesn't move while yaw rotates, and constant yaw-to-pitch ratio across multiple ticks |
KillAura — Seven checks targeting KillAura from multiple angles covering movement, rotation, attack behavior, and targeting patterns.
| Check | Description |
|---|---|
| KillAura B | Detects sprinting in directions inconsistent with the player's look vector during attacks and flags KeepSprint behavior |
| KillAura C | Snap and stop detection identifying the rotation pattern where aim snaps to a target and immediately stops moving |
| KillAura D | Silent aim and pitch lock catching KillAura configs that attack without rotating or lock pitch to a fixed value |
| KillAura E | Wall hit detection flagging attacks landing on entities through solid blocks using async raytrace validation |
| KillAura F | Packet crit detection identifying the mini-jump pattern used by some KillAura configs to guarantee critical hits |
| KillAura G | Multi-target switching detection for attacking multiple distinct entities within an impossibly short time window |
| KillAura H | Attack interval variance flagging players whose hit timing is too consistent across a window of attacks to be human |
AutoClicker — Five checks approaching click detection from independent statistical angles.
| Check | Description |
|---|---|
| AutoClicker A | Coefficient of variation analysis flagging click timing distributions with suspiciously low variance relative to their mean CPS |
| AutoClicker B | Identical delay streaks detecting consecutive clicks with nearly identical inter-click timing, a sign of software-generated input |
| AutoClicker C | Hard CPS cap flagging players sustaining clicks above the threshold achievable with legitimate hardware |
| AutoClicker D | Hardware double-click detection identifying clicks arriving under 8ms apart, below the threshold of any human input device |
| AutoClicker E | GCD grid lock on click delays detecting timing patterns that align to a software-generated quantization grid |
Other Combat
| Check | Description |
|---|---|
| Reach A | Compensated reach validation checking attack distance using backtracked entity positions, accounting for ping and latency |
| Hitbox A | Validates that attacks land on the actual server-side hitbox rather than an expanded client-side version |
| Raycast A | Checks attack and interaction direction against the server's view vector and flags attacks through walls and at impossible angles |
| CrystalAura A | Detects rapid end crystal place-to-break sequences and zero-tick crystal ID prediction |
| AnchorAura A | Flags respawn anchor charge-to-explode sequences faster than any human interaction can produce |
📦 World & Blocks
| Check | Description |
|---|---|
| Scaffold A | Validates block placement angle against the player's actual rotation and flags impossible rotation-independent placements used by scaffold hacks |
| FastBreak A | Compares block break time against the server's calculated required time and catches mining faster than the server tick rate allows |
| Phase A | Cross-references player position against the world block cache and flags players positioned inside solid blocks |
📡 Packets
BadPacket — Catches malformed, impossible, or exploit-triggering packets before they reach the rest of the server.
| Check | Description |
|---|---|
| BadPacket A | Packet flood detection flagging clients sending an abnormal volume of packets per second |
| BadPacket C | Fast bow release detecting bow release packets arriving before a minimum draw time has elapsed |
| BadPacket D | Invalid entity interaction flagging attacks targeting negative entity IDs or entities that don't exist on the server |
| BadPacket E | Self-interaction detection for players sending attack packets targeting their own entity ID |
| BadPacket G | NaN and infinite position flagging position packets containing non-finite coordinate values |
| BadPacket H | Invalid hotbar slot catching slot change packets with values outside the valid 0 through 8 range |
| BadPacket I | Position spam detecting duplicate position packets sent within a short window with identical coordinates |
| BadPacket J | Impossible state flagging players sending simultaneous sneak and sprint for longer than any valid transition allows |
| BadPacket K | Negative transaction ID and invalid window ID catching malformed container interaction packets |
Sprint
| Check | Description |
|---|---|
| Sprint A | OmniSprint under blindness or hunger, detecting sprinting when the server state makes it physically impossible |
| Sprint B | OmniSprint direction flagging sprinting more than 90 degrees away from the player's look vector |
Packet Order — Validates that packets arrive in the sequence a vanilla client would send them.
| Check | Description |
|---|---|
| PacketOrder A | Block placement without a preceding arm swing animation packet |
| PacketOrder B | Attacking while a use-item action is active, which is impossible in vanilla |
| PacketOrder C | Crystal automation with multiple crystal operations in the same tick |
| PacketOrder D | NoSwing detection for attack packets sent with no animation packet preceding them |
| PacketOrder E | Inventory aura detection for attack packets arriving while the player has a container open |
Other Packets
| Check | Description |
|---|---|
| Invalid A | Pitch outside the ±90 degree hard limit, an impossible value no vanilla client sends |
| Crasher A | Plugin channel payload overflow for oversized or malformed plugin message packets used in crash exploits |
| Timer A | Transaction-based timer detection, see Movement section above |
🪨 Bedrock
Dedicated checks for Geyser-translated Bedrock players. All thresholds are tuned to account for Geyser's packet batching and translation overhead. Bedrock players never run Java physics checks.
| Check | Description |
|---|---|
| BFly (A) | Detects sustained hover or upward movement while airborne beyond what any valid Bedrock mechanic produces |
| BSpeed (A) | Hard speed cap validation flagging ground and air speed exceeding the maximum possible for Bedrock players through Geyser |
| BReach (A) | Reach distance validation against backtracked entity positions with a lenient threshold appropriate for Bedrock latency |
🔧 Contributing
The bar is simple: if it catches real cheats without flagging real players, it belongs here. If it doesn't, it doesn't.
Movement check improvements are the current priority. Combat contributions are welcome. Every PR needs a clear explanation of what the check 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
- Low-effort ports of other public implementations
- PRs with no explanation of what changed or why
Hit 30 meaningful contributions and you get a named credit in the plugin's in-game GUI. That's the whole reward system.
❓ Why open source?
Grim has been fully public for years. Intave open-sourced before shutting down. Neither handed cheaters a free bypass guide. Open source means the community can verify what the plugin is actually doing, fix what's broken, and build on it without waiting on one developer. A paywall protects revenue but it doesn't protect detection logic from people who are already deobfuscating your jar anyway.
Transparent beats closed. Always.
📄 License
Truthful & Faithful License v1.0 — free to use, study, modify, and contribute. Cannot be sold, monetized, or redistributed under a different license.
Ченджлог
0.7Релиз26.1, 26.1.1, 26.1.2 · 15 июня 2026 г.
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
0.6Релиз26.1, 26.1.1, 26.1.2 · 10 июня 2026 г.
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.
0.5Релиз26.1, 26.1.1, 26.1.2 · 9 июня 2026 г.
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)
0.4Релиз26.1, 26.1.1, 26.1.2 · 8 июня 2026 г.
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 )
ph3Релиз1.21.9, 1.21.10, 1.21.11 · 14 мая 2026 г.
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
ph2Релиз1.21.9, 1.21.10, 1.21.11 · 12 мая 2026 г.
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.
Комментарии
Загружаем…