2.2
Compatibility
Changes
AutoPunish - Advanced Minecraft Punishment System
A production-grade Minecraft plugin featuring automated moderation, advanced escalation systems, real-time synchronization, comprehensive health monitoring, and optional web panel management interface.
🌟 What's New in V2.2
Production Monitoring & Performance
- Health Monitoring System: Real-time system health checks with database, cache, and resource monitoring
- Load Testing Suite: Automated API performance benchmarking with concurrent load testing and memory stress analysis
- 3-SQLite CQRS Architecture: Advanced caching with real-time synchronization between main database and cache layers
- Performance Analytics: Request monitoring, error tracking, and automated performance recommendations
Modular Addon Architecture
- Optional Web Panel: Web interface now available as separate addon (AutoPunish-WebPanel)
- Plugin API Extensions: Enhanced APIs for third-party integrations and addon development
- Flexible Deployment: Choose core functionality or full web management based on your needs
Advanced Security & Compliance
- Rate Limiting: API endpoint protection with configurable request limits
- Input Validation: SQL injection and XSS protection across all endpoints
- Audit Trails: Enhanced logging and monitoring with conflict resolution
- Staff Authentication: Multi-level permissions for different administrative roles
🚀 Features
Core Punishment System
- Automatic Rule Enforcement: Configurable punishment rules with escalating tiers
- Severity-Based Escalation: Dynamic punishment severity based on violation history
- Multi-Punishment Types: Warn, Kick, Mute, Ban, and custom punishment types
- Time-Based Decay: Violation points decrease over time to prevent permanent escalation
Administration Features
- Approval Workflow: Sensitive operations require admin approval
- History Reset Protection: Player punishment history can only be reset with approval
- Soft Delete System: Deleted records are archived, not permanently removed
- Web Panel Interface: HTTP-based admin dashboard (port configurable)
Integration & Compatibility
- Ban Plugin Support: Native integration with LiteBans and EssentialsX
- Offline Player Support: Mojang API integration for offline player lookups
- Database Flexibility: MySQL or SQLite support with automatic migrations
- Plugin API: Full Java API for external plugin integration
Smart Moderation
- Word Filtering: Automatic punishment for censored words with bypass permissions
- Chat Monitoring: Real-time chat analysis with configurable sensitivity
- Staff Tracking: Complete audit trail of all staff actions
- Event System: Comprehensive Bukkit events for third-party plugins
📋 Commands
Player Commands
/punish <player> <rule>- Apply a punishment rule to a player/punishments [player]- View punishment history/severity [player]- Check current severity score
Administrative Commands
/punishadmin list/approve/deny <id>- Manage punishment approvals/punishadmin resetrequests- View pending history reset requests/resethistory <player> <reason>- Request player history reset (requires approval)/rulemanagement <create|edit|delete> [rule]- Manage punishment rules/punishreload- Reload configuration files
⚙️ Configuration
Basic Setup
# Database Configuration
database:
type: "sqlite" # or "mysql"
# Web Panel
web:
enabled: true
port: 8080
host: "localhost"
# Punishment Rules
rules:
spam:
1: { type: "warn", duration: "0" }
2: { type: "mute", duration: "30m" }
3: { type: "ban", duration: "1d" }
Word Filtering
word_filter:
enabled: true
censored_words:
- "badword1"
- "offensive"
rule: "spam" # Rule to apply for violations
min_severity_score: 2 # Minimum severity before filtering applies
🔧 Installation
Core Plugin Installation
- Download AutoPunish core JAR file (
autopunish-core-2.0.0.jar) - Install to your
plugins/folder - Configure
config.ymlas needed - Restart your server
Web Panel Addon (Optional)
- Download AutoPunish-WebPanel addon JAR file (
autopunish-webpanel-1.0.0.jar) - Install to your
plugins/folder alongside the core plugin - Restart your server
- Access web panel at
http://your-server:8080
Note: Core functionality works without the web panel addon. Install the addon only if you want the web management interface.
🗃️ Requirements
- Java 17+
- Minecraft 1.16.5+ (Paper/Spigot recommended)
- Optional: LiteBans or EssentialsX for enhanced ban/mute functionality
📊 API Usage
// Get the API instance
AutoPunishAPI api = AutoPunish.getAPI();
// Punish a player
UUID playerUuid = getPlayerUUID();
api.punishPlayer(playerUuid, "spam", "StaffMember", staffUuid);
// Check player history
PlayerHistory history = api.getPlayerHistory(playerUuid);
// Get severity score
int severity = api.getSeverityScore(playerUuid);
🛡️ Security
- Permission-Based Access: All sensitive operations require specific permissions
- Approval Workflows: Critical actions need administrative approval
- Audit Logging: Complete action tracking for accountability
- Data Integrity: Soft deletes prevent accidental data loss
📈 Database Performance
- Connection Pooling: HikariCP for optimal database connections
- Indexing: Strategic indexes for fast queries
- Migration System: Automatic schema updates
- Query Optimization: Efficient batch operations and caching
AutoPunish v2.2 - Production-Ready Minecraft Moderation with Advanced Monitoring
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:A3Oqrm5v:KEcQq2Zw"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:A3Oqrm5v:KEcQq2Zw"
}

