LogoArcartX Doc

配置

数据库、等级经验、阶段称号与提示文字

配置

Echelon 的配置如下:

文件用途
database.ymlSQLite 或 MySQL 连接
level.yml等级上限、升级提示、经验、阶段称号和升级记录保留时间
integrations.ymlPlaceholderAPI、MythicMobs 和 Symphony 联动
delivery.ymlSystemMail 等级礼包发送与失败重试
language.yml玩家和管理员提示文字

数据库

database.yml:

type: "sqlite"
sqlite-file: "echelon.db"
worker-threads: 4
mysql:
  host: "127.0.0.1"
  port: 3306
  database: "arcartx"
  username: "root"
  password: "change-me"
  parameters: "useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
  pool-size: 8

单服 SQLite

保留 type: "sqlite" 时,数据库文件默认为 plugins/Echelon/echelon.db。SQLite 只适合一个服务端进程。

群组服 MySQL

把 type 改为 mysql,并让所有 Echelon 子服填写同一套 MySQL 地址、端口和数据库名称。其他子服写入的等级变化会在 level.yml 的 multi-server.online-sync-seconds 设置时间内更新到玩家当前所在服务器。

parameters 不要在开头添加 ?,通常保持默认值即可。默认参数适用于本机或可信内网中的 MySQL。数据库位于不可信网络时,请按照实际证书配置 TLS,并替换默认的 useSSL=false。

sqlite-file 只填写 Echelon 数据目录中的文件名。

配置项范围或建议
worker-threads后台任务线程数,允许 1–32,通常保留 4
mysql.pool-sizeMySQL 连接池大小,允许 2–50,通常保留 8
mysql.port1–65535,默认 3306

等级上限与提示

level.yml:

maximum-level: 100
notify-player: true
history:
  completed-event-retention-days: 30
  cleanup-interval-hours: 1
multi-server:
  online-sync-seconds: 5
  • maximum-level:等级上限,允许 1–10000;
  • notify-player:是否向升级玩家发送聊天消息。
  • history.completed-event-retention-days:已经正常触发的升级记录保留天数,允许 1–3650;未触发的升级不会被清理;
  • history.cleanup-interval-hours:检查过期升级记录的间隔,允许 1–168 小时;
  • multi-server.online-sync-seconds:使用共享 MySQL 时,在线玩家读取其他子服等级变化的间隔,允许 1–300 秒;SQLite 模式不会使用该设置。

固定经验

experience:
  exact:
    "1": 100
    "2": 125
    "3": 150

键表示玩家的当前等级。"1": 100 表示 Lv.1 升到 Lv.2 需要 100 经验。满级不需要填写经验,例如上限为 100 时只需覆盖到 Lv.99。

分段公式

experience:
  stages:
    - min-level: 1
      max-level: 10
      formula: "100 + (level - 1) * 25"
    - min-level: 11
      max-level: 30
      formula: "350 + (stage_level - 1) * 50"
变量含义
level当前实际等级
stage_level当前等级在这一段中的序号,从 1 开始
min_level本段起始等级
max_level本段结束等级

公式支持数字、括号和 + - * / % ^。固定经验与分段公式可以混用,同一级同时存在时以 exact 为准。

所有设置合并后,必须覆盖 Lv.1 到满级前一级,并满足:

  • 公式范围不能重叠;
  • 每级经验必须为有效正数;
  • 公式不能超过 256 个字符;
  • 计算结果不能超出整数范围。

修改经验曲线不会清空玩家总经验。Echelon 会按新曲线重新计算显示等级,但不会因为配置变化而补发升级提示。

阶段称号

titles:
  - min-level: 1
    max-level: 10
    title: "初出茅庐"
  - min-level: 11
    max-level: 30
    title: "渐入佳境"

称号范围不能重叠,单个称号最长 128 个字符。未覆盖的等级会显示“未命名阶段”,建议为全部等级设置称号。

提示文字

language.yml 支持 & 颜色代码。常用变量如下:

位置可用变量
player.status{player}、{level}、{experience}、{required}、{title}
player.level-up{old}、{new}、{title}
admin.add-success{player}、{amount}、{level}
admin.add-success-level-up{player}、{amount}、{level}、{gained}
admin.add-success-capped{player}、{amount}、{level}、{discarded}

缺少的提示键会临时使用 JAR 内置中文,不会自动写回文件。

重载与重启

/eadmin reload

该命令会重新读取等级、称号、提示文字和插件联动。新配置有误时,Echelon 会继续使用重载前的有效设置,并在控制台说明原因。

修改数据库类型、文件名、地址、账号、连接参数、线程数或连接池大小后,必须完整重启服务器。在线同步间隔可以通过重载更新。

On this page