AdminWatchdog
1.4.5AdminWatchdog 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 chann
1.4.5latestAdminWatchdog 1.4.5Sep 25, 2026 If you run Folia, 1.4.4 didn't start at all. The server printed an error while loading it, the plugin shut itself off, and nothing got logged or sent to Discord. This update fixes that. It now starts normally on Folia 1.21.11, 26.1 and 26.2. The daily cleanup of old audit history also runs in the background now instead of on the game thread, so it can't cause a lag spike. The version shown in /aw version was wrong in 1.4.4 (it said 1.4.3). That's fixed too. Nothing to change in your config. Just replace the jar and restart.1.4.4AdminWatchdog 1.4.4Sep 12, 2026 You'd see the/vanishcommand and nothing after it. Now the plugin talks to SuperVanish, PremiumVanish and EssentialsX directly, so you get a message when someone actually goes hidden, and another when they come back. Install one of those plugins and this just works, no config needed. Creative alerts used to say someone "took" an item no matter what they did. They now say took, placed, or dropped, which matters more than you'd think when you're trying to tell an admin restocking a build from one pocketing diamonds. WorldEdit is covered now too. Commands like //set and //copy get logged like anything else, so nobody reshapes the map quietly. There's a switch for it in the config if you'd rather not. A few smaller things: You can tell the plugin to watch every command that belongs to a specific plugin, instead of listing them out one by one. Handy for "I want to see everything LuckPerms does" without remembering all the command names. Command alerts now say which plugin the command came from. Patterns you write in the config now catch shortcuts. If you set an alert for luckperms, it fires for /lp as well. The blacklist does this too.1.4.3AdminWatchdog 1.4.3Jul 8, 2026 [1.4.3] - 2026-07-09
The last few versions focused on Discord. This one focuses on the question that comes right after a Discord alert fires: "okay, but what has this person actually been doing?" Right now the honest answer is "scroll through commands.log and squint." Not anymore.Added
- Audit history you can actually query. Every event AdminWatchdog already tracks (commands, gamemode changes, creative-inventory grabs, item drops and pickups) now also lands in a small local SQLite database. Run/adminwatchdog history <player>and you get their last 10 actions with timestamps, right in chat. Add a number to see more, up to 50. No more digging through log files when someone asks "wait, what did Steve actually do?" - A brake on custom-response spam. If a monitored player finds a pattern that triggers your custom alerts and decides to mash it, your Discord channel used to mash right along with them. Each player (and the console) is now capped at 5 triggers per 60 seconds by default. Both numbers are yours to change inconfig.yml.Changed
- Old audit rows clean themselves up. Default retention is 30 days; setlogging.database-retention-days: 0if you'd rather keep everything forever. - Config auto-migrates like it always has. Update the jar, restart, and the new keys show up in your existingconfig.ymlwithout you touching anything.Under the hood
- Rewrote the Discord embed builder around Gson instead of hand-assembled JSON strings. Same messages, less code duplicated across the three embed types. - Dropped a Guava cache that was caching something cheaper to just recompute. One less moving part.Upgrade notes
- New config keys:logging.database-logging,logging.database-retention-days,custom-responses.rate-limit.*. All optional, all have sane defaults, nothing breaks if you ignore them. - New permission:adminwatchdog.history(defaults to op). - The jar is noticeably bigger this release because it now bundles sqlite-jdbc, native database drivers included, so you don't have to install anything extra on the server.1.4.2AdminWatchdog 1.4.2Apr 13, 2026 [1.4.2] - 2026-04-13
This release adds native Folia support while preserving Paper compatibility.Added
- Marked plugin metadata as Folia-supported so the plugin can load on Folia.Changed
- Replaced Bukkit scheduler usage with Folia-compatible AsyncScheduler and GlobalRegionScheduler APIs. - Updated update-notification delivery to use per-player entity schedulers. - Made async command update responses scheduler-safe for both player and console senders. - Updated docs/build instructions and Paper API baseline to current 1.21 Folia-compatible versions.Notes
- The new scheduler usage works on both Paper and Folia.1.4.1AdminWatchdog 1.4.1Apr 8, 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.1.4.0AdminWatchdog 1.4.0Mar 18, 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.player-custom-responses.console- Command blacklist is now split too: -monitoring.command-blacklist.player-monitoring.command-blacklist.console- Addedcustom-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:
Burst detection for repeatedcustom-responses: enabled: true player: "give * * >=5": "⚠️ Large give detected by %player%: %command%"/smg:
Separate console blacklist (useful for menu automation noise):custom-responses: repeat-triggers: enabled: true player: - pattern: "smg" count: 3 interval-seconds: 10 response: "⚠️ %player% repeated /smg %count%x in %interval%s"
Discord batching for spam-heavy servers:monitoring: command-blacklist: enabled: true player: - "msg" console: - "dm open"discord: batching: enabled: true interval-ms: 1000 max-messages: 10 max-combined-length: 1800Notes
- 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.1.3AdminWatchdog 1.3Feb 13, 2026 Fixed
- Fixed wildcard pattern matching in custom command responses - Wildcard patterns likeban * *now properly match commands with arguments - Fixed Discord mention support - Addedallowed_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 existImprovements
- 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 withdebug: 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 payloads1.2AdminWatchdog 1.2Jan 23, 2026 Changes implemented for v1.2: 1. 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 2. Creative Item Drop Tracking (Feature Request #1) - NewPlayerDropItemEventhandler tracks items dropped by creative mode players - NewEntityPickupItemEventhandler logs when another player picks up the dropped items - UsesConcurrentHashMapwith automatic cleanup for efficient tracking - Tracking duration configurable (default: 5 minutes) - Same monitoring rules as creative inventory (respects bypass permissions, ops/permission settings) 3. New Config Options in config.yml:
4. New Messages in messages.yml: -creative-item-drops: enabled: true track-pickup: true tracking-duration: 300logging.creative-item-drop-logging.creative-item-pickup-discord.creative-item-drop-discord.creative-item-pickup5. Discord Integration: - Rich embeds for item drops (icon) - Rich embeds for pickups (
icon, orange color for alert) - Fallback to simple messages if embeds fail 6. Build Changes: - Shadow plugin updated to
com.gradleup.shadow:9.0.0-beta12for Gradle 9 compatibility - bStats relocated tocom.github.tejaslamba2006.adminwatchdog.bstats1.1AdminWatchdog 1.1Jan 23, 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 - Bypass permissions for trusted admins: -adminwatchdog.bypass.commands- bypass command logging -adminwatchdog.bypass.creative- bypass creative inventory logging -adminwatchdog.bypass.customresponses- bypass custom response triggers -adminwatchdog.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 unusedoldVersionparameter in ConfigManager - Cleaner import organization Compatibility - Updated to Paper API 1.21.4 - api-version bumped to 1.211.0AdminWatchdog 1.0Sep 25, 2025
September 25, 2025AdminWatchdog v1.0.0 - Initial Release
New Features
🎯 Custom Command Responses
Configure custom Discord alerts for specific commands with role mentions:custom-responses: enabled: true op: "🔐 **CRITICAL** - %player% used OP! <@&ROLE_ID> %time%" "/stop": "🛑 **SHUTDOWN** - Console stopping server! %time%"🔧 Smart Config Updates
- Automatic config migration preserves your settings - New options added automatically without losing customizations - Version tracking withconfig-version: 1💻 Console Command Monitoring
- Track console commands with custom responses - Use%sender%placeholder for console actions - Monitor critical server operations
- Removed all development comments - Enhanced error handling and performance - Improved security and input validation - Custom proprietary license for code protectionProduction Ready
- Discord Webhooks - Rich embeds with item images - Creative Inventory Tracking - Monitor items taken from creative - Command Monitoring - Track admin commands with permissions - File Logging - Local logs with rotation - Auto-Updates - Built-in update checkerCore Features
1. Download the plugin JAR 2. Place in yourInstallation
pluginsfolder 3. Configure Discord webhook inconfig.yml4. Restart and enjoy!
- Java 17+ - Minecraft 1.20+ - Paper/Spigot server --- Download: [Latest Release](https://modrinth.com/plugin/adminwatchdog/version) | Support: [Discord](https://discord.gg/msEkYDWpXM) | Sponsor: [GitHub](https://github.com/sponsors/TejasLamba2006)Requirements
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta