Tags
Creators
Details
2.1.0
Compatibility
Changes
📦 ChestLogger v2.1.0 (Paper Plugin) — Initial Release
Welcome to the initial release of ChestLogger for Paper / Purpur / Spigot!
ChestLogger is an ultra-fast, zero-blocking container audit and anti-griefing plugin designed for maximum server performance and zero main-thread tick lag.
🌟 Key Features
- ⚡ 0 ms Server Tick Lag: Uses a lock-free asynchronous MPSC ring buffer. Disk I/O never blocks the main server thread.
- 👥 Full Double Chest (54-Slot) Support: Seamless compound container tracking; inspecting either half retrieves the complete 54-slot history.
- ⏪ Safe, Non-Destructive Rollbacks: 2-step confirmation token system with adaptive slot relocation (never deletes legitimate items).
- 📊 Built-In Web Observability Dashboard: Zero-dependency web UI on
http://localhost:8080/with live streaming & CSV/JSON exports. - 💾 Ultra-Compact Binary Storage: Custom
.clogformat with high-speed LZ4 block compression (under 30 bytes per transaction). - 🛡️ Low-End Host & Crash Tuned: Sequential batch writing prevents disk seek storms on Aternos/budget VPS hosts with self-healing CRC32 recovery.
🎮 Commands & Permissions
/chestlog inspect <X> <Y> <Z> [page]—chestlogger.inspect/chestlog inspect <X> <Y> <Z> <player> [page]—chestlogger.inspect/chestlog rollback <X> <Y> <Z> <seconds> [player]—chestlogger.rollback/chestlog rollback <X> <Y> <Z> <sec> confirm <token>—chestlogger.rollback/chestlog stats—chestlogger.stats
📋 Installation & Requirements
- Drop
chestlogger-paper-2.1.0.jarinto your server'splugins/directory. - Restart or reload your server.
- Zero external dependencies required! (Standalone JAR)
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:kIc1go8Y:TdjLFiPL"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:kIc1go8Y:TdjLFiPL"
}

