YuVault 安装部署
环境要求
| 项目 | 要求 |
|---|---|
| Java | Java 8 及以上。源码以 sourceCompatibility = JavaVersion.VERSION_1_8 构建。 |
| 服务端 | Spigot、Paper、Paper 衍生端,以及 Mohist、Arclight、Youer 等兼容 Bukkit API 的混合端。 |
| Minecraft | 目标适配 1.8.x-1.26.x。源码使用 Spigot API 1.8-R0.1-SNAPSHOT 编译。建议在正式服同版本测试后上线。 |
| 数据库 | 默认 SQLite;跨服共享或多端同步建议使用 MySQL。 |
| 网络访问 | 首次启动会从 Maven 仓库下载运行时依赖;bStats 统计也会尝试访问统计服务。 |
兼容范围
YuVault 的环境适配范围与 YuRandomTeleport 保持一致。
| 兼容范围 | 说明 |
|---|---|
| Minecraft 版本 | 目标适配 1.8.x-1.26.x。 |
| Bukkit 系服务端 | Spigot、Paper、Paper 衍生端。 |
| 混合端 | Mohist、Arclight、Youer 等 Bukkit API 混合端。 |
| Java 运行时 | Java 8 及以上。Java 9+ 如果遇到类加载器反射限制,可按控制台提示添加 --add-opens java.base/java.net=ALL-UNNAMED。 |
| 存储后端 | SQLite 单服文件库;MySQL 跨服共享。 |
从源码构建
压缩包内是 Gradle 项目。进入插件源码目录后执行:
powershell
.\gradlew.bat clean shadowJar构建完成后通常会在 build/libs/ 下生成 YuVault-1.1.0.0-all.jar。发布部署时优先使用 shadowJar 产物,因为 bStats 已随插件打包并重定位。
部署到服务端
- 停止服务端。
- 将构建出的
YuVault-1.1.0.0-all.jar或发布版 jar 放入服务端plugins/目录。 - 启动服务端,等待插件生成
plugins/YuVault/config.yml与messages.yml。 - 首次启动时确认运行时依赖下载完成,控制台应出现
YuVault 已启用。 - 进入游戏执行
/yvault help、/yv help或/vault help检查命令是否注册成功。
运行时依赖
YuVault 在 onLoad 阶段会把这些依赖下载到 plugins/YuVault/libs/ 并注入插件类加载器:
| 依赖 | 版本 | 用途 |
|---|---|---|
| HikariCP | 4.0.3 | MySQL/SQLite 连接池。 |
| sqlite-jdbc | 3.51.3.0 | SQLite 文件数据库驱动。 |
| mysql-connector-j | 9.6.0 | MySQL 数据库驱动。 |
| slf4j-api / slf4j-nop | 2.0.17 | HikariCP 日志依赖。 |
默认会校验远程仓库提供的 SHA-256 或 SHA-1。若服务器无法访问 Maven Central,可手动下载对应 jar 放入 plugins/YuVault/libs/ 后重启。
首次配置检查
| 配置 | 默认值 | 建议 |
|---|---|---|
storage.type | sqlite | 单服保持默认;多子服共享改为 mysql。 |
default-vaults | 0 | 权限模式下建议通过 yuvault.vaults.<数量> 发放保险柜数量。 |
default-slots | 9 | 必须是 9 的倍数,最终会被限制在 9-54 格。 |
slot-mode | permission | 会员/权限组容量建议保持 permission;固定后台设置可改为 command。 |
world-control.mode | blacklist | 将登录服、大厅、活动禁用世界加入列表。 |
item-control.mode | blacklist | 保持黑名单,加入高风险方块、特殊容器或不希望跨服转移的物品。 |
auto-save-interval | 60 | 正式服建议保持开启。 |
library.verify-checksum | true | 推荐保持开启,避免损坏或被替换的依赖 jar 被加载。 |
MySQL 跨服共享
将 storage.type 改为 mysql,并填写数据库连接参数:
yaml
storage:
type: "mysql"
mysql:
host: "127.0.0.1"
port: 3306
database: "yuvault"
username: "yuvault"
password: "change-me"
jdbc-params: "useSSL=false&allowPublicKeyRetrieval=true&autoReconnect=true"上线前建议:
- 给 YuVault 单独创建数据库账号。
- 确认所有子服使用同一套插件版本与配置版本。
- 在测试服创建、打开、缩容、删除保险柜,确认回收箱流程正常。
- 对
vaults与reclaimed_items表做定期备份。
升级已有版本
插件会读取 config-version 和 messages-version,当版本落后时合并默认配置并保留已有值。
| 文件 | 当前版本 | 备份行为 |
|---|---|---|
config.yml | 2 | 更新时自动合并缺失配置项。 |
messages.yml | 2 | 更新时自动合并缺失消息项。 |
升级建议:
- 停服备份
plugins/YuVault/,MySQL 模式下同时备份数据库。 - 替换 jar。
- 启动一次服务端,让插件自动合并新配置。
- 检查控制台是否有依赖加载、数据库连接或配置格式错误。
- 执行
/yvault gui、/yvault reclaimed、/yvault reload和一次管理员打开他人保险柜测试。
卸载
- 停止服务端。
- 删除
plugins/中的 YuVault jar。 - 如不再需要数据,删除
plugins/YuVault/目录。 - MySQL 模式下按需删除
vaults与reclaimed_items表。