Mirror AntiCheat

Quick rating

Mirror AntiCheat

No reviews yet

Filters sensitive outgoing packets, analyzes incoming packets, and detects cheaters

Mod Loaders
Forge
NeoForge
Fabric
Paper
Spigot
Quilt
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Unsupported
Server Required

About

Project Details

Type
Mod
License
Creative Commons Attribution Non Commercial 4.0 International
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

About

Description

Mirror AntiCheat

Modrinth Icon Github Icon Discord Icon

Fabric Icon Quilt Icon NeoForge Icon Forge Icon

Mirror AntiCheat is a server-side anti-cheat designed to help server administrators detect cheating, malicious behavior, and alternate accounts, while providing tools to investigate.

The project focuses on being compatible with the latest Minecraft version (26.1+) and avoiding any false flag.

This project uses mixins to filter and analyze at the packet level. However, these mixins are currently not at a low enough level to be completely compatible with other mods

Dependency

This mod requires Ignite to work with Paper, Spigot, Bukkit and Purpur.

Next updates

You can suggest on the Github or on the Discord

  • Support for Sponge
  • Configuration for ingoing and outgoing packets
  • Option to disable the auto antialt check
  • Fix #1
  • Fix #2
  • /mirror freeze command

Known bugs

Clients receive a damage tilt when their food levels change and their health are not full
The client can decide when to use the auto resolver

When the client finishes loading a world, it sends the packet handleAcceptPlayerLoad, which automatically triggers the autoresolver. This happens with a Vanilla client, during a change of world (Overworld to Nether)

Packet analysis

Ingoing

The following incoming packets are scanned for impossible or suspicious behavior

[None]

Outgoing

Subsequent outgoing packets are filtered and fake the data when a Vanilla client cannot distinguish the difference. This is done in order to prevent or limit the effectiveness of a cheat

ClientboundPlayerCombatEndPacket
  • Packet

Cancelled

ClientboundPlayerCombatEnterPacket
  • Packet

Cancelled

ClientboundSetExperiencePacket
  • Field ExperienceProgress

Lossless scrambling value accuracy

[To implement] Hides the value when it is not supposed to be exploitable (eg.when the locator bar is used)

  • Field TotalExperience

Hides the value

ClientboundSetHealthPacket
  • Packet

Cancelled when the packet only update the saturation

  • Field Health

Lossless scrambling value accuracy

[To implement] Hides the value when it is not supposed to be exploitable (eg.when the gamemode is creative)

  • Field Food

[To implement] Hides the value when it is not supposed to be exploitable (eg.when riding a horse)

  • Field Saturation

Hides the value

Commands

  • /mirror Displays the mod version

  • /mirror info Displays the mod version

  • /mirror version Displays the mod version

  • /mirror discord Displays the Discord link

  • /mirror modrinth Displays the Modrinth link

  • /mirror reload Reload the configuration

  • /mirror profile <targets> Displays a player's profile (IP, latency, brand...)

  • /mirror alt <targets> Try to detect alternative accounts

  • /mirror crash <targets> Crashes a player's client

  • /mirror schedule <command> <time> Schedules the execution of any command

  • /mirror data <targets> <path> <value> Writes data to the json file associated with the player.s See https://datatracker.ietf.org/doc/html/rfc6901

  • /mirror webhook <message> Send a message through the webhook

  • /mirror resolve <targets> <key> Resolves translation keys. Useful for detecting some resource packs or mods.

Configuration

Default configuration
{
  "key": [
    {
      "identifier": "minecraft",
      "keys": [
        "key.forward",
        "key.left",
        "key.back",
        "key.right",
        "key.jump",
        "key.sneak",
        "key.sprint",
        "key.inventory",
        "key.swapOffhand",
        "key.drop",
        "key.use",
        "key.attack",
        "key.pickItem",
        "key.chat",
        "key.playerlist",
        "key.command",
        "key.socialInteractions",
        "key.screenshot",
        "key.togglePerspective",
        "key.smoothCamera",
        "key.fullscreen",
        "key.advancements",
        "key.quickActions",
        "key.toggleGui",
        "key.toggleSpectatorShaderEffects",
        "key.hotbar.1",
        "key.hotbar.2",
        "key.hotbar.3",
        "key.hotbar.4",
        "key.hotbar.5",
        "key.hotbar.6",
        "key.hotbar.7",
        "key.hotbar.8",
        "key.hotbar.9",
        "key.saveToolbarActivator",
        "key.loadToolbarActivator",
        "key.spectatorOutlines",
        "key.spectatorHotbar",
        "key.debug.overlay",
        "key.debug.modifier",
        "key.debug.crash",
        "key.debug.reloadChunk",
        "key.debug.showHitboxes",
        "key.debug.clearChat",
        "key.debug.showChunkBorders",
        "key.debug.showAdvancedTooltips",
        "key.debug.copyRecreateCommand",
        "key.debug.spectate",
        "key.debug.switchGameMode",
        "key.debug.debugOptions",
        "key.debug.focusPause",
        "key.debug.dumpDynamicTextures",
        "key.debug.reloadResourcePacks",
        "key.debug.profiling",
        "key.debug.copyLocation",
        "key.debug.dumpVersion",
        "key.debug.profilingChart",
        "key.debug.fpsCharts",
        "key.debug.networkCharts",
        "key.debug.lightmapTexture"
      ],
      "commandsOnEachFound": [
        "mirror data %s \"fingerprint/translations/%c/0\" \"%t\"",
        "mirror data %s \"fingerprint/translations/%c/1\" \"%k\""
      ],
      "commandsOnEachNotFound": [
        "kick %s Please remove your anti translation exploit software"
      ],
      "autoresolve": true
    }
  ],
  "antiAlt": {
    "scoreSuspicious": 65,
    "scoreConfirmed": 90,
    "scoreNormalCommand": [],
    "scoreSuspiciousCommand": [
      "mirror webhook \"`%s` is suspected of alting with [%i](https://namemc.com/%i)\\\\n-# Matching score : `%m`\""
    ],
    "scoreConfirmedCommand": [
      "mirror webhook \"`%s` is probably alting with [%i](https://namemc.com/%i)\\\\n-# Matching score : `%m`\\\\n-# Automatic action executed\"",
      "mirror crash %s",
      "ban %s Alting"
    ]
  },
  "delayAntiAltCheck": 30,
  "ingoingFilter": {},
  "outgoingFilter": {
    "ClientboundSetHealthPacket": {
      "enabled": true,
      "options": {
        "fakeSaturation": 20.0
      }
    }
  },
  "webhook": "",
  "version": 1
}
Explanation
  • key

    • identifier Identifier where the key comes from. Used for display purposes only

    • keys Key list

    • commandsOnEachFound Command to execute for each key when resolved by autoresolve

    • commandsOnEachNotFound Command to execute for each key when not resolved by autoresolve

    • autoresolve Automatically resolves this key group when connecting a player or not

    • antiAlt

      • scoreSuspicious Threshold to execute the commands associated. When the matching alt value is higher than scoreSuspicious, it means that the match is suspicious and needs investigation. Min 0 Max 100

      • scoreConfirmed Threshold to execute the commands associated. When the matching alt value is higher than scoreConfirmed, it means that the match is confirmed an is an alternative account. Min 0 Max 100

      • scoreNormalCommand Commands executed when the matching score is not suspicious or confirms an alt

      • scoreSuspiciousCommand Commands executed when the matching score is suspicious

      • scoreConfirmedCommand Commands executed when the matching score confirms an alt.

    • delayAntiAltCheck (In ticks) Delay before checking for alts after that a player joined your server. Higher values makes it easier to disconnect to avoid the scan.

    • webhook Webhook of your Discord Webhook

    • version Version of the configuration. Do not touch!

AntiAlt

The antialt system is not explained in detail to avoid easy bypass.

FAQ

How does this mod work?

Mirror AntiCheat modifies outgoing network packets to remove or alter data that a vanilla client does not rely on. This is intended to reduce unnecessary information exposure without affecting normal gameplay.

Is it possible to have a false flag?

Normally, no, with the default values.

What is the impact on performance?

Currently, no statistics have been compiled on the CPU impact. The impact can only be negative. However, due to the reduction in packets sent, bandwidth can be decreased.

Will this mod backport to previous versions of Minecraft 26.1?

No.

Can I install it on my client?

Yes. Please note, however, that this project may not work correctly if done.

What version should I update this project to?

Alpha versions may have unstable behavior.

Beta versions are relatively stable and will not pose a problem.

Releases are the most stable.

It is recommended to update this project to the latest beta or stable version, as appropriate

Is this compatible with [mod]?

To date, no incompatibilities have been reported. If you encounter any, please let me know.

Support me!

Join my Hardcore Minecraft server: HardcoreSMP - 38.143.19.130

Screenshots

Gallery

  • Logo
    Logo Project Logo

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works