config.yml 参考
DominionProtect 主要配置键、默认值与调整建议。
基础与数据库
language: zh_cn
debug: false
database:
host: localhost
port: 3306
database: dominion_protect
username: dominion_protect
password: ""
poolSize: 10
optimizeStorageOnStartup: true
storageOptimizationDelaySeconds: 60
storageMigrationBatchDelayMs: 25
payloadCompressionThresholdBytes: 512
compactRecordIds: true
compactIdMinimumLifetimeYears: 10
dropUnusedActionIndex: false
dropUnusedDestinationIndex: false
indexObservationMinDays: 7
数据库用户需要建表、临时表、删表、插入、查询、更新、删除和 ALTER 权限。生产环境不要使用 root。
记录、查询与回滚
recording:
flushIntervalSeconds: 5
batchSize: 1000
retryLimit: 3
disabledActions:
- block-from-to
- block-spread
enabledActions: []
query:
inspectDefaultTime: 24h
pageSize: 10
rollback:
maxRecords: 50000
batchSize: 200
batchIntervalTicks: 2
confirmTimeoutSeconds: 30
previewEnabled: true
previewTimeoutSeconds: 60
previewMaxBlocks: 10000
enabledActions 非空时只记录白名单内动作;disabledActions 会优先于白名单。预览只影响客户端显示,不会把真实方块提前写入世界。
订阅方案
subscription:
vaultUnavailableStrategy: disable
defaultPlanId: ""
plans:
- id: basic
name: Basic Plan
period-days: 30
price: 1000.0
record-limit: 100000
material: IRON_INGOT
quota-full-strategy: stop
description: Basic protection plan
- id: premium
name: Premium Plan
period-days: 30
price: 5000.0
record-limit: -1
material: GOLD_INGOT
quota-full-strategy: evict
description: Premium protection plan
stop:达到记录上限后停止写入新记录;evict:达到上限后删除最旧记录,为新记录腾出空间;defaultPlanId为空时,新领地不会自动获得方案;填写有效 ID 后,新领地会免费获得一次该方案;material只影响 GUI 显示,必须是服务端支持的 Bukkit Material 名称。
清理
cleanup:
gracePeriodDays: 7
maxRetentionDays: 60
batchSize: 5000
purgeDelayMs: 100
cycleIntervalHours: 6
rollbackLogRetentionDays: 90
failedRecordRetentionDays: 30
failedRecordMaxTotalMiB: 100
reclaimFreeSpacePercent: 30
reclaimStartHour: 4
maxRetentionDays: 0、rollbackLogRetentionDays: 0 或 failedRecordRetentionDays: 0 表示对应内容不限期;reclaimFreeSpacePercent: 0 关闭清理后的空间回收。