Compatibility
Minecraft: Java Edition
Platforms
Links
Creators
Details
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.0
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.0 - Production-Ready Minecraft Moderation with Advanced Monitoring
AutoPunish-WebPanel Addon
An optional web panel addon for AutoPunish that provides a comprehensive web-based management interface for Minecraft server moderation.
🌟 Features
Web Dashboard
- Real-time Statistics: Live viewing of punishment statistics, active bans, and recent violations
- Player Management: Search, view history, and manage player moderation profiles
- Rule Management: Web interface for creating, editing, and managing punishment rules
- Approval System: Process pending punishment approvals directly from the web interface
Security Features
- Multi-factor Authentication: Secure login with session management and configurable timeouts
- Rate Limiting: API endpoint protection to prevent abuse (60 requests/minute limit)
- Input Validation: Automatic SQL injection and XSS protection on all inputs
- Security Headers: CSP, HSTS, and other security headers applied to all responses
- Account Lockout: Brute force protection with temporary lockout after failed login attempts
API Endpoints
- REST API: Full REST API for third-party integrations and custom dashboards
- Health Monitoring: System health checks and performance metrics via
/healthendpoint - Statistical Data: Comprehensive punishment statistics and analytics
- Punishment Management: Full CRUD operations for punishments and rules
🔧 Installation
Prerequisites
- AutoPunish core plugin v2.0+ must be installed
- Java 21+ (recommended for web server features)
- Spigot/Paper 1.16.5+
Installation Steps
- Download the addon JAR file (
autopunish-webpanel-1.0.0.jar) - Install to your
plugins/folder alongside AutoPunish core - Configure web settings in
plugins/AutoPunish/config.yml - Restart your Minecraft server
- Access the web panel at
http://your-server:8080
Configuration
# AutoPunish config.yml - Web Panel Section
web:
enabled: true # Must be true for addon to function
port: 8080 # Web server port
host: "localhost" # Bind address (use "0.0.0.0" for all interfaces)
session_timeout: 60 # Session timeout in minutes
log_api_requests: true # Log all API requests (development)
📋 Usage
Accessing the Dashboard
- Navigate to
http://your-server:8080in your web browser - Login with administrator credentials
- Access various management sections via the navigation menu
Default Login Credentials
- Username: admin
- Password: admin123
- ⚠️ Change these immediately after first login for security!
Dashboard Features
Statistics Overview
- Total punishments applied
- Today's violations
- Pending approvals
- System health status
Player Management
- Search players by name or UUID
- View complete punishment history
- Check current severity scores
- Reset player histories (requires approval)
Rule Management
- Create new punishment rules
- Edit existing rules and escalation tiers
- Delete unused rules
- Test rule configurations
Approval Management
- View queued punishments awaiting approval
- Approve or deny actions
- Review reasoning and staff actions
- Bulk processing capabilities
🔐 Permissions
Web Panel Access Permissions
autopunish.webpanel.*- Full web panel accessautopunish.webpanel.login- Login permissionautopunish.webpanel.dashboard- Access main dashboardautopunish.webpanel.manage_rules- Manage punishment rulesautopunish.webpanel.manage_filters- Manage word filtersautopunish.webpanel.view_statistics- View statisticsautopunish.webpanel.approve_punishments- Approve queued punishments
Recommended Permission Setup
groups:
moderators:
permissions:
- autopunish.webpanel.login
- autopunish.webpanel.dashboard
- autopunish.view_statistics
- autopunish.webpanel.approve_punishments
admins:
permissions:
- autopunish.webpanel.*
🔗 API Documentation
Authentication
All API requests require authentication cookies. Use /api/login endpoint first.
Core Endpoints
GET /api/health
Returns system health status and performance metrics.
Response:
{
"database": "healthy",
"cache": "healthy",
"web": "available"
}
GET /api/statistics
Returns comprehensive punishment statistics.
Response:
{
"totalPunishments": 1250,
"todayPunishments": 45,
"pendingApprovals": 3,
"totalRules": 8
}
GET /api/punishments?page=1&limit=20
Returns paginated list of punishments.
GET /api/players/{uuid}/history
Returns complete punishment history for a player.
POST /api/login
Authenticates user and establishes session.
Request:
{
"username": "admin",
"password": "password"
}
Error Responses
All endpoints return standardized error responses:
{
"error": "Error description",
"timestamp": "2023-12-XXTXX:XX:XXZ"
}
🔍 Troubleshooting
Common Issues
Web Panel Not Accessible
- Verify AutoPunish core plugin is installed
- Check if port 8080 is available and not blocked by firewall
- Confirm
web.enabled: truein config.yml - Check server logs for startup errors
Login Failures
- Verify credentials are correct
- Check if account is locked due to failed attempts
- Ensure proper permissions are assigned
- Review server logs for authentication errors
Slow Performance
- Monitor system resources with built-in health checks
- Check database connection pool status
- Review rate limiting logs for abuse patterns
- Consider increasing server resources
Logs and Monitoring
- All web panel activity is logged to server console
- Health metrics available at
/api/health - Performance bottlenecks identified in health reports
- API request logging available when
log_api_requests: true
🔧 Development
Architecture
The web panel addon follows a modular architecture:
WebPanelManager- Core web server and route handlingAutoPunishWebPanel- Plugin bootstrap and lifecycle- REST API layer with Javalin framework
- Security middleware for protection
- Resource serving for static web assets
Web Assets
Static files served from src/main/resources/web/:
login.html- Authentication pagedashboard.html- Main management interfacestyle.css- UI stylingapp.js- Frontend JavaScript logicdashboard.js- Dashboard-specific scripts
📄 Requirements
- AutoPunish Core: 2.0.0 or higher
- Java: 17+ (21+ recommended)
- Minecraft Server: 1.16.5+ (Paper/Spigot)
- Dependencies: Javalin, Jackson (included in JAR)
🏷️ Version History
1.0.0 (Current)
- Initial release as standalone addon
- Full web dashboard functionality
- Security features and API protection
- Comprehensive API endpoints
- Plugin integration with AutoPunish 2.0
AutoPunish-WebPanel v1.0.0 - Advanced Web Management Interface for AutoPunish



