Paradigm Protect
Audit. Inspect. Trace. Roll back. Built for modded Minecraft. ♡
A server-side investigation and rollback mod designed for real modded servers.
✦ What is Paradigm Protect?
Paradigm Protect records important player and world activity so server administrators can investigate griefing, stolen items, destroyed machines and other unwanted changes.
Someone broke a machine, removed items from a container or blew up part of a base? Paradigm Protect helps you find out who did it, what changed, where it happened and when.
You can inspect locations directly in the world, search recorded actions using detailed filters, preview proposed changes and safely roll them back.
The project is built with modded Minecraft servers first. Modded blocks, items, inventories, registry IDs, block states and BlockEntities are treated as first-class content instead of an afterthought.
Paradigm Protect runs on the server only. Players do not need to install it.
✦ In-world inspection
Enable inspect mode and interact with a location to view its recent audit history.
When holding a placeable block, Paradigm Protect resolves the position where that block would normally be placed. This makes it possible to inspect the history of an empty space without temporarily modifying the world.
Inspect mode is strictly read-only.
It does not:
- Place or remove blocks
- Consume held items
- Damage tools
- Create item drops
- Open or modify containers
- Activate buttons, levers, doors or machines
- Create normal placement or breaking audit records
Useful command:
/protect inspect
✦ Powerful lookups
Search recorded activity using detailed and composable filters.
Available lookup options include:
- Player or actor
- Multiple players
- Action type or category
- Block, item and entity registry IDs
- Time and time ranges
- Radius or exact position
- Selected region
- Dimension
- Cause and immediate source
- Transaction ID
- Operation ID
- Included and excluded values
Results support pagination, action details, grouped transaction details and contextual command suggestions.
Useful commands:
- /protect lookup
- /protect near
- /protect page
- /protect action
- /protect transaction
✦ Modded-first action logging
Paradigm Protect records normalized audit actions containing useful investigation data such as:
- Responsible player or actor
- Root actor and immediate source
- Action cause
- Timestamp
- Dimension and position
- Object registry ID
- Before and after block state
- BlockEntity data where available
- Related transaction or operation
The current beta can record core activity including:
- Block placement and breaking
- Supported block and world-state changes
- Explosions and indirect causes
- Container insertions, removals and transfers
- Player inventory activity
- Item drops and pickups
- Supported entity actions
- Grouped multi-action transactions
Paradigm Protect uses normal Minecraft registry identifiers.
Examples:
- minecraft:diamond_block
- create:shaft
- mekanism:steel_casing
- tfc:wood/chest/oak
This allows generic support for vanilla and modded content without requiring a hardcoded list of every possible block or item.
✦ Container and inventory auditing
Paradigm Protect tracks server-authoritative inventory changes and groups related item movement into transactions.
It can record information such as:
- Items inserted into containers
- Items removed from containers
- Transfers between containers and player inventories
- Item registry ID
- Stack count
- Item data and components
- Source and destination inventory
- Responsible player
- Related transaction ID
Transaction details provide a clearer view of what happened than a collection of unrelated slot changes.
Paradigm Protect handles uncertain inventory states conservatively. Ambiguous or unsupported modded inventories are refused rather than risking item duplication or data loss.
✦ Safe rollback and restore
Paradigm Protect does not blindly overwrite the current world.
Before applying a rollback or restore, every affected action is evaluated against the current server state.
Possible results include:
- Safe — the change can be applied normally
- Already applied — the target is already in the expected state
- Conflict — a newer or unrelated change currently occupies the target
- Unsupported — the action cannot be restored safely
- Failed — a specific runtime problem occurred
Conflicting changes are not overwritten by default.
Large operations are processed gradually across server ticks instead of attempting to change thousands of blocks in one tick.
Paradigm Protect supports:
- Rollback planning
- Restore
- Persisted undo
- Operation previews
- Conflict detection
- Execution-time conflict rechecks
- Operation progress
- Cancellation
- Persisted per-action outcomes
- Partial operation reporting
Only actions that were actually applied are used when restoring or undoing a partial operation.
Useful commands include:
- /protect rollback
- /protect restore
- /protect undo
- /protect confirm
- /protect cancel
- /protect operation list
- /protect report
✦ Vanilla-client ghost previews
Paradigm Protect can temporarily display proposed rollback or restore block states only to the administrator performing the preview.
The real server world is never changed by the preview.
Other players do not see it, and no client-side Paradigm Protect installation is required.
Preview data is automatically cleared when:
- The preview is cancelled
- The operation is confirmed
- A new preview replaces it
- The preview expires
- The administrator disconnects
- The administrator changes dimension
- The server shuts down
✦ Operation history and reports
Rollback, restore and recovery operations are persisted in the database.
Paradigm Protect records the result of every individual action inside an operation.
This allows administrators to inspect:
- Applied changes
- Conflicts
- Unsupported actions
- Skipped changes
- Failures
- Cancelled actions
Operation history remains available after a server restart.
Useful commands include:
- /protect operation list
- /protect report operation
- /protect report conflicts
- /protect report skipped
- /protect report failures
✦ Regions and quick workflows
Paradigm Protect includes its own lightweight selection system.
Useful commands:
- /protect select pos1
- /protect select pos2
- /protect select status
- /protect select clear
Selected regions can be used as lookup and rollback scopes without requiring WorldEdit.
Quick rollback and quick restore modes allow administrators to interact with a location, review a relevant action and launch the normal preview and confirmation workflow.
The first interaction never immediately modifies the world.
✦ Built for modded blocks and BlockEntities
Paradigm Protect preserves complete block-state properties such as orientation, shape, waterlogging and other registered values.
It also attempts generic BlockEntity snapshot restoration using normal Minecraft serialization.
This can support many vanilla and modded blocks without requiring a dedicated integration.
However, some complex mods store additional information outside of the individual BlockEntity.
Examples include:
- Machine networks
- Multiblock structures
- External storage systems
- Cached capability data
- Mod-specific persistent state
Paradigm Protect handles these cases conservatively and includes compatibility diagnostics and adapter APIs for blocks that require custom validation or restoration logic.
Useful commands:
- /protect compatibility
- /protect compatibility block
✦ Storage and reliability
Audit data is stored in an indexed SQLite database using an asynchronous batched writer.
Paradigm Protect includes:
- Prepared and indexed database queries
- Automatic schema migrations
- Writer health monitoring
- Queue and persistence metrics
- Pause, resume and flush controls
- Persistent rollback operations
- Per-action operation outcomes
- Append-only crash spool
- Record UUID de-duplication
- Crash recovery replay
The crash spool protects accepted audit records that have not yet reached SQLite.
After an unexpected process restart, pending records can be replayed without creating duplicate database actions.
Useful commands:
- /protect status
- /protect writer status
- /protect writer pause
- /protect writer resume
- /protect writer flush
✦ Alerts and diagnostics
Paradigm Protect supports configurable real-time audit alerts.
Alert rules can react to activity such as:
- Breaking important blocks
- Destroying modded machines
- Large item withdrawals
- Explosions affecting many blocks
- Selected action categories
- Registry IDs or complete mod namespaces
Alert messages can link administrators directly to the relevant action or transaction details.
Compatibility diagnostics also help identify blocks that restore safely, conflict with current state or require an explicit compatibility adapter.
✦ Server-side only
Paradigm Protect is installed on the server.
Players do not need to install it separately.
Core features remain server-authoritative:
- Logging
- Inspection
- Lookups
- Permissions
- Rollback
- Restore
- Preview
- Inventory validation
- Database storage
This makes it suitable for public modded servers without requiring players to modify their client installation.
✦ Installation
- Download the JAR matching your Minecraft version and loader.
- Place the JAR inside the server's mods folder.
- Start or restart the server.
- Review the generated Paradigm Protect configuration.
- Run /protect status to verify the database and writer state.
Players may connect using their normal modpack client.
✦ Beta notice
Paradigm Protect is under active development.
The current beta already includes the main audit, investigation, transaction and safe-operation foundations, but unusual modded inventories and highly complex BlockEntities may still require compatibility improvements.
Create a world backup before testing large rollback operations on an important production server.
Detailed reports containing the Minecraft version, loader, modpack, performed action and relevant server logs are very appreciated ♡
Someone touched your machines? Time to find out who did the silly thing qwq
