跳到正文

YuVault 安装部署

环境要求

项目要求
JavaJava 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 已随插件打包并重定位。

部署到服务端

  1. 停止服务端。
  2. 将构建出的 YuVault-1.1.0.0-all.jar 或发布版 jar 放入服务端 plugins/ 目录。
  3. 启动服务端,等待插件生成 plugins/YuVault/config.ymlmessages.yml
  4. 首次启动时确认运行时依赖下载完成,控制台应出现 YuVault 已启用
  5. 进入游戏执行 /yvault help/yv help/vault help 检查命令是否注册成功。

运行时依赖

YuVault 在 onLoad 阶段会把这些依赖下载到 plugins/YuVault/libs/ 并注入插件类加载器:

依赖版本用途
HikariCP4.0.3MySQL/SQLite 连接池。
sqlite-jdbc3.51.3.0SQLite 文件数据库驱动。
mysql-connector-j9.6.0MySQL 数据库驱动。
slf4j-api / slf4j-nop2.0.17HikariCP 日志依赖。

默认会校验远程仓库提供的 SHA-256 或 SHA-1。若服务器无法访问 Maven Central,可手动下载对应 jar 放入 plugins/YuVault/libs/ 后重启。

首次配置检查

配置默认值建议
storage.typesqlite单服保持默认;多子服共享改为 mysql
default-vaults0权限模式下建议通过 yuvault.vaults.<数量> 发放保险柜数量。
default-slots9必须是 9 的倍数,最终会被限制在 9-54 格。
slot-modepermission会员/权限组容量建议保持 permission;固定后台设置可改为 command
world-control.modeblacklist将登录服、大厅、活动禁用世界加入列表。
item-control.modeblacklist保持黑名单,加入高风险方块、特殊容器或不希望跨服转移的物品。
auto-save-interval60正式服建议保持开启。
library.verify-checksumtrue推荐保持开启,避免损坏或被替换的依赖 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"

上线前建议:

  1. 给 YuVault 单独创建数据库账号。
  2. 确认所有子服使用同一套插件版本与配置版本。
  3. 在测试服创建、打开、缩容、删除保险柜,确认回收箱流程正常。
  4. vaultsreclaimed_items 表做定期备份。

升级已有版本

插件会读取 config-versionmessages-version,当版本落后时合并默认配置并保留已有值。

文件当前版本备份行为
config.yml2更新时自动合并缺失配置项。
messages.yml2更新时自动合并缺失消息项。

升级建议:

  1. 停服备份 plugins/YuVault/,MySQL 模式下同时备份数据库。
  2. 替换 jar。
  3. 启动一次服务端,让插件自动合并新配置。
  4. 检查控制台是否有依赖加载、数据库连接或配置格式错误。
  5. 执行 /yvault gui/yvault reclaimed/yvault reload 和一次管理员打开他人保险柜测试。

卸载

  1. 停止服务端。
  2. 删除 plugins/ 中的 YuVault jar。
  3. 如不再需要数据,删除 plugins/YuVault/ 目录。
  4. MySQL 模式下按需删除 vaultsreclaimed_items 表。