
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
Tags
Creators
Details
1.4.0
Compatibility
Changes
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.
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:eeVR5226:S2YdVYRU"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:eeVR5226:S2YdVYRU"
}
