
AdminWatchdog
AdminWatchdog lets you monitor what staff members do on your server. When an admin runs a command, changes gamemode, or takes items from creative mode, the plugin sends a message to your Discord channel. This helps server owners keep track of staff activit
AdminWatchdog 1.4.1
release8 апреля 2026 г.[1.4.1] - 2026-04-08
This update is mostly about clarity. The plugin behavior stays familiar, but the text around it should feel easier to read and edit when you are moving fast.
Added
- Creative material triggers for creative inventory, drop, and pickup events.
- New placeholders for material-trigger messages:
%matched_material%and%material_pattern%. - Dedicated update download message template for command output.
Changed
- Player-facing message rendering now uses MiniMessage.
config.ymlcomments and user-facing response strings were rewritten in a more natural tone.messages.ymlcomments and message strings were rewritten to be clearer and less robotic.- Legacy section-sign formatting in update logs was removed.
Notes
- Key names and configuration structure were not changed.
- If your existing custom messages still use legacy color codes, convert them to MiniMessage tags.
AdminWatchdog 1.4.0
release18 марта 2026 г.This release is focused on real-world moderation load: fewer duplicate pings, better abuse detection, and less webhook spam when people start command-flooding.
Added
- Threshold matching in custom responses. You can now match numeric arguments with
>=,<=,>,<, and==. - Repeat-time triggers for burst detection (for both player and console commands).
- Discord batching system to merge multiple logs into fewer webhook requests.
Changed
- Custom responses are now split cleanly into:
custom-responses.playercustom-responses.console
- Command blacklist is now split too:
monitoring.command-blacklist.playermonitoring.command-blacklist.console
- Added
custom-responses.suppress-normal-loggingso you can avoid duplicate log lines when a custom alert already fired. - Pattern matching now accepts config keys with or without leading
/.
Examples
Custom response for large gives only:
custom-responses:
enabled: true
player:
"give * * >=5": "⚠️ Large give detected by %player%: %command%"
Burst detection for repeated /smg:
custom-responses:
repeat-triggers:
enabled: true
player:
- pattern: "smg"
count: 3
interval-seconds: 10
response: "⚠️ %player% repeated /smg %count%x in %interval%s"
Separate console blacklist (useful for menu automation noise):
monitoring:
command-blacklist:
enabled: true
player:
- "msg"
console:
- "dm open"
Discord batching for spam-heavy servers:
discord:
batching:
enabled: true
interval-ms: 1000
max-messages: 10
max-combined-length: 1800
Notes
- If you want only alert messages and no duplicate normal command logs, set:
custom-responses.suppress-normal-logging: true
- For key-give monitoring, pair threshold patterns with repeat triggers to catch both suspicious amount and suspicious frequency.
AdminWatchdog 1.3
release13 февраля 2026 г.Fixed
- Fixed wildcard pattern matching in custom command responses - Wildcard patterns like
ban * *now properly match commands with arguments - Fixed Discord mention support - Added
allowed_mentionsto webhook payload to enable role/user pings (use<@&ROLE_ID>for roles,<@USER_ID>for users) - Fixed pattern priority - More specific patterns (with more words) are now checked before simpler patterns, ensuring correct matching when both exist
Improvements
- Build system migrated from Gradle to Maven - Improved build performance and compatibility
- Update checker optimization - Now only checks for updates on server startup instead of every 60 minutes
- Added detailed debug logging for pattern matching (enable with
debug: truein config.yml)
Technical Changes
- Improved wildcard regex generation by properly escaping pattern parts
- Enhanced pattern sorting algorithm to prioritize longer, more specific patterns
- Removed unnecessary forward slash escaping in JSON payloads
AdminWatchdog 1.2
release23 января 2026 г.Changes implemented for v1.2:
-
bStats Integration (Plugin ID: 29010)
- Added metrics tracking for:
- Discord enabled/disabled
- Creative inventory monitoring enabled/disabled
- Custom responses enabled/disabled
- Item drop tracking enabled/disabled
- Added metrics tracking for:
-
Creative Item Drop Tracking (Feature Request #1)
- New
PlayerDropItemEventhandler tracks items dropped by creative mode players - New
EntityPickupItemEventhandler logs when another player picks up the dropped items - Uses
ConcurrentHashMapwith automatic cleanup for efficient tracking - Tracking duration configurable (default: 5 minutes)
- Same monitoring rules as creative inventory (respects bypass permissions, ops/permission settings)
- New
-
New Config Options in config.yml:
creative-item-drops: enabled: true track-pickup: true tracking-duration: 300 -
New Messages in messages.yml:
logging.creative-item-droplogging.creative-item-pickupdiscord.creative-item-dropdiscord.creative-item-pickup
-
Discord Integration:
- Rich embeds for item drops (📦 icon)
- Rich embeds for pickups (⚠️ icon, orange color for alert)
- Fallback to simple messages if embeds fail
-
Build Changes:
- Shadow plugin updated to
com.gradleup.shadow:9.0.0-beta12for Gradle 9 compatibility - bStats relocated to
com.github.tejaslamba2006.adminwatchdog.bstats
- Shadow plugin updated to
AdminWatchdog 1.1
release23 января 2026 г.Version 1.1 Changelog
Bug Fixes
- Fixed custom-responses triggering for all players regardless of monitoring permissions
- Fixed creative inventory logging everyone in creative mode instead of respecting monitoring settings
New Features
- Wildcard command pattern matching for custom-responses
- Exact match:
banmatches/ban - Prefix match:
lp usermatches/lp user Steve ... - Wildcard match:
lp user * permission set *matches specific argument patterns
- Exact match:
- Bypass permissions for trusted admins:
adminwatchdog.bypass.commands- bypass command loggingadminwatchdog.bypass.creative- bypass creative inventory loggingadminwatchdog.bypass.customresponses- bypass custom response triggersadminwatchdog.bypass.gamemode- bypass gamemode change logging
Performance Improvements
- Async file logging via CompletableFuture
- Async Discord webhook dispatch
- Guava cache for item data (512 entries, 30-min TTL)
- Converted ItemData to Java record
Code Quality
- Switch expressions in Commands.java
- Pattern matching instanceof
- Removed unused
oldVersionparameter in ConfigManager - Cleaner import organization
Compatibility
- Updated to Paper API 1.21.4
- api-version bumped to 1.21
