安装与基础配置
安装
- 将
Assiah-1.0.9.jar放入服务器的plugins/目录 - 启动服务器,插件会自动释放以下默认配置文件:
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 # 偏好设置界面
- 根据需要修改
config.yml中的数据库配置 - 执行
/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