Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
🪶 CapPreventer is the only updated AAE (anti-anti-exploit) free plugin on the market.
CapPreventer tries to block popular anti-exploit mods, so your server can see players' mods without any spoofers.
CapPreventer strives to be the top AntiSpoof Pro alternative. If you want to help me achieve that goal, you may report any cool findings for the plugin's development in my Discord DMs.
🔍 Made for
| Mod(ule) | Operation | Versions |
|---|---|---|
| Server Spoof (optional impl.: Meteor Client, Opsec) | detects / breaks¹ | all |
| Opsec | breaks | <v1.1.5 (alone), i lost track, new unpatched (requires at least one of some common mods) |
¹ Whether it breaks or detects is dependent on the module configuration. In OpSec <=v1.1.6, it always breaks.
📓 Ethics note
There are multiple ethics problems with this project:
- using exploits to discover a player's mods should be called hacking/unpermitted access,
- this project has lead to the Opsec mod being shutdown,
- servers shouldn't fully ban hacks, the old solution to this problem (which is making a proper anticheat or hiding objects a player shouldn't see) is better.
Even though the Opsec mod was fully AI-made, this project has still lead to the whole development of it halted (probably forever). It's a bad thing, because Opsec had compatibility with Meteor Client, while if you want to use ExploitPreventer, you have to use the author's fork of Meteor.
If you want to stop the hacking problem, then simply allow some hacks. For example, allow Flight - and potentially introduce a speed limit. Some players are angry, but probably more than 75% of your player base already likes it.
And the reality about AI is worse than you think. Does it really matter that it is used in a single Fabric mod you have, while FABRIC API ITSELF uses AI-written code?
📮 Outdated handling²
- Opsec v1.1.5 🔴 outdated [breaks]
- ExploitPreventer v1.0.5 x Server Translation API 🔴 outdated [breaks]
- ExploitPatcher ⚫ taken down [breaks]
² These operations only work on outdated versions of the given mods.
🔑 Configuration
config.yml
# All flow operations:
# [ kick, ban, banip, commands ]
#==== Punishment Messages ====#
# | Command | Format |
# |-----------|-------------|
# | `kick` | MiniMessage |
# | `ban` | Legacy |
# | `banip` | Legacy |
#=============================#
#===== Command Placeholders =====#
# | Name | Description |
# |----------|------------------|
# | %player% | The player name. |
#================================#
#==============================#
#========= ANTI-SPOOF =========#
#==============================#
# 'brand-spoof-detection' is a detection for Meteor's 'Server Spoof' > 'minecraft:brand' spoofing,
# 'brand-spoof-kicker' will cause an internal client error for undetected brand spoofers.
brand-spoof-detection: true
brand-spoof-kicker: true
# 'chat-message-verification' requests the player to repeat a code in the chat,
# which doesn't display if the provided translations matches.
chat-message-verification:
enabled: true
translation:
enabled: false
value: xyz
alert-spam:
enabled: true
translation: sodium.options.buttons.apply
# Amount of alerts to spam
quantity: 100
# Time in seconds until the server kicks the player for waiting too long
timeout: 5
# [ Requires Internet ]
# 'opsec-color-blower' prevents the player from doing anything if he has Opsec installed.
# Note that THIS WILL:
# 1. CAUSE FALSE POSITIVES,
# 2. TRIGGER GREAT OUTRAGE,
# 3. BREAK UR COMMUNITY APART;
# If your server uses &5 ANYWHERE. In the tablist, chat, anywhere.
# Because if this option is enabled, using that colorcode is impossible.
opsec-color-blower: false
#===========================#
#========= GENERAL =========#
#===========================#
# The 'bedrock-bypass' setting will remove the verification process for players
# using MC Bedrock Edition.
bedrock-bypass: true
max-register-limit:
enabled: true
amount: 60
# 'known-packs-require' requires the client to not omit the SelectKnownPacksC2SPacket and the 'minecraft:core' pack
# inside it.
#
# 'known-packs-analyze' analyzes if the client actually uses the version specified by SelectKnownPacksC2SPacket.
known-packs-require: true
known-packs-analyze: false
known-packs-analyze-amount: 20
#================================#
#========= INTEGRATIONS =========#
#================================#
# The 'px-integration' setting enables ProtocolExtension integration if it is present.
# If ProtocolExtension isn't present, that setting is ignored.
px-integration: true
#===============================#
#========= OLD METHODS =========#
#===============================#
book-verification:
enabled: true
commands:
- opsec # [Patched]
- www
# 'channel-spammer':
# - will spam the chat of players with channel loggers,
# - may also accidentally kick some players with mods that check all CustomPayloads,
# - may also accidentally spam game logs of some players
# (that use custom clients or these same types of mods).
channel-spammer:
enabled: false
interval: 10
# [Patched]
# 'ep-stapi-kicker' causes an internal client error if the player has both ExploitPreventer and a mod using
# Server Translations API installed.
ep-stapi-kicker:
enabled: true
translations:
- container.lolmcv.spruce_chest
- abc
- key.jump
- menu.quit
keybinds:
- key.jump
# 'opsec-alert-spammer' spams the player's chat if he has Opsec installed with alerts on (which is the default).
# Keep in mind though, this occupies the actionbar (therefore making it unusable)!
opsec-alert-spammer:
enabled: false
interval: 4
chunk: 2
#============================#
#========= MESSAGES =========#
#============================#
verification-messages:
begin: |-
&6This server requires additional verification.
&6Please wait a few seconds.
complete: |-
&8Verification complete.
invalid-flow:
kick:
active: true
message: |-
<red>Kicked for exceeding packet rate limit.
incorrect-code:
kick:
active: true
message: |-
<red>Failed verification
detected:
ban:
active: true
message: |-
ExploitPreventer usage
commands:
active: false
enum:
- /helpop %player% was banned for hiding mods.
hit-register-limit:
kick:
active: true
message: |-
<red>You have too many mods.
<red>Please consult a server administrator to increase this limit or remove some of the mods you don't need.
intentionally-faulting:
banip:
active: true
message: |-
Causing server issues
timed-out:
kick:
active: true
message: |-
<red>Verification timed out.
📦 Requirements
- Java >=21
- PaperMC >=1.21.11
- PacketEvents
🪧 Newest Protection
To have your server use the newest CapPreventer protection methods, remember to keep it updated.
I am trying my best to always find new exploits when old ones get patched.


