
MaceGuard
Anti-cheat specifically made for preventing mace hacks such as MaceDMG
318
0
⚡ MaceGuard
🎯 What This Does
Stops MaceDMG hack
How it works: Calculates expected damage server-side → Compares to actual → Bans after 3 violations
More accurate bans - using server side fall calculations additionaly supports with density and wind burst enchantments, windcharge jumps, jump boost potions and enderpearl catches. Check config below for more details.
📦 Installation
- Download MaceGuard-1.0.0.jar
- Stop server
- Copy to plugins/ folder
- Start server
🔑 Permissions
Moderators - see alerts
- maceguard.alerts
- maceguard.staff
Admins - full access
- maceguard.*
Via Luckperms
- /lp group moderator permission set maceguard.alerts true
- /lp group admin permission set maceguard.* true
📝 Config
Spoiler
##############################################
# MaceGuard Configuration File #
# Advanced Mace Damage Validation System #
##############################################
# Plugin prefix for messages
prefix: "&c[MaceGuard]"
# Damage Validation Settings
damage-validation:
# Enable the damage validation system
enabled: true
# Tolerance multiplier for legitimate damage variations
# 1.15 = allow up to 15% over expected damage (for lag, rounding errors)
# Lower = stricter, Higher = more lenient
tolerance-multiplier: 1.15
# Minimum fall distance required for smash attack bonus
# Vanilla is 1.5 blocks, we use 1.3 to account for client-server sync
min-fall-distance: 1.3
# Maximum fall distance to track (blocks)
# Set to -1 for unlimited
max-fall-distance: 256
# Enable server-side fall distance calculation
# HIGHLY RECOMMENDED: Keep this true to prevent spoofing
server-side-calculation: true
# Recalculate damage server-side (cancel and reapply)
# If false, only logs violations but doesn't prevent damage
cancel-invalid-damage: true
# Special Mechanics Tracking
mechanics:
# Wind Charge detection
wind-charge:
enabled: true
# Time window to detect wind charge usage (ms)
detection-window: 2000
# Bonus fall distance to add when detected (blocks)
bonus-fall-distance: 7.0
# Ender Pearl detection
ender-pearl:
enabled: true
# Time window to detect ender pearl usage (ms)
detection-window: 3000
# Whether to track pearl height for calculation
track-pearl-height: true
# Jump Boost potion
jump-boost:
enabled: true
# Bonus fall distance per amplifier level (blocks)
bonus-per-level: 0.5
# Wind Burst enchantment
wind-burst:
enabled: true
# Bonus fall distance per enchantment level (blocks)
bonus-per-level: 7.0
# Track consecutive smash attacks
track-combos: true
# Density Enchantment Validation
density:
# Enable density enchantment validation
enabled: true
# Maximum density level (vanilla is 5)
max-level: 5
# Damage bonus per block fallen per level
# Vanilla formula: 0.5 * level * blocks
damage-per-block-per-level: 0.5
# Validate that density is actually on the weapon
verify-enchantment: true
# Logging Settings
logging:
# Enable logging to files
enabled: true
# Log all violations
log-violations: true
# Log suspicious hits (within tolerance but high)
log-suspicious: true
# Log all legitimate high-damage hits for monitoring
log-high-damage: true
high-damage-threshold: 50.0
# Log bans
log-bans: true
# Console output
console:
enabled: true
# Log level: INFO, WARNING, SEVERE
level: "WARNING"
# File output
files:
violations: "violations.log"
suspicious: "suspicious.log"
bans: "bans.log"
high-damage: "high-damage.log"
# Punishment System
punishment:
# Enable automatic punishments
auto-ban: true
# Maximum violations before punishment
max-violations: 3
# Ban duration (requires LiteBans, AdvancedBan, or compatible plugin)
# Format: #d = days, #h = hours, #m = minutes
ban-duration: "2d"
# Ban reason (supports color codes with &)
ban-reason: "&c[MaceGuard] MaceDMG Exploit - Spoofed fall distance detected"
# Reset violations after this time (minutes)
# Set to -1 to never reset
reset-violations-after: 30
# Broadcast punishments
broadcast:
enabled: true
message:
- "&8&m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
- "&c⚠ &fMaceGuard &7detected &c%player% &7using mace exploit"
- "&7Violations: &c%violations% &7| Excess Damage: &c%excess-damage%"
- "&7Punishment: &c%duration% ban"
- "&8&m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
# Commands to execute on punishment
# %player% = player name
# %uuid% = player UUID
# %violations% = violation count
commands:
- "tempban %player% 2d &c[MaceGuard] MaceDMG Exploit"
# Add more commands as needed
# - "discord send #bans %player% was banned for mace exploit"
# Alerts
alerts:
# Send real-time alerts to staff
enabled: true
# Permission required to receive alerts
permission: "maceguard.alerts"
# Alert format
format: "&c[MaceGuard] &e%player% &7attempted mace exploit! &f[VL: %vl%/%max-vl%] &7Expected: &f%expected%, &7Dealt: &c%actual%"
# Hover message (Paper servers only)
hover:
- "&7Player: &f%player%"
- "&7Violation: &f%vl%/%max-vl%"
- "&7Expected Damage: &f%expected%"
- "&7Actual Damage: &c%actual%"
- "&7Excess: &c%excess%"
- "&7Fall Distance: &f%fall-distance% blocks"
- "&7Wind Charge: %wind-charge%"
- "&7Ender Pearl: %ender-pearl%"
- ""
- "&eClick to teleport"
# Click action
click-command: "/tp %player%"
# Send alerts to Discord webhook
discord:
enabled: false
webhook-url: "https://discord.com/api/webhooks/YOUR_WEBHOOK_HERE"
# Minimum violations before sending to Discord
min-violations: 2
# Embed color (decimal)
color: 16711680 # Red
# Player Warnings
warnings:
# Send warnings to violating players
enabled: true
# Warning message
message: "&c[MaceGuard] &7Invalid mace damage detected! &c[%vl%/%max-vl%]"
# Title notification
title:
enabled: true
title: "&c⚠ Warning ⚠"
subtitle: "&7Mace exploit detected"
fade-in: 10
stay: 40
fade-out: 10
# Send warning at specific violation thresholds
thresholds:
- 1
- 2
- 3
# Exemptions
exemptions:
# Bypass permission
bypass-permission: "maceguard.bypass"
# Exempt creative mode players
exempt-creative: true
# Exempt spectator mode players
exempt-spectator: true
# Exempt players in specific worlds
exempt-worlds:
- "creative_world"
- "test_world"
# Exempt players in specific regions (requires WorldGuard)
exempt-regions:
- "spawn"
- "safezone"
# Whitelist specific players (UUID or username)
whitelisted-players:
# - "069a79f4-44e9-4726-a5be-fca90e38aaf5"
# - "Notch"
# Performance Optimization
performance:
# Run calculations asynchronously where possible
async-processing: true
# Thread pool size for async tasks
thread-pool-size: 2
# Cache player data for this many ticks (20 ticks = 1 second)
cache-duration-ticks: 100
# Maximum players to check per tick (prevents lag spikes)
max-checks-per-tick: 50
# Cleanup interval for old data (ticks)
cleanup-interval-ticks: 6000 # 5 minutes
# Cleanup threshold (remove data older than this in ms)
cleanup-threshold-ms: 300000 # 5 minutes
# Debug Settings
debug:
# Enable debug mode (verbose console output)
enabled: false
# Debug specific players
debug-players:
# - "TestPlayer123"
# Show expected vs actual damage in console
show-damage-calculations: false
# Track all mace hits (even legitimate ones)
track-all-hits: false
# Integration with other plugins
integration:
# Vulcan Anti-Cheat integration
vulcan:
enabled: true
# Send violations to Vulcan's log
log-to-vulcan: true
# GrimAC integration
grim:
enabled: true
# Send violations to Grim's log
log-to-grim: true
# LiteBans / AdvancedBan
ban-plugin:
# Auto-detect ban plugin (LiteBans, AdvancedBan, vanilla)
auto-detect: true
# Force specific plugin: "litebans", "advancedban", "vanilla"
force: "auto"
# Statistics Tracking
statistics:
# Track player mace statistics
enabled: true
# Track legitimate high-damage hits
track-high-damage: true
# Track total mace hits per player
track-hit-count: true
# Track average damage per player
track-average-damage: true
# Advanced Options
advanced:
# Packet validation level (higher = stricter, more CPU)
# Values: 1 (low), 2 (medium), 3 (high)
validation-level: 2
# Enable packet-level validation (requires ProtocolLib)
packet-validation:
enabled: false
# This is experimental and may cause issues
use-protocollib: false
# Fall distance calculation method
# "server" = server-side only (most secure)
# "client" = trust client (not recommended)
# "hybrid" = server with client validation
calculation-method: "server"
# Maximum violations to store in memory
max-violations-stored: 1000
# DO NOT EDIT
config-version: 1.0.0
Why this plugin ❓
- Server side calculation based, due to which chances of bypass is minimal.
Совместимость
Создатели
Детали
Лицензия:MIT
Опубликован:3 месяца назад
Обновлён:3 месяца назад
