
ConsoleDiscord
Mirrors your Paper server console log to a Discord channel and lets you run Minecraft console commands from Discord via /mc or !mc, with access control and configurable log batching.
Список изменений
[1.3.0] - 2026-03-10 🎉 The Big Feature Update
✨ New Features
📋 Intelligent Log Forwarding
1. Discord Embeds instead of Code Blocks
- Color-coded embeds for better readability (Green=INFO, Orange=WARN, Red=ERROR)
- Structured presentation with timestamps
- Batch processing: Up to 10 log lines per embed
- Configurable:
log-formatting.use-embeds
2. Emoji Encoding for Log Levels
- 💀 FATAL - Critical errors
- ❌ ERROR - Errors
- ⚠️ WARN - Warnings
- ℹ️ INFO - Information
- 🔍 DEBUG - Debug output
- 🔬 TRACE - Trace logs
- Configurable:
log-formatting.use-emojis
3. Log-Level Filtering
- Send only specific log levels to Discord
- Default: INFO, WARN, ERROR, FATAL
- Configurable:
log-levels: [INFO, WARN, ERROR]
4. Regex Filters for Logs
- Filter out annoying spam logs ("Can't keep up", UUID warnings)
- Unlimited regex patterns
- Configurable:
log-filters.ignore-patterns
5. Log Categories with Separate Channels
- Security logs in separate channel (op, ban, kick, etc.)
- Performance logs in separate channel (TPS, Memory)
- Unlimited categories definable
- Pattern-based routing
- Configurable:
log-categories
🎮 Remote Commands
6. Command Autocomplete
- Intelligent suggestions while typing
- Pre-configured common commands (gamemode, weather, time, difficulty, etc.)
- Also shows command aliases
- Automatic Discord slash command integration
7. Command Aliases
- Define shortcuts:
tps→spark tps - Unlimited aliases
- Autocomplete shows aliases with arrow:
tps → spark tps - Configurable:
command-aliases.aliases
🔒 Security & Monitoring
8. Command Audit Logging
- Logs every command with user, timestamp, and status
- File-based:
plugins/ConsoleDiscord/audit.log - Optionally also in Discord channel
- Format:
[2026-03-10 19:30:45] User#123 (Name) executed: cmd [SUCCESS] - Configurable:
command-audit
9. Performance Alerts
- TPS warning at < 15.0 TPS (adjustable)
- Memory warning at > 90% RAM (adjustable)
- Cooldown system prevents spam (default: 5min)
- Color-coded embeds: 🟡 Warning / 🔴 Critical
- Configurable:
performance-alerts
🛠️ Management
10. Startup/Shutdown Notifications
- 🟢 Server Start: Shows version & plugin count
- 🔴 Server Stop: Shows uptime
- Beautiful embeds with timestamp
- Configurable:
notifications.startup¬ifications.shutdown
11. Auto-Cleanup for Old Messages
- Automatically deletes old log messages
- Default: After 7 days (adjustable)
- Check every 24 hours (adjustable)
- Only bot's own messages are deleted
- Configurable:
auto-cleanup
12. Batch Embeds
- Groups up to 10 log lines per embed
- Discord limit: Max 10 embeds per message
- Reduces API calls and rate limits
- Better performance with many logs
- Configurable:
log-formatting.embed-batch-size
13. Configurable Command Blacklist ⭐
- Fully customizable: You decide which commands to block
- Default recommendation: Only
opanddeopblocked (changeable) - Flexible: Add commands like
stop,restart,whitelistas needed - Disableable: Security can be completely turned off
- Namespace protection: Prefixes like
minecraft:,bukkit:are always blocked - Configurable:
command-security.enabled&command-security.blocked-commands
🔄 Changes
Package Refactoring
Before: org.example
Now: dev.boondocksulfur.consolediscord
New Package Structure:
dev.boondocksulfur.consolediscord- Main plugindev.boondocksulfur.consolediscord.audit- Audit loggingdev.boondocksulfur.consolediscord.cleanup- Message cleanupdev.boondocksulfur.consolediscord.i18n- Internationalizationdev.boondocksulfur.consolediscord.listener- Discord eventsdev.boondocksulfur.consolediscord.logging- Log appender & formatterdev.boondocksulfur.consolediscord.performance- Performance monitoringdev.boondocksulfur.consolediscord.security- Security & rate limiting
Maven Configuration
- groupId:
dev.boondocksulfur(previously:org.example) - artifactId:
consolediscord(previously:console-discord) - JDA relocation adjusted
Config Extensions
The config.yml has been extended with 58 new options:
- Advanced logging options (17 options)
- Command features (10 options)
- Performance alerts (4 options)
- Notifications & cleanup (5 options)
📚 Documentation
- JavaDoc: Complete documentation for all classes and methods
- README.md: Completely revised with feature matrix and examples
- CHANGELOG.md: Detailed changelog with migration guide
🐛 Improvements
- Better error messages with i18n support
- More informative Discord responses (emojis for feedback)
- Cleaner code structure with separation of concerns
- Improved type safety with proper generics
- More consistent logging practices
- Optimized performance through batch processing
- NEW: Thread-safe reconnect logic with synchronized lock - no more race conditions
- NEW: Discord bot token format validation on startup
- NEW: Configurable command blacklist - you decide which commands to block
🔒 Security
- Blocks execution of server-critical commands
- Prevents command spam via rate limiting
- Validates user permissions before execution
- Filters commands with namespace prefixes
- Audit trail for all commands
- NEW: Configurable command blacklist - blocks only dangerous operations you specify
- NEW: Discord bot token validation - checks format and length on startup
- NEW: Race condition protection for Discord reconnects through synchronized lock
📦 Build Information
JAR File: consolediscord-1.3.0.jar
Size: ~8 MB (with JDA shaded)
Java Version: 21
Paper Version: 1.21.4-R0.1-SNAPSHOT
JDA Version: 6.1.0
Migration Guide from 1.2.0 → 1.3.0
✅ Automatic Migration
Most changes are backwards compatible. Your old config.yml will continue to work!
📝 New Config Options
On first startup with 1.3.0, these options will be automatically added:
# New options with defaults
language: "en"
max-commands-per-minute: 5
command-security:
enabled: true
blocked-commands: ["op", "deop"]
log-levels: [INFO, WARN, ERROR, FATAL]
log-formatting:
use-embeds: true
use-emojis: true
embed-batch-size: 10
log-filters:
ignore-patterns: []
log-categories:
enabled: false
command-aliases:
enabled: true
aliases: {}
command-audit:
enabled: true
log-file: "audit.log"
performance-alerts:
enabled: true
low-tps-threshold: 15.0
high-memory-threshold: 90
notifications:
startup: true
shutdown: true
auto-cleanup:
enabled: false
⚙️ Recommended Post-Migration Steps
-
Enable Discord Embeds:
log-formatting: use-embeds: true use-emojis: true -
Filter Spam Logs:
log-filters: ignore-patterns: - "Can't keep up! Is the server overloaded\\?" -
Configure Command Aliases:
command-aliases: enabled: true aliases: tps: "spark tps" save: "save-all" -
Reload Plugin:
/cdr reload
⚠️ Breaking Changes
None! All changes are backwards compatible.
