HyDB

HyDB

HyDB provides a professional SQLite database API for Hytale plugins. Features async operations, per-world & global databases, schema migrations, transactions, and admin debug commands. Simple API - install once, all plugins benefit.

303.0 загрузок
Обновлён 14 дней назад

Описание

HyDB - профессиональный SQLite Database API для Hytale

Обзор

HyDB Это профессиональный базовый плагин для Hytale, который предоставляет комплексный API базы данных SQLite для постоянного хранения данных. Это позволяет другим плагинам легко хранить и извлекать данные без управления самими подключениями к базе данных.

Подумайте об этом как о Уровень обслуживания базы данных Установите HyDB один раз, и все другие плагины могут использовать его для надежного, быстрого и безопасного хранения данных.


Ключевые особенности

️ Управление базами данных

  • SQLite с JDBC Индустриальный стандарт встроенной базы данных (не требуется внешний сервер)
  • Per-World и глобальные базы данных Хранить данные глобально во всех мирах или в мире
  • Автоматическое управление подключением HyDB обрабатывает весь жизненный цикл базы данных
  • Файловое хранилище Каждый плагин получает собственный файл базы данных для полной изоляции.

Производительность и безопасность

  • Операции Async Неблокирующие вызовы баз данных с использованием виртуальных потоков Java 25
  • Безопасный Безопасный одновременный доступ из нескольких плагинов/потоков
  • Связной пул - Эффективное управление ресурсами
  • Режим WAL Write-Ahead Logging для повышения производительности

Полный API

  • Полный КРУД Операции Создание, чтение, обновление, удаление с помощью простого API
  • Схема миграции Схемы версий и обновлений баз данных автоматически
  • Поддержка транзакций Выполнять несколько операций атомарно
  • Хранение Blob Хранить двоичные данные (изображения, файлы, сериализованные объекты)
  • Строитель запросов Fluent API для построения сложных SQL-запросов
  • Подготовленные заявления Встроенная защита SQL-инъекций

Игровые команды Admin

  • Список гидов Просмотр всех баз данных с размерами файлов
  • /hydb Информация <db> - Показать данные базы данных и статистику
  • /hydb таблицы <db> - Перечислите все таблицы с подсчетом строк
  • /hydb запрос <db> "SQL" Выполнять SELECT запросы для отладки
  • Запросы только для чтения обеспечивают безопасность данных

Установка

  1. скачать HyDB-1.0.0.jar
  2. Место на вашем сервере мод папка
  3. Перезагрузите свой сервер
  4. Готово! Другие плагины теперь могут использовать HyDB

Требования:

  • Hytale Server (последняя версия)
  • Java 25+

Для разработчиков плагинов

Быстрый старт

// Получить API
HyDBAPI api = HyDBPlugin.getAPI();

// Получить или создать базу данных
База данных db = api.getGlobalDatabase («myplugin»)

// Создать таблицу
db.createTable ("пользователи")
"ОБЩЕГО ПРИМЕРНОГО АВТОИНЦРЕМЕНТА"
"uuid TEXT NOT NULL UNIQUE"
Имя пользователя TEXT NOT NULL
"монеты ИНТЕГЕР ДЕФАЛТ 0.
);

// Включить данные (async)
Map<String, Object> data = новый HashMap<>();
data.put("uuid", player.getUniqueId().toString());
data.put («имя пользователя», player.getName());
data.put («монеты», 100);

db.insertAsync("пользователи", data.thenAccept(rows -> {)
System.out.println («Данные игрока сохранены!»);
}

// Данные запросов (async)
db.queryFirstAsync("SELECT * FROM users WHERE uuid = ?", playerUUID.toString())
.thenAccept(пользователь -> {
Если (пользователь! = нуль)
int-монеты = (int) user.get("монеты");
// Используйте данные
?
}

Объем базы данных

Глобальная база данных - общая во всех мирах (экономика, статистика игроков)
Глобальная база данных = api.getGlobalDatabase («экономика»)

// Пер-мировая база данных — изолированная на мир (требования, регионы)
Мир баз данных = api.getWorldDatabase (мир, «претензии»);

Case Случаи использования

Идеально подходит для плагинов, которые требуют:

  • Системы экономики - Балансы игроков, магазины, транзакции
  • Статистика игроков - Отслеживание статистики, таблицы лидеров, достижения
  • Земельные претензии - Владение территорией, разрешения
  • Пользовательские игровые режимы Состояние игры, отслеживание прогрессии
  • Социальные особенности - Списки друзей, гильдии, вечеринки
  • Инструменты Admin - Запреты, предупреждения, журналы действий
  • Системы RPG - Данные о характере, навыки, инвентарь
  • Любые постоянные данные Все, что нужно для выживания, перезапускается

️ Архитектура

Структура базы данных

HyDB/
Глобальные базы данных / # Global databases
↑ Экономика. — Экономика. bb #Экономический плагин
│ │ ─ Статистика. bb #Плагин для статистики
↑ yourplugin.db #Ваш плагин
Миры / Worlds Базы данных Per-world
─ ─ Мир1/
??????????????? b
─ ─ Мир2/
Об этом сообщает .db

Каждый плагин получает свой собственный файл базы данных. содержит несколько таблиц, предусматривающих:

  • Полная изоляция данных
  • Простое резервное копирование/восстановление
  • Независимое масштабирование
  • Никаких конфликтов названий

Документация

Включенные файлы:

  • Readme.md Полная документация API с примерами
  • COMMANDS.md - Ссылка на команду администратора
  • QUICK_START.md Быстрое справочное руководство
  • Пример_USAGE.java - Полный рабочий пример плагина
  • DATABASE_STRUCTURE.md Архитектурные детали

Особенности безопасности

  • Read-Only Административные команды Команды запросов позволяют только SELECT/PRAGMA
  • SQL защита от инъекций - Подготовленные заявления на протяжении всего
  • Автоматический Rollback Сбои транзакций автоматически откатываются назад
  • Обработка ошибок - Всесторонние сообщения об ошибках и регистрация

️ Технические детали

  • Язык языкаJava 25 с современными функциями (виртуальные потоки, выражения переключателей)
  • База данныхSQLite 3.47.1.0 с JDBC
  • строить: Простой скрипт сборки bash (нет сложных инструментов сборки)
  • ЗависимостиBundled (SQLite JDBC, SLF4J)
  • Размер14 МБ (включая все зависимости)

Зачем использовать HyDB?

Для владельцев серверов

✅ Установка один раз, преимущества всех плагинов ) Централизованное управление базами данных ) Внутриигровые отладочные команды ) Улучшение производительности сервера (общее объединение соединений)

Для разработчиков плагинов

✅ Не требуется код управления базами данных - Простой, интуитивно понятный API - Операции Async предотвращают лаг - Хорошо задокументированные примеры - Поддержка миграции по схеме


Compar Сравнение

Особенность HyDB Файлы JSON Пользователь DB Код
Легко использовать Простой API ✅ Очень просто Комплекс
Выступление Быстро Медленно Быстро
Запросы ► SQL Ограниченный ► SQL
Безопасный ✅ Да. Нет. ️ Зависит
асинхронный Встроенный Руководство ️ Руководство
Миграция Встроенный Руководство ️ Руководство
Сделки Встроенный Нет. ✅ Да.

Пример плагинов с использованием HyDB

Загрузка включает в себя полный пример плагина, показывающий:

  • Настройка базы данных с миграцией
  • Управление данными игрока
  • Операции на основе операций
  • Использование конструктора запросов
  • Лучшие практики

Лицензия

Open Source - бесплатная для использования на серверах Hytale и разработки плагинов.


Поддержка и вклад

  • ВопросыСообщать об ошибках или запрашивать функции
  • ДокументацияВсеобъемлющие руководства включены
  • ПримерыПредоставленные образцы рабочего кода

Начните сегодня!

  1. Установите HyDB на свой сервер
  2. Другие плагины могут сразу же использовать API
  3. Использовать Гидб команды для отладки и мониторинга
  4. Наслаждайтесь надежным и быстрым хранилищем данных!

Версия: 1.0.0 СовместимостьHytale (текущая версия) Автор мод:Серид


Сделать сохранение данных простым и мощным для плагинов Hytale! Это обязательный мод зависимости / backend базы данных.

Изображение: GPT-4

Показать оригинальное описание (English)

HyDB - Professional SQLite Database API for Hytale

📊 Overview

HyDB is a professional base plugin for Hytale that provides a comprehensive SQLite database API for persistent data storage. It allows other plugins to easily store and retrieve data without managing database connections themselves.

Think of it as a database service layer - install HyDB once, and all your other plugins can use it for reliable, fast, thread-safe data storage.


✨ Key Features

🗄️ Database Management

  • SQLite with JDBC - Industry-standard embedded database (no external server needed)
  • Per-World & Global Databases - Store data globally across all worlds or per-world
  • Automatic Connection Management - HyDB handles all database lifecycle
  • File-Based Storage - Each plugin gets its own database file for complete isolation

⚡ Performance & Safety

  • Async Operations - Non-blocking database calls using Java 25 virtual threads
  • Thread-Safe - Safe concurrent access from multiple plugins/threads
  • Connection Pooling - Efficient resource management
  • WAL Mode - Write-Ahead Logging for better performance

🔧 Complete API

  • Full CRUD Operations - Create, Read, Update, Delete with simple API
  • Schema Migrations - Version and upgrade database schemas automatically
  • Transaction Support - Execute multiple operations atomically
  • Blob Storage - Store binary data (images, files, serialized objects)
  • Query Builder - Fluent API for constructing complex SQL queries
  • Prepared Statements - Built-in SQL injection protection

🎮 In-Game Admin Commands

  • /hydb list - View all databases with file sizes
  • /hydb info <db> - Show database details and statistics
  • /hydb tables <db> - List all tables with row counts
  • /hydb query <db> "SQL" - Execute SELECT queries for debugging
  • Read-only queries ensure data safety

📦 Installation

  1. Download HyDB-1.0.0.jar
  2. Place in your server's mods folder
  3. Restart your server
  4. Done! Other plugins can now use HyDB

Requirements:

  • Hytale Server (latest version)
  • Java 25+

👨‍💻 For Plugin Developers

Quick Start

// Get the API
HyDBAPI api = HyDBPlugin.getAPI();

// Get or create a database
Database db = api.getGlobalDatabase("myplugin");

// Create a table
db.createTable("users",
    "id INTEGER PRIMARY KEY AUTOINCREMENT",
    "uuid TEXT NOT NULL UNIQUE",
    "username TEXT NOT NULL",
    "coins INTEGER DEFAULT 0"
);

// Insert data (async)
Map<String, Object> data = new HashMap<>();
data.put("uuid", player.getUniqueId().toString());
data.put("username", player.getName());
data.put("coins", 100);

db.insertAsync("users", data).thenAccept(rows -> {
    System.out.println("Player data saved!");
});

// Query data (async)
db.queryFirstAsync("SELECT * FROM users WHERE uuid = ?", playerUUID.toString())
    .thenAccept(user -> {
        if (user != null) {
            int coins = (int) user.get("coins");
            // Use the data
        }
    });

Database Scope

// Global database - shared across all worlds (economy, player stats)
Database global = api.getGlobalDatabase("economy");

// Per-world database - isolated per world (claims, regions)
Database world = api.getWorldDatabase(world, "claims");

🎯 Use Cases

Perfect for plugins that need:

  • Economy Systems - Player balances, shops, transactions
  • Player Statistics - Stats tracking, leaderboards, achievements
  • Land Claims - Territory ownership, permissions
  • Custom Game Modes - Game state, progression tracking
  • Social Features - Friends lists, guilds, parties
  • Admin Tools - Bans, warnings, action logs
  • RPG Systems - Character data, skills, inventory
  • Any Persistent Data - Anything that needs to survive restarts

🏗️ Architecture

Database Structure

HyDB/
├── global/              # Global databases
│   ├── economy.db       # Economy plugin
│   ├── stats.db         # Stats plugin
│   └── yourplugin.db    # Your plugin
└── worlds/              # Per-world databases
    ├── world1/
    │   └── claims.db
    └── world2/
        └── claims.db

Each plugin gets its own database file containing multiple tables, providing:

  • Complete data isolation
  • Easy backup/restore
  • Independent scaling
  • No table name conflicts

📖 Documentation

Included files:

  • README.md - Complete API documentation with examples
  • COMMANDS.md - Admin command reference
  • QUICK_START.md - Quick reference guide
  • EXAMPLE_USAGE.java - Full working example plugin
  • DATABASE_STRUCTURE.md - Architecture details

🔒 Safety Features

  • Read-Only Admin Commands - Query commands only allow SELECT/PRAGMA
  • SQL Injection Protection - Prepared statements throughout
  • Automatic Rollback - Transaction failures roll back automatically
  • Error Handling - Comprehensive error messages and logging

🛠️ Technical Details

  • Language: Java 25 with modern features (virtual threads, switch expressions)
  • Database: SQLite 3.47.1.0 with JDBC
  • Build: Simple bash build script (no complex build tools)
  • Dependencies: Bundled (SQLite JDBC, SLF4J)
  • Size: ~14MB (includes all dependencies)

🌟 Why Use HyDB?

For Server Owners

✅ Install once, benefits all plugins ✅ Centralized database management ✅ In-game debugging commands ✅ Better server performance (shared connection pooling)

For Plugin Developers

✅ No database management code needed ✅ Simple, intuitive API ✅ Async operations prevent lag ✅ Well-documented with examples ✅ Schema migration support


📊 Comparison

Feature HyDB JSON Files Custom DB Code
Easy to Use ✅ Simple API ✅ Very Simple ❌ Complex
Performance ✅ Fast ❌ Slow ✅ Fast
Queries ✅ SQL ❌ Limited ✅ SQL
Thread-Safe ✅ Yes ❌ No ⚠️ Depends
Async ✅ Built-in ❌ Manual ⚠️ Manual
Migrations ✅ Built-in ❌ Manual ⚠️ Manual
Transactions ✅ Built-in ❌ No ✅ Yes

🚀 Example Plugins Using HyDB

The download includes a complete example plugin showing:

  • Database setup with migrations
  • Player data management
  • Transaction-based operations
  • Query builder usage
  • Best practices

📝 License

Open source - free to use for Hytale servers and plugin development.


🤝 Support & Contributing

  • Issues: Report bugs or request features
  • Documentation: Comprehensive guides included
  • Examples: Working code samples provided

🎉 Get Started Today!

  1. Install HyDB on your server
  2. Other plugins can immediately use the API
  3. Use /hydb commands for debugging and monitoring
  4. Enjoy reliable, fast database storage!

Version: 1.0.0 Compatibility: Hytale (current version) Mod Author: Oceride


Making data persistence simple and powerful for Hytale plugins! This is a required dependency / backend database mod.

Image Generated by GPT-4

Последние версии

HyDB-1.0.0.jar

Early Access 19.01.2026 13.7 МБ
Скачать

devDocs.zip

Early Access 18.01.2026 12.5 КБ
Скачать