Repository navigation
Migrating from CoreProtect
Arkonix Game Studio edited this page Nov 12, 2026
·
2 revisions
Differences and equivalent commands.
UniversalProtect is an independent replacement for CoreProtect. Most commands and parameters work the same way.
- Lookup, rollback, restore, purge and the inspector work in the same style.
- Actions with
+and-(+block,-container,+inventory, ...). - An API modelled on CoreProtect API v13 is provided. Because it lives in its own package, plugins that use CoreProtect need small changes, see API.
- The networking API (
coreprotect:handshake,coreprotect:data) works with Watson and similar mods, see Networking. - The command is
/upinstead of/co.
| Area | CoreProtect | UniversalProtect |
|---|---|---|
| Databases | SQLite, MySQL | DuckDB, SQLite, MySQL, ClickHouse |
| Switching databases | Manual | Live with /up migrate-db
|
| Preview | #preview |
#preview with details on blocks, containers, entities, inventories |
| Reviving mobs | No | Yes, with profession, level and trades |
| Long parameter names | No |
user:, time:, radius:, action:, include:, exclude:
|
| Text filter | No |
f: / filter:
|
| Pages | /co page |
Also /up lookup 1:10
|
| Per-world config | No | <world>.yml |
| Blacklist | blacklist.txt |
Plus id@user rules |
| Purge | Time, radius | Plus block or entity targets and #optimize
|
| CoreProtect | UniversalProtect |
|---|---|
/co inspect |
/up inspect |
/co lookup u:X t:1d |
/up lookup u:X t:1d |
/co rollback u:X t:1h r:20 |
/up rollback u:X t:1h r:20 |
/co restore ... |
/up restore ... |
/co purge t:30d |
/up purge t:30d |
/co reload |
/up reload |
The CoreProtect database cannot be imported directly because the schema is different. Start with a fresh UniversalProtect database. If you still need old entries, keep the old CoreProtect database file as a backup.
Warning: Do not run both logging plugins with rollbacks at the same time. They would change the same blocks.
UniversalProtect can import an existing CoreProtect database. Run it in the console (universalprotect.admin):
/up import-coreprotect sqlite Uses plugins/CoreProtect/database.db
/up import-coreprotect sqlite <file> A CoreProtect SQLite file
/up import-coreprotect mysql <host[:port]> <database> <user> [password]
Options:
| Option | Meaning |
|---|---|
--prefix=co_ |
Table prefix of the CoreProtect tables (letters, digits and _) |
--items |
Also import item and inventory history. Skipped by default |
--force |
Import again even if imported data already exists. This creates duplicates |
- Imports blocks, containers, signs, chat, commands and sessions.
- The CoreProtect database is opened read-only and stays untouched.
- The import runs in the background. Progress appears in the console.
- Only one import can run at a time, and not during a database migration.
- Imported entries work with lookup, rollback and restore like any other entry.
| Area | UniversalProtect |
|---|---|
| Command rollback |
/fill, /setblock and /clone with #command
|
| Investigation |
/up investigate and /up timeline, see Investigation and Alerts
|
| Alerts | X-ray and anomaly detection with optional Discord webhook |
| Staff audit | /up audit |
| Crash recovery | Interrupted rollbacks resume after a restart |
| Compaction |
/up compact, see Purge
|
Related pages: Commands · API · Networking
UniversalProtect · Minecraft 26.3 · Paper · Java 25 · API v13
Getting started
Using the plugin
- Commands
- Inspector
- Parameters and Tags
- Actions
- Lookup Examples
- Rollback and Restore
- Investigation and Alerts
- Purge
Administration
Developers
Help