ProtectCore | Anti Grief - Action Logger - Web UI | icon

ProtectCore | Anti Grief - Action Logger - Web UI | -----

Modern, powerful and web powered alternative to coreprotect




Shutdown / WorldEdit drain fixes
  • Fixed plugin shutdown error caused by WorldEdit queue draining trying to register Bukkit tasks after the plugin was already disabling.
  • Removed scheduled/asynchronous WorldEdit drain usage from onDisable().
  • Changed shutdown flow to use a direct, synchronous WorldEdit queue drain instead.
  • Kept shutdown order safe: unregister WorldEdit bridge first, drain WorldEdit queues second, flush database queue last.

ProtectCore shutdown flow
  • Updated ProtectCore.onDisable() to stop new WorldEdit hooks before draining pending edit logs.
  • Replaced WELoggingExtent.flushAllQueues(...) + async drain waiting with WELoggingExtent.flushAllQueuesDirect().
  • Ensured database shutdown happens only after WorldEdit entries have been pushed into the DB queue.
  • Preserved final scheduler cancellation at the end of shutdown instead of relying on scheduled drain tasks.

WELoggingExtent changes
  • Added a direct shutdown-safe queue flush path that does not use runTask, runTaskTimer, BukkitRunnable, or Paper schedulers.
  • Direct drain now polls queued WorldEdit entries and logs them straight into the database queue.
  • Direct drain builds log metadata the same way as the normal scheduled drain, including origin, material, block data, and pretty material name.
  • Direct drain safely handles unknown/missing worlds by dropping queued entries with a warning instead of crashing shutdown.
  • Reset drain state cleanly after direct flushing finishes.

Stability / safety improvements
  • Avoided illegal task registration during plugin disable, preventing IllegalPluginAccessException.
  • Reduced shutdown race risk between queued WorldEdit drain work and database shutdown.
  • Kept database queue acceptance window open long enough for shutdown-drained WorldEdit entries to be persisted.
  • Improved reliability of graceful shutdown for pending WorldEdit block change logs.

Please consider leaving a good review for the plugin.
Discord Support

Search & Performance Update

- Improved search performance for PLAYER_MESSAGE and PLAYER_COMMAND logs.
- Added a dedicated fast path for chat and command searches.
- Message and command searches now use details-only text matching instead of scanning full metadata.
- Kept metadata loading disabled for message/command rows in the UI path.

Search Improvements

- Added unified text-search handling for more consistent search behavior.
- Improved multi-word FULLTEXT query handling.
- Added smarter index selection so FULLTEXT searches no longer get forced onto weaker normal indexes.
- Improved action-specific search performance.
- Improved per-user action search performance.
- Improved message/command-specific FULLTEXT searching.

Database / Indexing

- Added support for dedicated message/command search text handling.
- Added support for a dedicated FULLTEXT index for chat/command searching.
- Added support for an action + time index to improve action-specific browsing.
- Added support for a player + action + time index to improve per-user action browsing.

Code Cleanup

- Reworked filter-building logic to reduce duplicated query code.
- Updated user search paths to use the new shared search logic.
- Updated area search paths to use the new shared search logic.
- Reduced duplicate SQL-building across paged, keyset, and windowed searches.
- Made search behavior more consistent across paged, keyset, windowed, user, and area queries.

Please consider leaving a good review for the plugin.
Discord Support
----------, Mar 16, 2026

Synopsis
This update mainly focuses on making the plugin faster, safer, and more scalable by improving database startup, schema/index design, query performance, retry behavior, and item/container logging so searches and rollbacks are more reliable. It also tightens the editor and API side with safer rendering, cleaner pagination, better async/tab handling, stronger filtering/date handling, and reduced desync or stale-state issues.

For best results I recommend that you do /po purge 0 and start your database storage from the begining.

- Added maintenance mode protection to stop DB queues from growing too large.
- Improved shutdown handling so queued work flushes more safely.
- Switched Hikari to use MariaDbDataSource directly.
- Split DB setup into fast startup + heavy async migrations.
- Added async schema updates for name/lore search columns and FULLTEXT indexes.
- Added generated chunk columns cx and cz.
- Added new chunk-based indexes for faster rollback and area searches.
- Updated queries to use cx/cz and sort_ts for better performance.
- Improved filtering for materials, entities, ignored usernames, name, and lore.
- Added safer retry logic for transient DB update failures.
- Added dedicated database fields for searchable item data, including name, lore, and enchants.
- Switched item name, lore, and enchant search data from JSON storage to dedicated database columns for better reliability and performance.
- Cleaned up item frame logs so even basic items now store usable item data instead of sometimes being empty.
- Expanded item search logging to cover more important cases, including pickup/drop, item frames, armor stands, and container add/take.
- Improved container tracking to reduce duplicate logs and store cleaner snapshots.
- Added better handling for shulker box snapshots when placed with items already inside.
- Updated database startup so the essential setup runs first, while larger migration tasks run after startup to reduce load during boot.
- Hardened the editor UI against injection by replacing fragile string-built HTML/JS with safer escaping and DOM-based rendering.
- Fixed async race conditions in log loading so stale requests no longer append into the wrong tab or corrupt loading state.
- Restored consistent tab behavior: switching tabs now cleanly resets and reloads with correct per-tab pagination state.
- Improved metadata rendering and item-detail display, including safer parsing of colored text/lore and lazy-loaded metadata panels.
- Cleaned up client pagination by using keyset cursors (lastTimestamp / lastId) instead of brittle page-based behavior.
- Tightened server-side request flow with better token handling, refresh support, gzip responses, and more up-to-date stats rendering.
- Fixed backend filtering edge cases, including safer config handling, better request parsing, and consistent timezone-aware date filtering.
- Simplified API usage toward safer, more reliable same-origin behavior and reduced frontend/backend desync issues.
- Removed dead code / stale state from earlier refactors, making the editor easier to maintain without changing intended features.

Please consider leaving a good review for the plugin.
Discord Support
----------, Mar 4, 2026

- Small hotfix for lookup when using an action and the include filters together some material entries didn't show up at the results but they existed without the include.
- Small updates here and there.

Please consider leaving a good review for the plugin.
Discord Support
----------, Feb 2, 2026

  • Added /po purge to remove old data (actions + orphan snapshots) and optimize automatically if there’s enough free disk space.

  • Removed startup auto-maintenance/optimization (unsafe on low disk space machines).

  • Added a one-command full database delete + recreate option.

  • Various code cleanup + optimizations.
New purge command (with prompts + confirmations):
Examples
  • Keep last 30 days (delete everything older): /po purge 30

  • View progress / results anytime: /po purge status

  • Stop purge: /po purge stop
⚠ Warning

  • /po purge 0 = deletes everything and recreates the database (use when disk space is low).

  • Purging alone won’t shrink the DB file; optimization does. Optimization will run automatically if you have enough disk space. Optimization requires free disk space ≈ DB size (e.g., 100GB DB → ~100GB free). If you don’t have that, use /po purge 0.
Please consider leaving a good review for the plugin.
Discord Support
----------, Jan 26, 2026

- Message and command action categories will now have a text search function.
- Action categories will have specific and dedicated filters for them that will switch on the fly as you change action categories
- General cleanup and error catching for the Web UI.
upload_2026-1-6_11-0-4.png

Please consider leaving a good review for the plugin.
Discord Support
----------, Jan 6, 2026

- Made it so that inspect mode is just for single blocks only.
- Added a few missing armorstand actions to be recorded by the plugin.

Please consider leaving a good review for the plugin.
Discord Support
----------, Jan 2, 2026

- Suggests user: / time: only if not already present
- Suggests time presets whenever the current arg starts with time: (works for arg #1 or #2)
- Suggests online player names after user:

Please consider leaving a good review for the plugin.
Discord Support
----------, Dec 29, 2025

- Database changes to ensure compatibility with older MYSQL servers while mainting modern MariaDB standards.

Please consider leaving a good review for the plugin.
Discord Support
----------, Dec 18, 2025

- Fix rare potential NPE in case plugin.yml is misconfigured.
- Fixed a command being registered twice by mistake.
- Better handling when tab complete is supposed to return nothing.
- Shutting down the plugin now waits for active DB workers to finish, then drains queued DB tasks directly so nothing gets skipped.
- Replaced a few database queues with more efficient ones for faster results.
- “System” actions are handled more consistently in logs.

Please consider leaving a good review for the plugin.
Discord Support
----------, Dec 15, 2025

- Made it so that admins can use both user: time: radius: and u: t: r:
- Improve lookup searches using the include and exclude material filters sometimes failing to filter results, webui was already good.

Please consider leaving a good review for the plugin.
Discord Support
----------, Dec 11, 2025

- The icon support for 1.21.10 wasn't properly handled in the previous update, fixed.

Please consider leaving a good review for the plugin.
Discord Support
----------, Dec 7, 2025

- Web editor will now include icons for the new items 1.21.10+

Please consider leaving a good review for the plugin.
Discord Support
----------, Dec 3, 2025

- Added a config option list where the following players won't show up in
PLAYER_COMMAND & PLAYER_MESSAGE actions in commands and in the site.

Add this to your config.
Code (YAML):
# Usernames on this list won't show up for the PLAYER_COMMAND & PLAYER_MESSAGE actions
ignore
:
  usernames
:
   - Owner
    - AdminAdmin
    - AFK_Account
Please consider leaving a good review for the plugin.
Discord Support
----------, Nov 20, 2025

- Made the lookup command much faster for large databases.
- Added quality of life navigation buttons for lookup so that you can skip entires 10x10 at a time.
- Added more indexes in the database for faster results and better performance.

Please consider leaving a good review for the plugin.
Discord Support
----------, Nov 11, 2025

Resource Information
Author:
----------
Total Downloads: 20
First Release: Nov 10, 2025
Last Update: Yesterday at 3:54 PM
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings