Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for __Muffin____

The advanced CoreProtect alternative – ultra-lean database and optimized high performance

Report UniversalProtect?

UniversalProtect Banner

UniversalProtect

Logging, inspection and rollback for Paper servers

Minecraft Paper Java API

UniversalProtect records what happens on your server and lets you inspect, revert and re-apply it. Blocks, containers, inventories, entities, chat and commands are logged asynchronously, so the main thread and TPS stay unaffected. It keeps the familiar CoreProtect workflow and adds more databases, a detailed rollback preview and entity revival.


At a Glance

Performance Fully asynchronous, dedicated database thread
Databases DuckDB (default), SQLite, MySQL, ClickHouse
Rollback Blocks, containers, inventories, entity kills and spawns
Safety Detailed preview, one-command undo
Compatibility Minecraft 26.3, Paper, Java 25

Features

Inspection

Click any block to see its full history. Use /up lookup for areas, players and time ranges.

  • Interactive inspector for blocks, containers, signs and item frames.
  • Block state changes such as grass to path, stripped logs and frame updates, stored as old and new state.
  • Structured chat output with click-to-teleport coordinates, hover details (time, UUID) and page controls.
  • Username changes are linked to the UUID, old names resolve to the current player.

Rollback and Restore

Revert griefing in seconds, and bring it all back if needed.

  • Rolls back blocks, container contents, player inventories, entity kills and entity spawns.
  • Killed mobs return with their data. Villagers keep profession, level and trades.
  • #preview shows scope, affected entries, block transitions, containers, entities and inventories before anything changes. Confirm with /up apply.
  • /up undo reverts the last rollback or restore.

Data and Storage

Choose the engine that fits your server and switch without downtime.

  • Four engines: DuckDB, SQLite, MySQL, ClickHouse.
  • /up migrate-db copies the data live in chunks, validates it and switches atomically.
  • Purge by time, radius, world, block type or entity kills, then compact with #optimize.

Control

Log exactly what you need, per world.

  • Blacklist for users, commands, blocks and entities, including rules such as minecraft:shears@#dispenser.
  • Per-world configuration: world_nether.yml overrides the global config.yml.
  • Environmental tracking for explosions, fire, decay, liquids and buckets under system users like #tnt, #creeper, #fire.

Integration

Built for developers and client mods.

  • API modelled on CoreProtect API v13 with a lookup builder and asynchronous pre-log events.
  • Networking API for client mods such as Watson.

In-Game Inspection Overview


Quick Start

  1. Install the jar and start the server once.
  2. Run /up inspect and click a block.
  3. Run /up lookup u:Steve t:1d a:+block r:20 to search.
  4. Run /up rollback u:Steve t:1h r:20 #preview, then /up apply.
/up lookup u:Steve t:1d a:+block r:20      Blocks Steve placed in the last day
/up lookup a:command f:/home t:1d           Only /home commands
/up rollback u:Griefer t:2h r:30 #preview   Preview before reverting
/up purge t:30d a:kill e:villager           Remove old villager kills

Commands

Everyone

Command Description
/up inspect (i) Toggle inspector mode
/up lookup (l) Query the log with parameters
/up near Lookup within 5 blocks
/up page Show another page of the last lookup
/up status / /up stats Status and database statistics

Administrators

Command Description
/up rollback (rb) Revert changes matching the parameters
/up restore (rs) Re-apply rolled back changes
/up apply / /up cancel Confirm or discard a #preview
/up undo Undo the previous rollback or restore
/up purge Delete historical entries
/up migrate-db Switch the database engine (console only)
/up alerts Toggle ore alerts
/up consumer Pause or resume logging
/up reload Reload configuration, world files and blacklist

Search Parameters

Each parameter also exists in a long form: user:, time:, radius:, action:, include:, exclude:, filter:.

Parameter Description Example
u: Player or system user u:Notch, u:#tnt
t: Time range t:10m, t:2h, t:1w2d
r: Radius or world r:10, r:#world_nether, r:#global
a: Action type a:+block, a:container, a:kill, a:chat
i: / e: Include or exclude blocks, items, entities i:stone, e:grass_block
f: Prefix filter for chat, commands, signs f:/home, f:-hello
Tag Description
#preview Simulate a rollback or restore
#count Only the number of matches
#summary Group results by player and action
#verbose / #silent More detailed or no output
#optimize Compact the database after a purge

Rollback Preview Example


What Is Logged

Category Details
Blocks Placing, breaking, multi-block structures, state changes, buckets, liquids
Environment Explosions, fire, leaf decay
Containers Chests, barrels, shulker boxes, furnaces, hoppers, ender chests
Inventories and items Crafting, drop, pickup, throw, shoot, destroy, creative, villager trades
Entities Kills and spawns, including spawn eggs
Players Sessions, deaths, username changes, chat, commands, signs

Pagination and Lookup Output


Requirements and Permissions

  • Paper for Minecraft 26.3 and Java 25
  • Internet access on the first start so the database drivers can be downloaded
Permission Description
universalprotect.use Lookup, inspector and status
universalprotect.admin Rollback, restore, purge, reload, alerts and migration
universalprotect.networking Lets client mods receive results

UniversalProtect is an independent project and is not affiliated with or endorsed by the CoreProtect authors.

Information

Category
Admin Tools
Published
November 8, 2026
License
1Downloads
1Stars
Supports Folia

Pinned Versions

Members

1