
SimpleLogs
SimpleLogs — Lightweight Server Logging & Monitoring System
- Загрузки
- 44
- Подписчики
- 0
- Обновлён
- 15 мая 2026 г.
- Лицензия
- All-Rights-Reserved
Опубликован 7 апреля 2026 г.
⚡ SimpleLogs
The Next-Generation Combat, Forensic & Admin Logging System
Engineered for high-performance Spigot, Paper, and Purpur networks — Minecraft 1.21.1+
One plugin. Complete server visibility. Zero TPS impact.
🧠 What is SimpleLogs?
SimpleLogs is a production-grade server administration plugin built around a single philosophy: your server should know exactly what happened, when it happened, and who did it — without ever sacrificing performance.
From combat loggers to base griefers, chest thieves to suspicious explosions, SimpleLogs captures everything silently in the background using fully asynchronous I/O, smart rate limiting, and efficient data structures. No chunk scanning. No blocking operations. No compromise.
Built from the ground up for Spigot as its primary platform, with full Paper compatibility out of the box.
⚔️ Combat Logging Prevention
Stop players from escaping fights unfairly. SimpleLogs tags both players the moment PvP begins and holds that tag until the combat timer expires.
- Configurable Logout Actions — choose
KILL,PUNISH, orBOTHwhen a tagged player disconnects - Natural Item Drops — the combat logger's inventory drops at their exact location for the victor to collect
- Punishment Engine — apply
BAN,TEMPBAN,WARN, orNONEas your server policy dictates. Tempban durations are fully configurable (10m,1h,1d) - Grace Period Protection — newly joined players are immune to combat tagging for a configurable window (default 5 seconds), preventing spawn-kill abuse
- Command Interception — whitelist/blacklist engine blocks escape commands like
/spawn,/tp,/homewhile always allowing chat commands like/msgand/reply. Fully configurable, bypass permission supported - Combat Feedback — ActionBar or BossBar timer display with configurable colors, styles, and formats. Combat-start sound plays once on entry (default: Ender Dragon growl). All UI elements are individually toggleable
💣 Explosion Forensic System
Running a Private SMP? Ever needed to prove exactly who blew up someone's base?
Activate PRIVATE_SMP mode to enable the full explosion forensics engine. Every detonation is captured as a timestamped forensic report containing everything you need for a thorough investigation.
Tracked explosion types:
- TNT ignitions (with source player detection)
- Bed detonations in the Nether and End
- End Crystal explosions
- Respawn Anchor misuse
Every report includes:
- Explosion type and exact coordinates
- Triggering player (or
UNKNOWNif undetectable) - Full snapshot of all online players — names, worlds, and coordinates at the exact moment of detonation
- Nearby suspects highlighted with precise block distance
- Multi-timezone timestamps (IST, CET, EST, PST)
Anti-lag system built in — per-second rate limiting, per-location cooldowns, and automatic disabling under extreme spam (configurable threshold) ensure TNT machines and raid farms never degrade your TPS.
Radius calculations use
distanceSquaredexclusively for suspect detection — no square root overhead on the main thread.
🧱 Block Logging
Track every block interaction across your server with surgical precision.
- Logs breaks and places independently — toggle each action in config
- Material filter system — choose
BLACKLISTmode to ignore junk blocks (dirt, stone, gravel, sand, leaves — 40+ defaults included) orWHITELISTmode to log only specific blocks you care about - Per-player rate limiter — configurable max events per second per player. Farms and mining machines never flood your logs
GLOBALmode (single file) orPER_PLAYERmode (one file per player)- Query with
/sl blocklogs <player> - Bypass permission for trusted staff or automated accounts
📦 Container Interaction Logging
Know exactly who opened what, and who took or placed what items.
Tracked containers: Chest, Barrel, Shulker Box, Hopper, Dropper, Dispenser, Furnace, Blast Furnace, Smoker, Brewing Stand
Tracked interactions:
OPEN— player opened the containerTAKE— player removed items (direct click, shift-click, partial pickup)PUT— player placed items (direct placement, shift-click from inventory)
Null items and AIR are automatically ignored. Shift-click direction is correctly resolved — no duplicate logs, no missed interactions.
Per-player rate limiter and bypass permission included. GLOBAL or PER_PLAYER storage. Query with /sl containerlogs <player>.
🔍 Admin Investigation Tools
The most powerful feature of SimpleLogs 2.0 — a unified investigation command that aggregates data from every log system simultaneously. /sl investigate /sl investigate combat /sl investigate blocks /sl investigate containers /sl investigate all
Running /sl investigate <player> fires three parallel async reads across combat logs, block logs, and container logs simultaneously. Results merge on the main thread and render as a single color-coded report — no waiting, no blocking, no lag.
- Combat entries shown in red
- Block breaks in red, places in green
- Container takes in red, puts in green, opens in gray
- Configurable max entries per system
- Fully async — the main thread is never touched during disk reads
⚙️ Smart Server Mode System
SimpleLogs adapts to your server type automatically.
| Mode | Behavior |
|---|---|
UNSET |
Prompts the first OP to join with clickable setup buttons |
PRIVATE_SMP |
Full feature set — all logging systems active including explosion forensics |
PUBLIC |
Lightweight mode — explosion forensics disabled for maximum performance |
Switch modes instantly with /sl setmode private or /sl setmode public. No restart required.
📜 Commands & Permissions
| Command | Description | Permission |
|---|---|---|
/sl reload |
Reload configuration | simplelogs.reload |
/sl setmode <private|public> |
Set server mode | OP |
/sl history <player> |
View combat log history | simplelogs.history |
/sl explosions |
View recent explosions | simplelogs.explosions |
/sl blocklogs <player> |
View block log history | simplelogs.blocklogs |
/sl containerlogs <player> |
View container log history | simplelogs.containerlogs |
/sl investigate <player> [filter] |
Full investigation report | simplelogs.investigate |
Bypass permissions:
simplelogs.bypass— bypass combat command restrictionssimplelogs.blocklog.bypass— exclude from block loggingsimplelogs.containerlog.bypass— exclude from container logging
## 📂 Log File Structure
All logs are stored under `/plugins/SimpleLogs/`:
SimpleLogs/
├── CombatlogPlayers/
│ └── combat_log.txt (or <PlayerName>.txt in PER_PLAYER mode)
├── ExplosionLogs/
│ └── explosions.txt
├── BlockLogs/
│ └── block_log.txt (or <PlayerName>.txt)
└── ContainerLogs/
└── container_log.txt (or <PlayerName>.txt)
All log entries are human-readable plain text with multi-timezone timestamps.
⚡ Performance Architecture
SimpleLogs was designed with performance as a first-class requirement — not an afterthought.
- Zero blocking main thread — all file I/O is exclusively asynchronous
- ConcurrentHashMap for combat sessions — thread-safe with no lock contention
- EnumSet for container type lookups — fastest possible enum membership check
- Per-player rate limiters — O(1) map lookup with lazy second-window cleanup
- distanceSquared for all radius checks — eliminates sqrt overhead
- Dynamic listener registration — explosion listener only registered in PRIVATE_SMP mode
- Single tick task for all combat expiration and UI updates — no per-player schedulers
- In-memory ring buffer for recent explosions —
/sl explosionsnever reads from disk
📊 bStats Analytics
SimpleLogs collects anonymous server statistics via bStats (Plugin ID: 30642).
Tracked metrics: server mode distribution. Can be disabled in the bStats global config.
SimpleLogs 2.0 — Built for servers that demand complete visibility without compromise.
Authored and maintained by YounggamingDJ
Ченджлог
2.0Бета1.21.9, 1.21.10, 1.21.11 · 15 мая 2026 г.
⚡ SimpleLogs 2.0 — Major Feature Update
🆕 New Systems
🧱 Block Logging
- Tracks every block break and place across your server
- Configurable per-action toggle (log breaks only, places only, or both)
- Built-in per-player rate limiter — max logs per second per player, excess silently dropped
- Material filter system with BLACKLIST / WHITELIST modes
- Default blacklist covers 40+ common junk blocks (dirt, stone, gravel, leaves, etc.) to prevent log spam from mining and farming
- GLOBAL and PER_PLAYER storage modes
- Query via
/sl blocklogs <player>
📦 Container Interaction Logging
- Tracks OPEN, TAKE, and PUT actions on Chests, Barrels, Shulker Boxes, Hoppers, Droppers, Dispensers, Furnaces, Smokers, Blast Furnaces, and Brewing Stands
- Correctly handles direct clicks, shift-clicks, and partial pickups
- Skips null and AIR items automatically — no empty-hand spam
- Per-player rate limiter identical to block logging
- GLOBAL and PER_PLAYER storage modes
- Query via
/sl containerlogs <player>
🔍 Admin Investigation Tools
- New
/sl investigate <player>command pulls from ALL log systems simultaneously - Parallel async reads merge into a single formatted report on the main thread
- Filter by system:
/sl investigate <player> combat|blocks|containers|all - Color-coded output — red for breaks/takes, green for places/puts
- Configurable max entries per system
- Zero blocking — uses the same async + main-thread callback pattern as all other systems
🔧 Fixes & Improvements
- Added Paper API (
paper-api:1.21.1) as secondarycompileOnlydependency alongside Spigot - Fixed deprecated
BanList.Type.NAME— now uses profile-basedBanList.Type.PROFILE - Added Paper-compatible
AsyncChatEventhandler alongside existing SpigotAsyncPlayerChatEventhandler — no crashes on either platform - Bumped version to
2.0 - New professional console startup banner
⚙️ Config Additions
block-loggingsection with full toggle, filter, rate limit, and storage controlscontainer-loggingsection with per-action toggles, rate limit, and storage controlsinvestigationsection with configurable max entries per system
🔑 New Permissions
simplelogs.blocklogs— view block log historysimplelogs.blocklog.bypass— exclude player from block loggingsimplelogs.containerlogs— view container log historysimplelogs.containerlog.bypass— exclude player from container loggingsimplelogs.investigate— run full investigation reports
1.0Альфа1.21.9, 1.21.10, 1.21.11 · 7 апреля 2026 г.
🎉 Initial Release of SimpleLogs 1.0
SimpleLogs is officially released! We've meticulously built this from the ground up as a highly optimized, next-generation combat tagger and server forensics tool tailored specifically for Spigot, Paper, and Purpur on 1.21+.
⚔️ Combat System Additions
- Core Combat Tagging: Prevents unfair escapes utilizing automatic duration tracking and customized Actionbar/Bossbar UI feedback.
- Join Grace Period: Introduced a native grace period (default 5s) preventing players from being spawn-killed or unfairly tagged right when they join.
- Dynamic Logout Behaviors: Server admins can now choose what happens when a player logs out in combat:
KILL- Naturally kills the player, beautifully dropping their loot on the ground for the victor.PUNISH- Exclusively uses the built in Ban, Tempban, or Warn system.BOTH- Kill them and ban them!
- Command Interception: Whitelist/Blacklist specific commands while in combat.
- Aesthetic Polish: Added a configurable dragon growl audio cue exactly when a true combat session initiates.
💣 Advanced Explosion Forensics (For Private SMPs)
- Full Tracker: Captures logs regarding the placement/triggering of TNT, End Crystals, Respawn Anchors, and deliberate out-of-world Bed detonations.
- Suspect Radius Tech: Identifies and flags players (the "Suspects") within a certain radius of mysterious explosions instantly via optimized, math-light
distanceSquaredlogic. - Deep Async History: Added
/sl explosionsto check the localized history in-game using an O(1) buffer logic that doesn't affect TPS.
📜 Robust Async Memory / Storage
- Global & Player Logging: Stores combat encounters either on a singular ledger or broken down by UUID.
- In-Game Log Checking: Access player histories via
/sl history <player>. Employs background IO threads to read deep into server files without locking the main thread. - Server Performance: Packaged with a native integration to the bStats metrics tracking system.
Комментарии
Загружаем…