MineTracer

MineTracer

Mod

Logs and rolls back block, container, sign, and kill actions. Powerful lookup, rollback, and inspector commands for server admins. Filter by user, time, range, action, or item for precise control.

Server ManagementTechnologyUtility

248 downloads
5 followers
Follow Save
Filter channels...

Changes/Fixes:

  • Complete migration from JSON to SQLite database for all storage operations
  • Eliminated hybrid JSON/database architecture causing data loss
  • Commands now query database instead of in-memory JSON (this fixed a massive memory leak)

All in all this is a MASSIVE update in terms of performance. Note that previous logs created by older versions will not be compatible with this new version.

Additions

  • New /minetracer saves command - Save monitoring for TPS analysis

Fixes

  • Fixed drag operation logging bug. No more missing logs for container drag operations
  • Enhanced backup system with atomic saves meaning less risk of data loss in the case of a server crash

Fixes

  • Fixed a bug where rapid container interactions were being dropped and not logged
  • Container logging now captures ALL interactions regardless of timing, ensuring no missing deposits or withdrawals
  • Now properly detects and logs all types of item transfers, including single-click moves and drag operations
  • Transfer detection is now more reliable and doesn't require perfect item count matching
  • Improved sign placement logging to handle timing edge cases where blocks might appear as "air" during placement
  • Improved data persistence with more frequent incremental saves (every 30 seconds instead of 2 minutes)
  • Improved background processing maintains zero lag impact while increasing accuracy

Additions:

  • Logs when players pick up items from the ground
  • Logs when players drop items (Q key or drag outside inventory)

Changelog

Additions:

  • Added command /minetracer undo to undo the latest rollback with a 20 minute save period
  • Added 3 correlating commands
  • /minetracer rollback <args> #preview command lets you preview the rollback for the executor only, without other players seeing it.
  • /minetracer confirm confirms the rollback that is currently being previewed
  • /minetracer cancel cancels the rollback that is currently being previewed

Changelog

Additions:

  • KillEventListener now filters out irrelevant events early

Fixes:

  • Deferred invalidation reduces frequency of expensive cache operations
  • Background cache operations don't block main server thread

Changelog

Additions:

  • Integrated kill event tracking with async spatial indexing using ServerEntityCombatEvents

Fixes:

  • Fixed 544+ compilation errors by migrating all LogStorage references to OptimizedLogStorage

  • Resolved container event filtering to properly capture QUICK_MOVE actions in MixinScreenHandler

MineTracer Changelog

[1.3.1]

Added

  • Log entries now have a rolledBack flag to prevent double rollbacks and mark rolled-back actions.
  • Lookup results now show rolled-back actions with strikethrough and gray color for clear visual feedback.

Changed

  • Rollback command logic updated to skip already rolled-back actions and mark actions as rolled back after a successful rollback.

Fixed

  • Prevented double rollback of the same action.

Changelog:

  • Added minetracer$hasRelevantSlots flag to skip tracking entirely when no items are present
  • Ultra-fast early exit if no container slots have items
  • Quick container vs player inventory detection

  • Pre-sized HashMap with typical chest size (27 slots) to avoid resizing
  • Only store non-empty ItemStacks (most container slots are empty most of the time)
  • Clear tracking map immediately after use to free memory

  • Cache container position once per interaction instead of looking it up for each slot
  • Skip empty-to-empty slot transitions entirely (most common case)
  • Batch process only changed slots

  • Only track container slots, never player inventory slots
  • Skip processing if no relevant slots contain items
  • Single pass through slots instead of multiple iterations

Changelog:

  • Fixed issue where lookups returned empty results immediately after server start
  • Fixed player name matching to be case-insensitive across all search methods
  • Implemented proper global search for user+time queries without range restrictions

Changelog:

  • The global search uses direct player indexing, so you can now lookup any player who has ever performed actions, whether they're online, offline, or anywhere in the world.

Change log:

  • Removed unused command /flowframe rollbackpage

This update adds loads of optimization changes, including:

  • Intervals scales efficiently with large datasets and high player counts
  • Zero main thread blocking for all logging operations

Initial release. First public version of MineTracer with full block, container, sign, and kill logging, advanced lookup, rollback, and inspector features.


Project members

HelluPeptic

Member

Details

Licensed MIT
Published 4 months ago
Updated 4 days ago