Skip to content

Configuration

Arkonix Game Studio edited this page Nov 12, 2026 · 2 revisions

Configuration

All options of config.yml.

All settings live in plugins/UniversalProtect/config.yml. Apply changes with /up reload.

What is logged (log.*)

Key Default Description
log.block Yes Placing and breaking blocks, explosions, fire, buckets
log.block-changes Yes State changes such as grass → path. Logged as -block (old) and +block (new)
log.container Yes Chests, barrels, furnaces, hoppers and similar
log.items Yes Dropping, throwing, shooting, destroying, creative items, broken tools
log.pickup No Picking up items (creates a lot of entries)
log.interact Yes Doors, levers, buttons, using chests
log.signs Yes Sign text
log.frames Yes Item frames and paintings
log.chat Yes Chat messages
log.commands Yes Commands
log.kills Yes Mob and player kills
log.deaths Yes Player deaths
log.sessions Yes Logins and logouts
log.inventory Yes Crafting, dropping and picking up in player inventories
log.spawns Yes Spawn eggs, armor stands, boats
log.usernames Yes Username changes
log.trades Yes Villager trades (sell / buy)
log.ender Yes Ender chest contents

Other options

Key Default Description
alerts.blocks diamond ores, ancient debris Blocks that trigger /up alerts
alerts.cooldown-seconds 10 Minimum time between identical alerts
auto-purge-days 0 Automatically delete entries older than this many days (0 = off)
lookup.default-lines 15 Lines per lookup page
lookup.max-lines 100 Upper limit for lookup 1:N
preview.max-blocks 20000 Maximum size of a preview
preview.timeout-seconds 120 A preview expires after this time
rollback.time-budget-ms 20 Maximum time per tick that a rollback may use
networking.enabled true Networking API for client mods

Database section

database:
  type: duckdb        # duckdb | sqlite | mysql | clickhouse

All database options are described in Databases.

Tip: You can override every log.* option for single worlds, see Per-World Configuration.

More options

Key Default Description
log.command-blocks Yes Track /fill, /setblock and /clone for #command rollbacks. Can be set per world
chat.width-px 300 Assumed chat width in pixels. Keeps every reply within 20 chat lines. Lower it if wrapped lines still exceed your chat window
retention.aggregate-after-days 0 Run /up compact automatically for entries older than this many days (0 = off, at least 7 is used). See Purge
alerts.watch-blocks empty Blocks that always alert staff when broken. This is the key name in the generated config.yml (listed as alerts.blocks above). Ore detection is now handled by detection.xray

Detection (detection.*)

Anomaly detection warns staff with universalprotect.admin (toggle with /up alerts), writes to the console and can post to Discord. Changes made by commands are ignored. See Investigation and Alerts.

Key Default Description
detection.enabled true Master switch
detection.cooldown-seconds 60 Minimum time between two alerts of the same rule for the same player, unless the count has at least doubled
detection.discord-webhook empty HTTPS URL of a Discord webhook. Alerts are posted there too

X-ray (detection.xray.*)

Key Default Description
enabled true Turn X-ray detection on or off
min-veins 6 Alert when at least this many separate veins of rare ore were found
window-seconds 1200 Time window for counting
max-blocks-per-vein 40 Ignore players who mine more blocks than this per vein on average. Normal mining is not flagged
vein-radius 6 Ore blocks closer together than this count as one vein
cooldown-seconds 600 Minimum time between X-ray alerts for the same player, unless the vein count has doubled
explosive-grace-seconds 600 Ore found this soon after the player placed TNT, a bed or a respawn anchor is ignored for the blocks in explosive-exempt
match diamond_ore, emerald_ore, ancient_debris Ores that count as rare
explosive-exempt ancient_debris Ores that are ignored during the grace period

Rules

Each rule has enabled, count, window-seconds and match (a list of block or item names). An empty match means everything.

Rule Default Alerts when a player ...
detection.spawner-breaking on, 3 in 600 s breaks spawners
detection.tnt-placing off, 40 in 30 s places TNT
detection.lava-placing off, 15 in 30 s places lava
detection.mass-breaking off, 3000 in 10 s breaks very many blocks (match empty = all blocks)
detection.container-looting off, 256 in 60 s takes valuable items from containers (diamond, netherite, elytra, shulker box, totem, enchanted golden apple, beacon). Item amounts are counted

Related pages: Per World Configuration · Databases · Blacklist

Clone this wiki locally