Server configuration
plugins/Bestiary/config.yml controls engine-wide behaviour. Mob, skill, drop-table and spawner
definitions remain in their own directories. Apply edits with /bestiary reload.
Execution limits
limits:
max-depth: 32
max-mechanics-per-execution: 4000
max-targets: 64
tick-budget-ms: 5.0
These four guards cover nested skill calls, total mechanic work, target fan-out and synchronous wall clock. See Performance and the guards before changing them. Exceeding a hard guard aborts that execution and names the skill and node; exceeding the per-tick budget suspends the tree until the next tick.
Storage
storage:
type: sqlite
file: bestiary.db
host: localhost
port: 3306
database: bestiary
user: root
password: ""
storage.typesqlite | mysqldefaultsqliteUse SQLite for one server. Use MySQL when several servers need shared persistent state.
storage.filefile namedefaultbestiary.dbSQLite file inside the Bestiary data folder.
storage.host / port / database / user / passwordMySQL connectionUsed only by the MySQL backend. Keep credentials out of screenshots and source control.
Back up the SQLite file or MySQL database with the rest of the server. Test a backend change on a
copy before moving a live server; changing storage.type does not itself migrate data.
Structure anchors
anchors.typesentity type → mob idMaps safe marker entity types to a Bestiary mob when a generator cannot write a scoreboard tag.
anchors.tag-prefixstringdefaultbestiary:Prefix used to read direct mob identity from a marker scoreboard tag.
anchors.respawn-cooldowndurationdefault30mDelay before an anchor may restore a boss removed by an intended death.
anchors.activation-rangeblocksdefault64Player proximity required to materialise an anchored mob.
anchors.scan-period-ticksticksdefault20Anchor proximity scan cadence. Values below 20 are raised to 20.
Prefer direct tags such as bestiary:aether/valkyrie_champion when the generator can write them.
See Spawning for anchor identity and lifecycle.
Performance
performance.particles-per-player-per-tickintegerdefault400Per-viewer particle delivery ceiling.
performance.particle-view-distanceblocksdefault48Players beyond this distance are not sent Bestiary particles.
performance.spawner-scan-period-ticksticksdefault40Placed-spawner scan cadence. Values below 20 are raised to 20.
performance.random-spawn-budget-per-worldintegerdefault40World-level ceiling for random-spawn rule work.
Hooks
hooks:
suppress-mcmmo-xp: true
suppress-jobs-xp: true
target-citizens-npcs: false
High-health custom mobs can distort external XP economies, so mcMMO and Jobs rewards are suppressed by default. Citizens NPCs are excluded from targeting unless explicitly enabled. These settings do nothing when the corresponding plugin is absent.
Built-in content and debug
builtin-contentbooleandefaulttrueWrite the example mob, skill and drop table on first run. Disable it when the server should use only its own content.
debugbooleandefaultfalseEnable broad diagnostic logging. Prefer
/bestiary castor/bestiary debugfor focused skill traces during normal operation.
Applying changes
/bestiary reload reapplies limits, messages, definitions, anchors and spawners, then rebinds live
mobs. Changing storage.type or its connection fields requires a full server restart: the storage
implementation is opened during plugin enable and is not replaced on reload. The setting does not
migrate data between SQLite and MySQL, so back up and migrate that data separately.