LogoArcartX Doc

配置文件

数据库、刷新周期、数值采集与榜单配置

配置文件

Laurels 的文件位于 plugins/Laurels/

Laurels/
├─ config.yml
├─ database.yml
├─ language.yml
├─ license.yml
├─ laurels.db
└─ libs/

config.yml

ranking:
  refresh-seconds: 60
  startup-refresh-spread-seconds: 10
  join-sample-delay-ticks: 20
  join-samples-per-tick: 2
  removed-board-retention-days: 30
  empty-text: "-"
 
boards:
  power:
    placeholder: "%player_power%"
    order: "DESC"
    maximum-entries: 100
 
  playtime:
    placeholder: "%statistic_hours_played%"
    order: "DESC"
    maximum-entries: 100

榜单配置

服务器至少需要一个、最多可以配置 64 个榜单:

boards:
  best_time:
    placeholder: "%race_best_seconds%"
    order: "ASC"
    maximum-entries: 50
配置说明
boards.<名称>榜单 ID,最长 32 个字符
placeholder玩家进服时读取的 PAPI 占位符
orderDESC 从大到小,ASC 从小到大
maximum-entries榜单快照最多列出的名次数,范围 110000

榜单名称只能使用小写字母、数字、下划线和短横线,并以字母或数字开头。

placeholder 长度为 3~256 个字符,必须包含开头和结尾的 %

所有榜单的 maximum-entries 合计不能超过 100000,避免一次刷新占用过多内存。

刷新设置

配置说明范围
ranking.refresh-seconds从数据库生成新榜单的间隔13600
ranking.startup-refresh-spread-seconds启动或重载后,第一次生成榜单的随机错峰范围0300
ranking.join-sample-delay-ticks玩家进服后等待多久再读取数值01200 tick
ranking.join-samples-per-tick每个 tick 最多读取多少个榜单占位符132
ranking.removed-board-retention-days已从配置删除的榜单保留多少天13650
ranking.empty-text名次不存在时返回的文本最多 64 个字符,不能换行

database.yml

数据库连接和后台线程设置保存在 database.yml,修改后需要完整重启服务器。

SQLite

type: "sqlite"
sqlite-file: "laurels.db"
worker-threads: 4

MySQL

type: "mysql"
sqlite-file: "laurels.db"
worker-threads: 4
mysql:
  host: "127.0.0.1"
  port: 3306
  database: "arcartx"
  username: "arcartx"
  password: "请填写密码"
  parameters: "useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC&characterEncoding=utf8"
  pool-size: 4
配置说明范围
worker-threads数据库与排行榜后台任务线程数116
mysql.portMySQL 端口165535
mysql.pool-size当前节点的 MySQL 连接池大小116

Laurels 的数据库操作量较少,通常保持默认 4,或按实际负载设置为 24 即可。

language.yml

语言文件只保留 /laurels top 的三条榜单文案:

top-header: "§6{board} §7前 {count} 名"
top-entry: "§e#{rank} §f{player} §7- §b{value}"
top-empty: "§7该榜单暂无数据"

top-header 可使用 {board}{count}top-entry 可使用 {rank}{player}{value}。其他命令提示由插件固定,不在语言文件中提供设置。

On this page