Перейти к содержимому
Mineforgian

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+

Version API Platform Author

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, or BOTH when 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, or NONE as 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, /home while always allowing chat commands like /msg and /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 UNKNOWN if 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 distanceSquared exclusively 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 BLACKLIST mode to ignore junk blocks (dirt, stone, gravel, sand, leaves — 40+ defaults included) or WHITELIST mode 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
  • GLOBAL mode (single file) or PER_PLAYER mode (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 container
  • TAKE — 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 restrictions
  • simplelogs.blocklog.bypass — exclude from block logging
  • simplelogs.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 explosions never 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 secondary compileOnly dependency alongside Spigot
  • Fixed deprecated BanList.Type.NAME — now uses profile-based BanList.Type.PROFILE
  • Added Paper-compatible AsyncChatEvent handler alongside existing Spigot AsyncPlayerChatEvent handler — no crashes on either platform
  • Bumped version to 2.0
  • New professional console startup banner

⚙️ Config Additions

  • block-logging section with full toggle, filter, rate limit, and storage controls
  • container-logging section with per-action toggles, rate limit, and storage controls
  • investigation section with configurable max entries per system

🔑 New Permissions

  • simplelogs.blocklogs — view block log history
  • simplelogs.blocklog.bypass — exclude player from block logging
  • simplelogs.containerlogs — view container log history
  • simplelogs.containerlog.bypass — exclude player from container logging
  • simplelogs.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 distanceSquared logic.
  • Deep Async History: Added /sl explosions to 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.

Комментарии

Загружаем…