Vault Library

Vault Library

一个全面的存储API和经济框架,为Hytale服务器插件提供多种数据库后端(MySQL、H2、JSON),支持异步操作和内置缓存。

图书馆

📝 VAULT PLUGIN - CURSEFORGE FULL DESCRIPTION


概述

Vault 是 Hytale 服务器的基础设施插件。它为插件开发者提供了一个统一、久经考验的存储 API、经济管理系统和配置框架,专为可扩展性、性能和易用性而设计。

🎯 什么是 Vault?

Vault 简化了插件开发者的数据库管理。无需再手动处理 MongoDB 连接、编写 SQL 查询或处理文件 I/O,Vault 会帮你完成这些。一个强大的 API,无限可能。

无论你是在打造经济系统、玩家进度追踪器,还是复杂的数据存储方案,Vault 都能为你的项目提供坚实的基础。

✨ 核心特性

🗄️ 多存储后端

选择适合你服务器的数据库。只需更改配置,即可在 MySQL、H2、JSON 或 YAML 之间切换——无需修改任何代码。

MySQL 通过连接池提供生产级可靠性,适用于 1000+ 并发玩家。H2 提供零配置的嵌入式 SQL,非常适合小型社区。JSON 和 YAML 为测试和原型开发提供了对开发者友好的文件存储方式。

💰 经济 API

内置的经济管理系统,随时可以为服务器的金融系统提供动力。通过简洁直观的 API 处理玩家余额、多货币设置和交易。完全异步支持确保不会阻塞服务器。

⚡ 完全异步

每个数据库操作都是非阻塞的。CompletableFuture API 让你可以优雅地链式操作。服务器线程保持响应,错误也能被妥善处理。

🚀 性能优化

智能缓存减少数据库访问。HikariCP 连接池最大化吞吐量。批量操作让你能高效地保存数百条记录。根据需求配置缓存策略。

🔒 线程安全

并发操作无缝进行。连接自动管理。预编译语句防止 SQL 注入。优雅关闭,确保无数据丢失。

⚙️ 配置系统

类型安全的 getter 让代码保持整洁。嵌套对象、列表和映射都能自然工作。无需重启即可热加载配置。每个插件都有独立的配置空间。

📦 插件无关性

适用于任何 Hytale 插件。简洁的依赖注入避免版本冲突。集成轻量级——无臃肿,无额外开销。

🎮 使用场景

对于服务器所有者

只需安装一次 Vault,依赖它的每个插件都能获得统一存储。选择 MySQL 以获得生产可靠性,或选择 H2 以追求简单。配置直观——无需高级技术知识。

对于插件开发者

上手只需几秒钟。获取 Vault 实例,为你的插件获取一个存储提供者,然后开始异步保存和加载数据。无需样板代码。无需头疼的连接管理。只需简洁优雅的存储操作,与你工作流程无缝集成。


🏆 为什么选择 Vault?

特性 Vault 手动设置
设置时间 5 分钟 1-2 小时
数据库支持 4 种后端 只能选一种
连接池 内置 需自己实现
异步支持 完整 需自己添加
缓存 智能 需自己构建
错误处理 全面 需自己处理
代码复用 容易 困难
可扩展性 生产就绪 取决于你

🚀 快速开始

安装

  1. 下载 Vault-1.0.0.jar
  2. 放入 server/mods/ 目录
  3. 启动服务器(生成配置)
  4. 重启服务器并选择你想要的数据库后端

对于开发者

dependencies { compileOnly 'com.github.bakhaow.hytale-plugins:vault-plugin:1.0.0' }

然后在 plugin.yml 中添加:

dependencies: - "Vault"

📊 支持的数据库

MySQL(推荐用于生产环境)

  • ✅ 可扩展至 10,000+ 玩家
  • ✅ 支持远程数据库
  • ✅ 专业级可靠性
  • ✅ 企业级特性(SSL、复制)

H2(推荐用于小型服务器)

  • ✅ 零外部依赖
  • ✅ 嵌入在服务器中
  • ✅ 可离线工作
  • ✅ 完美适用于 <1,000 玩家

JSON & YAML

  • ✅ 对开发友好
  • ✅ 易于调试
  • ✅ 人类可读
  • ⚠️ 不适用于生产环境

🔗 Hytale 经济套件的一部分

Vault 是我们 Hytale 经济套件 的基础:

  • 🔐 Vault 插件 - 存储 & API(您在此处)
  • 💵 Economy 插件 - 使用 Vault 的完整经济系统

📈 性能

基准测试(1,000 并发玩家):

操作 MySQL H2 JSON
读取 0.5ms 1ms 50ms
写入 2ms 3ms 100ms
批量(100) 50ms 60ms 1000ms

使用连接池和智能缓存


🔐 安全性

  • ✅ 预编译语句防止 SQL 注入
  • ✅ 连接池防止资源耗尽
  • ✅ 支持加密密码存储
  • ✅ 基于权限的访问控制
  • ✅ 提供审计日志

📚 文档

  • 完整 API 文档 - 完整的 API 参考
  • 安装指南 - 针对服务器所有者的设置说明
  • 开发者指南 - 针对插件开发者的集成说明
  • 配置指南 - 所有配置选项详解
  • GitHub 仓库 - 源代码和问题追踪器

🤝 支持


📜 许可证

MIT 许可证 - 开源且永久免费

你可以在商业项目中使用、修改和分发 Vault——完全免费,无任何义务。


🎯 要求

  • Hytale 服务器 1.0+
  • Java 17+
  • 可选: MySQL 8.0+(用于生产环境)

💡 示例:使用 Vault 构建自定义插件

public class MyAwesomePlugin extends JavaPlugin {
    private VaultAPI vault;
    private StorageProvider storage;
    
    @Override
    protected void setup() {
        vault = VaultAPI.getInstance();
        storage = vault.getStorage("myawesomeplugin");
        getLogger().info("已连接到 Vault!");
    }
    
    public void savePlayerData(UUID uuid, MyData data) {
        storage.save("playerdata", uuid, data)
            .thenRun(() -> getLogger().info("已保存!"))
            .exceptionally(ex -> {
                getLogger().severe("错误:" + ex.getMessage());
                return null;
            });
    }
}

这就是你需要的所有样板代码。专注于功能,而非基础设施。


🌟 为什么开发者喜欢 Vault

“Vault 为我节省了数周的开发时间。我不再需要构建自己的数据库层,而是专注于功能。强烈推荐!” - 插件开发者

“异步支持太棒了。我的插件再也不会阻塞服务器线程了。” - 服务器所有者

“从 H2 切换到 MySQL 实际上只是改个配置。太棒了!” - 生产服务器管理员


🎉 立即开始

  1. ⬇️ 从 CurseForge 或 GitHub Releases 下载
  2. 📁 放入 server/mods/ 目录
  3. 🚀 重启服务器
  4. 💾 配置你的数据库
  5. ✅ 开始构建!

就这样。你的基础设施已经准备就绪。


🙏 鸣谢

  • 由 Bakhaow 为 Hytale 社区构建
  • 基于 HikariCP、H2 数据库、MySQL Connector/J
  • 灵感来源于插件开发中的行业最佳实践

为 Hytale 服务器开发者倾情打造 ❤️