βοΈ config.yml Reference
Your config.yml is the control panel for TrialChamberPro. It's where you decide how chambers behave, when they reset, and how much protection you want. Let's break it down section by section.
πΎ Database Settings
database:
type: SQLITE # SQLITE or MYSQL
host: localhost
port: 3306
database: trialchamberpro
username: root
password: ""
pool-size: 10type
typeOptions: SQLITE or MYSQL Default: SQLITE
SQLite is perfect for single serversβno setup required, everything in one file. MySQL is for networks where multiple servers need to share chamber data.
Stick with SQLite unless you're running a network with BungeeCord/Velocity and need multiple servers to share chambers.
MySQL Options (only used when type: MYSQL)
type: MYSQL)host
Database server address
port
Usually 3306
database
Database name
username
Database user
password
User's password
pool-size
Connection pool size (10 is fine for most setups)
π Global Chamber Settings
default-reset-interval
default-reset-intervalDefault: 172800 (48 hours) Unit: Seconds
How long before chambers automatically reset. This is the default for ALL chambers unless overridden per-chamber.
Values:
0or negative = Disabled (no automatic resets)Daily:
86400Twice daily:
43200Weekly:
604800
reset-warning-times
reset-warning-timesDefault: [300, 60, 30] Unit: Seconds before reset
Players inside a chamber get warnings at these intervals. Default sends warnings at 5 minutes, 1 minute, and 30 seconds before reset.
Remove entries to reduce spam:
teleport-players-on-reset
teleport-players-on-resetDefault: true
Kick players out when the chamber resets? If false, players stay inside (probably not what you wantβspawners respawn, blocks reset, they might suffocate).
teleport-location
teleport-locationOptions: EXIT_POINT, OUTSIDE_BOUNDS, WORLD_SPAWN Default: EXIT_POINT
Where players go when kicked out:
EXIT_POINT: Your
/tcp setexitlocation (recommended)OUTSIDE_BOUNDS: Just outside the chamber boundary
WORLD_SPAWN: Server spawn point
async-block-placement
async-block-placementDefault: true
Place blocks asynchronously during resets? Keeps the server smooth during big chamber resets. Only turn this off if you're having issues.
blocks-per-tick
blocks-per-tickDefault: 500
How many blocks to place per tick during resets. Higher = faster resets but more lag. Lower = slower but smoother.
Adjust based on your server hardware:
Beefy dedicated server:
1000+Shared hosting:
250-500
auto-snapshot-on-register
auto-snapshot-on-registerDefault: true
Automatically create a snapshot when registering a new chamber? Super convenient, but uses disk space. You can disable this if you want manual control.
spawner-cooldown-minutes
spawner-cooldown-minutesDefault: -1 (vanilla behavior) Unit: Minutes
Control how long trial spawners stay in cooldown after being completed. This affects when spawners can be reactivated after players defeat all mobs.
Values:
-1= Use vanilla default (30 minutes / 36,000 ticks)0= No cooldown (spawners reactivate immediately when players approach)1-60= Custom cooldown in minutes
Per-Chamber Override: You can set different cooldowns for individual chambers via the GUI (Chamber Settings β Spawner Cooldown) or database. Per-chamber settings override this global value.
wild-spawner-cooldown-minutes
wild-spawner-cooldown-minutesDefault: -1 (vanilla behavior) Unit: Minutes
Control cooldown for trial spawners outside of registered chambers (wild/unregistered Trial Chambers). This is a server-wide setting that affects all spawners not managed by TrialChamberPro.
Values:
-1= Use vanilla default (30 minutes)0= No cooldown (spawners reactivate immediately)1-60= Custom cooldown in minutes
Bonus Feature: When this setting is enabled (not -1), spawner wave tracking (boss bars) will also work in wild Trial Chambers, giving players progress feedback even in unregistered chambers!
π Vault Settings
per-player-loot
per-player-lootDefault: true
The big one! Each player gets their own loot and cooldowns. If false, vaults work like vanilla (one-time use, everyone shares).
Setting this to false removes per-player cooldowns. Vaults become first-come-first-served. Usually not what you want for managed chambers!
normal-cooldown-hours / ominous-cooldown-hours
normal-cooldown-hours / ominous-cooldown-hoursDefault: -1 (permanent until reset)
How long before a player can loot the same vault again. Separate cooldowns for normal and ominous vaults.
Values:
-1= Permanent lock until chamber reset (vanilla behavior, recommended)0or positive = Time-based cooldown in hours
Ideas:
Vanilla behavior:
-1(permanent until chamber reset)Short cooldowns:
1or6hours (for active servers)Long cooldowns:
72or168hours (weekly)Match chamber resets:
48hours (synchronized gameplay)
show-cooldown-particles
show-cooldown-particlesDefault: true
Show particles above vaults to indicate status? Super helpful for players to see what's available.
particles
particlesVisual effects shown above vaults:
normal-available: Green sparkles = ready to open
normal-cooldown: Gray smoke = on cooldown
ominous-available: Soul flames = ominous vault ready
ominous-cooldown: Soul particles = ominous on cooldown
See Spigot's Particle enum for all options.
play-sound-on-open / sounds
play-sound-on-open / soundsDefault: true
Play sounds when vaults open or when someone tries to open during cooldown.
Change sounds if you want custom feedback. See Spigot's Sound enum.
π‘οΈ Protection Settings
enabled
enabledDefault: true
Master toggle for chamber protection. Turn this off to rely entirely on WorldGuard or other plugins.
prevent-block-break / prevent-block-place
prevent-block-break / prevent-block-placeDefault: true
Stop players from breaking or placing blocks inside chambers. Prevents griefing and preserves your carefully-designed structures.
prevent-container-access
prevent-container-accessDefault: false
Block access to chests, barrels, hoppers, etc. Usually false because you WANT players opening decorated pots and chests for loot.
Set to true if you have admin chests inside chambers that shouldn't be touched.
allow-pvp
allow-pvpDefault: true
Allow PvP inside chambers? Great for competitive chambers where teams fight over loot. Set to false for peaceful farming.
prevent-mob-griefing
prevent-mob-griefingDefault: true
Stop mobs from breaking blocks (creeper explosions, endermen picking up blocks, etc.). Highly recommended unless you want chaos.
worldguard-integration
worldguard-integrationDefault: true
If WorldGuard is installed, respect its regions? Usually true for compatibility. TrialChamberPro's protection layers on top of WorldGuard's.
π Trial Key Settings
fix-paper-bugs
fix-paper-bugsDefault: true
Paper has some bugs with trial keys. This applies fixes. Keep it true unless it causes issues.
prevent-duplication
prevent-duplicationDefault: true
Basic dupe prevention for trial keys. For industrial-grade protection, use DupeTrace.
max-stack-size
max-stack-sizeDefault: 16
How high trial keys can stack. Vanilla is 1, but that's annoying. 16 is a nice balance.
validate-key-type
validate-key-typeDefault: true
Enforce that normal keys only open normal vaults, ominous keys only open ominous vaults. Recommended to prevent exploits.
π Reset Settings
clear-ground-items
clear-ground-itemsDefault: true
Delete dropped items on reset? Prevents loot/trash buildup. Usually true for cleanliness.
remove-spawner-mobs
remove-spawner-mobsDefault: true
Kill mobs spawned by trial spawners during reset. Keeps chambers clean.
remove-non-chamber-mobs
remove-non-chamber-mobsDefault: false
Kill ALL mobs in the chamber, even those not from spawners (like player pets). Usually false to avoid accidents.
reset-trial-spawners
reset-trial-spawnersDefault: true
CRITICAL for trial key drops! Reset trial spawner state when the chamber resets. This clears the spawner's internal tracking of which players have completed it.
Why this matters: Trial spawners store which players have "completed" them. Without clearing this data, spawners won't spawn mobs or drop keys for returning players. This setting ensures spawners work like vanilla after each reset.
Vanilla behavior when enabled:
Spawners forget which players completed them
Players can reactivate spawners after chamber reset
Spawners drop trial keys (50% chance per player) when all mobs are defeated
Set to false if you want spawners to permanently remember who completed them (not recommended).
reset-ominous-spawners
reset-ominous-spawnersDefault: true
Convert ominous trial spawners back to normal during reset. Set to false if you want ominous spawners to stay ominous.
clear-trial-omen-effect
clear-trial-omen-effectDefault: true
Remove Trial Omen effects from players during reset. Prevents unintended difficulty spikes.
reset-vault-cooldowns
reset-vault-cooldownsDefault: true
Reset all player vault cooldowns when the chamber resets. This is the vanilla behaviorβvaults reset when the chamber resets.
Set to false if you want personal cooldowns independent of chamber state (players must wait their individual cooldown time even after chamber resets).
β‘ Performance Settings
cache-chamber-lookups
cache-chamber-lookupsDefault: true
Cache which chamber a block belongs to. Huge performance boost. Only disable for debugging.
cache-duration-seconds
cache-duration-secondsDefault: 300 (5 minutes)
How long to cache lookups. Higher = better performance, but changes take longer to propagate.
async-database-operations
async-database-operationsDefault: true
Run database queries asynchronously. Critical for performanceβdon't turn this off.
time-tracking-interval
time-tracking-intervalDefault: 300 (5 minutes)
How often to save "time spent in chamber" stats to the database. More frequent = more accurate stats but more database writes.
use-folialib
use-folialibDefault: true
Enable Folia compatibility. If you're on Folia, this MUST be true. On Paper/Purpur, it doesn't hurt to leave it true.
π Statistics Settings
enabled
enabledDefault: true
Track player statistics (vaults opened, chambers completed, time spent)? Required for leaderboards.
track-time-spent
track-time-spentDefault: true
Track how long players spend inside chambers. Disable if you don't care about time-based stats.
leaderboard-update-interval
leaderboard-update-intervalDefault: 3600 (1 hour)
How often to recalculate leaderboards. Lower = more up-to-date but more database load.
top-players-count
top-players-countDefault: 10
How many players to show on leaderboards. Increase to 25 or 50 if you want bigger boards.
π Loot Settings
apply-luck-effect
apply-luck-effectDefault: false
Enable LUCK to influence loot generation. When enabled, players receive bonus loot rolls based on their LUCK sources.
How it works:
Checks both potion effects AND item attributes:
Potion Effect: Temporary LUCK from potions, beacons, suspicious stew
Attribute: Permanent LUCK from armor/items with luck modifiers
Each point of LUCK adds +1 bonus roll to each loot pool
Applies to weighted items only (guaranteed items are always given)
Works with both normal and ominous vaults
Example: If a loot table has min-rolls: 3 and max-rolls: 5:
No LUCK: Player gets 3-5 items
LUCK I potion: Player gets 4-6 items (+1 roll)
LUCK II potion: Player gets 5-7 items (+2 rolls)
LUCK I potion + 2 luck from items: Player gets 6-8 items (+3 rolls)
Sources of LUCK:
Potion of Luck (temporary)
Beacons with Luck effect
Suspicious Stew made with dandelions
Custom items/armor with
Attribute.GENERIC_LUCKmodifiers
Balance Warning: LUCK can significantly increase loot output. Test with your loot tables to ensure it doesn't break your economy.
π― Spawner Wave System
enabled
enabledDefault: true
Enable wave progress tracking for trial spawners. Shows boss bar and sends completion messages.
show-boss-bar
show-boss-barDefault: true
Display a boss bar showing wave progress (mobs killed / total mobs) to nearby players. Ominous spawners show purple, normal spawners show yellow.
detection-radius
detection-radiusDefault: 20 blocks
How far from a trial spawner players can be and still see the boss bar / be considered participants.
award-stats
award-statsDefault: true
Track mob kills from waves in player statistics. Used for leaderboards.
completion-message
completion-messageDefault: true
Send a chat message when a wave is complete showing kill count and duration.
π Spectator Mode
enabled
enabledDefault: true
Enable spectator mode. When players die in a chamber, they're offered the chance to spectate teammates.
offer-timeout
offer-timeoutDefault: 30 seconds
How long the spectate offer lasts before expiring. Players type "spectate" or "no" in chat to respond.
restrict-to-chamber
restrict-to-chamberDefault: true
Keep spectators within chamber bounds. They can fly around but not leave the area.
boundary-buffer
boundary-bufferDefault: 10 blocks
Extra space outside the chamber boundary where spectators can still fly. Allows viewing from slightly outside.
allow-solo-spectate
allow-solo-spectateDefault: false
Allow spectating empty chambers (when no other players are inside). Usually falseβspectating is for watching teammates.
π Debug Mode
verbose-logging
verbose-loggingDefault: false
Enable detailed logging for debugging. Logs include:
Vault type detection (normal vs ominous)
Key validation checks
LUCK effect calculations
Block state information
Vault saving and updates
Loot roll calculations
Spawner wave tracking (mob spawns, deaths, wave completion)
Spawner cooldown configuration (v1.2.15+): Shows config values, oldβnew cooldown for each spawner, and verification that changes were applied
Version 1.1.9+: When enabled, displays a prominent startup banner on server start:
This helps verify that debug mode is actually loaded from your config file.
Debug mode generates TONS of console output. Don't leave it on in production!
π― Quick Configs for Common Setups
Casual Survival Server
Competitive/PvP Server
High-Activity Server
Roleplay/Lore Server
π Applying Changes
After editing config.yml:
Most settings apply immediately. Chamber-specific settings (like default-reset-interval) only affect new resets, not chambers mid-cycle.
.Database changes require a full restart, not just a reload..
π‘ Pro Tips
Start conservative: Use longer cooldowns and reset intervals initially. It's easier to shorten them later than deal with player complaints about too-frequent changes.
Backup before tuning: Changing database settings wrong can corrupt data. Always backup plugins/TrialChamberPro/ before major config changes.
β Common Questions
"Can different chambers have different reset intervals?" Yes! The default-reset-interval is just the default. You can override per-chamber using database edits or (in future versions) per-chamber configs.
"What happens if I change cooldowns while players have active cooldowns?" Existing cooldowns aren't retroactively changed. New cooldowns apply to future vault interactions.
"Can I disable statistics for performance?" Yes, set statistics.enabled: false. You'll lose leaderboards, but save a tiny bit of database overhead.
"Should I use MySQL or SQLite?" SQLite unless you're running multiple servers that need shared data. SQLite is faster for single-server setups.
Need help with something specific? Check out the other configuration pages!
π§± Generation Settings
These settings control constraints when registering or generating chamber regions.
Notes:
The plugin enforces a hard minimum region size of 31x15x31.
The
blocksgenerator places the region in front of the player based on their facing.If your requested amount is below minimum, it will be rounded up to that minimum.
If your requested amount is slightly above minimum or not factorizable cleanly, the plugin rounds up to form a solid box within the rounding allowance.
Last updated