Tags
Creators
Details
Licensed ARR
Published last year
Updated 6 months ago
All versions
0.2.1
Release
JanusMCD - 0.2.19 months ago 30
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
[0.2.1] - 2026-01-17
THIS IS A BREAKING UPDATE.
You will need to redo your configs. The config files have been renamed and restructured to make it easier to find settings.
Added
- Expanded Reporting:
- New Command Structure:
/report [type] [period]supportinghour,day,week,month, andyear. - Report Types:
general: Adaptive charts (Line vs Bar) for CCU, Engagement, and Growth.heatmap: Activity grid showing "Average Day" activity by hour.sessions: Session duration histogram (<15m, 1h-4h, etc).
- New Metrics: Added Failure Tracking (Security) and New Join Counting (Growth).
- New Command Structure:
- Configurable Command Permissions: Added
permissions.admin-role-idtoconfig.yml. This allows setting a specific Discord Role ID that bypasses theMANAGE_SERVERrequirement for administrative slash commands (like/linkand/report). - Discord Membership Enforcement: Added option to require players to be members of the Discord server before linking or joining (see
account-linking.yml).- Linking: Users cannot link their Minecraft account if they are not in the Discord server.
- Join Check: Linked players are kicked on join if they have left or been banned from the Discord server.
- Allowed Guilds Enforcement: Security feature to restrict which Discord servers the bot can join.
- Configuration: Added
allowed-guildslist todiscord.yml. - Startup: Bot automatically leaves any unauthorized guilds on startup, before registering slash commands.
- Runtime: Bot automatically leaves unauthorized guilds immediately if invited while running.
- Configuration: Added
- Configuration Reorganization: Split
config.ymlinto multiple files (discord.yml,security.yml,chat.yml,synchronization.yml) for better organization. BREAKING CHANGE: Users must migrate their settings to the new files. - Enhanced Account Linking:
- Linking Modes: Introduced
linking-modeoption (SIMPLEorSTRICT) inaccount-linking.yml. - Strict Mode (Default): Security feature that invalidates codes sent in public channels, kicks the player, and warns them to prevent brute-force leaks.
- Simple Mode: Allows linking from public channels if the code is valid (for easier user onboarding).
- Linking Modes: Introduced
Fixed
- Trusted IP Removal: "Trusted Session" data (which allows auth bypass) is now automatically purged when an account is unlinked via
/link remove. - Legacy Database Cleanup: The deprecated
trusted_sessionsdatabase table is automatically cleared on server startup to remove any lingering trusted status from old versions. - Slash Command Timeouts ("The interaction failed to respond"):
- Deferred Replies: Updated
/link status,/link remove, and/link clearto immediately acknowledge interactions with a "Thinking..." state, preventing timeouts on loaded servers. - API Commands: Updated
JanusAPIto automatically force ephemeral deferred replies for all registered external commands (e.g., Tartarus Punishments integration).
- Deferred Replies: Updated
- Player List Truncation: Fixed issue where the Discord status embed would truncate the player list at 15 players. Now dynamically splits the list across multiple embed fields to show all online players.
- Report Generation Error: Resolved HTTP 400 error when generating server reports by switching the QuickChart API request from GET to POST, allowing for larger datasets.
- Security Update: Migrated player logout location storage from flat file (
data/logout_locations.yml) to database (sqlite) to improve data security and integrity. - Account Linking Protection: Fixed a potential bypass in
directLinkwhere legacy links (without IP) could be overwritten by a different Discord account. Added enhanced debug logging for link verification to diagnose protection failures. - Discord Reply Relay: Fixed an issue where Discord replies were being ignored by the relay. Messages replying to others will now appear in Minecraft chat with the format
[Discord] sender: (Reply to @user) message.
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:kyiSeeUV:w84D4vUe"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:kyiSeeUV:w84D4vUe"
}

