跳到主要内容

安装与基础配置

安装

  1. Assiah-1.0.9.jar 放入服务器的 plugins/ 目录
  2. 启动服务器,插件会自动释放以下默认配置文件:
plugins/Assiah/
├── config.yml # 主配置(数据库、Redis、通知开关)
├── currency.yml # 货币定义(Vault、PlayerPoints、自定义)
├── mailbox.yml # 邮箱行为配置(限制、过期、领取、草稿等)
├── lang/
│ └── zh_CN.yml # 中文语言文件
└── ui/
├── mailbox-main.yml # 邮箱主界面
├── mailbox-detail.yml # 邮件详情界面
├── mailbox-compose.yml # 撰写邮件界面
├── mailbox-draft.yml # 草稿箱界面
├── mailbox-admin.yml # 管理员面板
└── mailbox-preference.yml # 偏好设置界面
  1. 根据需要修改 config.yml 中的数据库配置
  2. 执行 /assiah reload 重载配置

数据库配置

Assiah 支持 SQLite 和 MySQL 两种存储方式。默认使用 SQLite,无需额外配置即可使用。

SQLite(默认)

开箱即用,数据存储在 plugins/Assiah/data/assiah-mail.db 文件中。适合单服部署。

database:
mode: sqlite
sqlite:
file: data/assiah-mail.db
table-prefix: assiah_

MySQL

适合多服/BungeeCord 环境,所有子服连接同一数据库实现数据共享。

database:
mode: mysql
mysql:
enabled: true
host: 127.0.0.1
port: 3306
database: assiah
username: root
password: change_me
parameters: "?useSSL=false&serverTimezone=UTC&characterEncoding=utf8"
pool:
maximum-pool-size: 8
minimum-idle: 2
connection-timeout-ms: 10000
table-prefix: assiah_
注意

mode 设为 mysql 但连接失败时,插件不会自动回落到 SQLite。请确保 MySQL 配置正确。

Redis 配置(可选)

Redis 是可选增强层,不是核心依赖。未启用 Redis 时,邮箱核心功能仍然可以完整运行。

Redis 主要用于:

  • 未读数量缓存
  • 跨服新邮件通知(发布/订阅)
  • 在线目标路由信息缓存

Redis 异常时会自动降级到持久化主流程,不会导致核心功能不可用。

redis:
enabled: false
connection:
host: 127.0.0.1
port: 6379
password: ""
database: 0
timeout-ms: 3000
channel:
mail-notify: assiah:mail:notify
route-sync: assiah:mail:route
cache-evict: assiah:mail:evict
cache:
unread-ttl-seconds: 30
mailbox-list-ttl-seconds: 15
route-ttl-seconds: 60
degrade:
fail-open: true
log-when-unavailable: true
keep-core-flow-working: true

如果你的服务器是群组服(BungeeCord/Velocity),建议同时启用 MySQL 和 Redis 以获得最佳的跨服体验。

通知开关

config.yml 中可以控制全局通知行为:

# 调试模式(输出详细日志)
debug: false

# 玩家登录时通知未读邮件数量
notify-on-join: true

# 收到新邮件时实时通知在线玩家
notify-on-new-mail: true

# 自动清理过期邮件(配合 mailbox.yml 的 expire 配置)
auto-clean-expired-mail: true

# 服务器标识(跨服环境中区分不同服务端,每个服务端应设置不同名称)
server-name: default

下一步