ServerVariables | Custom Data and Variables for Players

ServerVariables | Custom Data and Variables for Players

[Server-Side] This mod allows you to create your own variables for the server and players, meaning you have total control on which values you set

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

Скриншоты

Описание

Переменные сервера

На основе плагина Ajneb97 - ServerVariables of Minecraft

Мод Hytale, который позволяет хранить и управлять переменными игрока в MySQL с настраиваемой валидацией и ограничениями.

Автор: Дон Коля
Версия: 1.0.0

Особенности

  • Постоянное хранилище переменных в MySQL
  • Система валидации с типами данных (INTEGER, DOUBLE, TEXT)
  • ✅ Конфигурируемые ограничения (максимальные значения, максимальные символы)
  • Автоматическое управление стоимостью вне диапазона
  • Публичный API для других плагинов
  • Конфигурация через файлы YAML
  • Полные команды с бесшумным режимом
  • ✅ Автоматически полученные начальные значения

установка

  1. Место ServerVariables.jar в твоем Сервер Hytale модс/ папка
  2. Запустите сервер, чтобы автоматически генерировать конфигурацию
  3. Редактировать плагины/DonKolia_ServerVariables/config.json С вашими учетными данными MySQL
  4. Конфигурируйте переменные в плагины/DonKolia_ServerVariables/variables/
  5. Перезагрузить сервер или использовать /svar reload

 

конфигурация

config.json

The config.json Файл автоматически генерируется в плагины / DonKolia_ServerVariables:

{   "DatabaseHost": "местный житель",   "База данных Порт": 3306,   "Название базы данных": "hytale_vars",   "Пользователь базы данных": "корень",   "databasePassword": "пароль" ?
 

База данных

Плагин автоматически создает server_variables столик:

создавать ТАБЛЕ server_variables ()
uuid ВАРЧАР()36) Не обязательно,
Player_name ВАРЧАР()16),
var_key ВАРЧАР()64) Не обязательно,
var_value ТЕКСТ,     Главный ключ (uuid, var_key)
);
 

Колонны:

  • uuid - UUID игрока
  • Player_name Имя игрока (для более простых запросов)
  • var_key - Переменное имя
  • var_value - Хранимая стоимость

Переменная конфигурация

Переменные определяются в файлах YAML внутри плагины/DonKolia_ServerVariables/variables/.

Примеры файлов

При первом запуске создаются два примерных файла:

переменные_numerales.yml

переменные:   или:     Value_type: интегратор
    ограничения:       max_value: 99999999
      min_value: 0
      Управлять_out_range: истинный

  пупок:     Value_type: интегратор
    ограничения:       max_value: 100
      min_value: 1 1
      Управлять_out_range: истинный

  опыт:     Value_type: интегратор
    ограничения:       max_value: 1000000000
      min_value: 0
      Управлять_out_range: истинный

  Пунтос-хабилидад:     Value_type: интегратор
    ограничения:       max_value: 500
      min_value: 0
      Управлять_out_range: истинный

  репутация:     Value_type: двойной
    ограничения:       max_value: 100,0
      min_value: -100.0
      Управлять_out_range: истинный
 

переменные_tipo_texto.yml

переменные:   рангом:     Value_type: ТЕКСТ
    ограничения:       max_characters: 20

  Титуло:     Value_type: ТЕКСТ
    ограничения:       max_characters: 30

  клан:     Value_type: ТЕКСТ
    ограничения:       max_characters: 16

  префект:     Value_type: ТЕКСТ
    ограничения:       max_characters: 1010

  суфийо:     Value_type: ТЕКСТ
    ограничения:       max_characters: 1010
 

Переменная структура

переменные:   переменное имя:     Value_type: ИНТЕГЕР | БУДУЩЕЕ | ТЕКСТ
    ограничения:       Для ИНТЕГЕРА и ДУБЛИКА:
      max_value: 100
      min_value: 0
      Управлять_out_range: истинный

      # Для следующего:
      max_characters: 50
 

Типы ценностей

Value_type:

  • интегратор - Целые числа (например: 1, 100, -5)
  • двойной - Десятичные числа (например: 1,5, 99,99, -10,25)
  • ТЕКСТ - Бесплатный текст

Ограничения

Для числовых переменных (INTEGER/DOUBLE):

  • max_value Максимально допустимое значение
  • min_value Минимальное допустимое значение (также начальное значение)
  • Управлять_out_range - Если истинныйавтоматически корректирует значения вне диапазона до ближайшего предела

Для текстовых переменных (TEXT):

  • max_characters Максимальное количество разрешенных символов

Первоначальные ценности

Начальные значения выводятся автоматически:

  • ИНТЕГЕР/ДУБЛИКА: ценность min_value
  • ТЕКСТПустая струна ""

Перезагрузка переменных

После создания или изменения файлов YAML:

/svar reload 
 

командование

Все команды используют формат /svar <subcommand> <аргументы>

/svar set <variable> <value> <player> [молчание: правда]

Устанавливает значение переменной.

Валидация:

  • Переменная должна быть определена в файлах YAML.
  • Значение должно соответствовать типу переменной
  • Настроенные ограничения применяются

Примеры:

/svar set oro 1000 Донколия
/svar set nivel 5 Дон Коля
/svar set rango «Герреро» Донколия
/svar set reputacion 75.5 Донколия молчит: правда 
 

/svar get <variable> <player>

Получает значение переменной.

Поведение:

  • Если переменная не существует в DB, возвращает начальное значение.
  • Подтверждает, что переменная определена в YAML

Примеры:

/svar get oro Донколия
/svar get nivel Донколия 
 

/svar add <variable> <value> <player> [молчание: правда]

Добавляет значение в числовую переменную (ИНТЕГЕР или ДУБЛЯ).

Валидация:

  • Работает только с переменными INTEGER или DOUBLE
  • Ограничения после добавления

Примеры:

/svar add oro 100 Донколия
/svar add reputacion 5.5 Дон Коля молчал: правда 
 

/svar reduce <variable> <value> <player> [молчание: правда]

Уменьшает значение числовой переменной (ИНТЕГЕР или ДУБЛЯ).

Валидация:

  • Работает только с переменными INTEGER или DOUBLE
  • Применяет ограничения после вычитания

Примеры:

/svar уменьшить оро 50 Донколия
/svar уменьшает репутацию 10.0 ДонКоля молчал: правда 
 

/svar reset <variable> <player> [silent:true]

Пересчитывает переменную до ее первоначального значения.

Поведение:

  • INTEGER/DOUBLE: перезагрузка min_value
  • TEXT: Перезагрузка в пустую строку

Примеры:

/svar reset oro DonKolia
/svar reset nivel DonKolia silent:true 
 

/svar reload

Перезагружает конфигурацию плагина и переменные YAML.

Пример:

/svar reload 
 

Альбом: True Параметр

Добавить Альбом: True в конце команды подавлять сообщения подтверждения.

Пример:

/svar set oro 1000 DonKolia silent:true 
 

Управление ограничениями

Оригинальное название: Manag_out_of_range

При включении значения вне диапазона автоматически корректируются:

или:   Value_type: интегратор
  ограничения:     max_value: 1000000000
    min_value: 0
    Управлять_out_range: истинный
 

Примеры:

  • /svar set oro 1500 Дон Коля Спасенный как 1000000000
  • /svar set oro -50 Донколия Спасенный как 0

Обсуждение Manag_out_of_range

При отключении операция отклоняется:

пупок:   Value_type: интегратор
  ограничения:     max_value: 100
    min_value: 1 1
    Управлять_out_range: ложный
 

Примеры:

  • /svar set nivel 150 Дон Коля Ошибка: «Ценность 150 превышает максимум 100»
 

Общие сообщения об ошибках

Переменная 'X' не определена в конфигурационных файлах.
Переменная не существует ни в одном файле YAML. Создайте его первым.

"Недействительный тип значения для переменной 'X'. Ожидаемый: ИНТЕГЕР"
Предоставляемое значение не соответствует типу переменной.

«Ценность Х превышает максимум Y»
Значение превышает допустимый максимум и Управлять_out_range устанавливается ложный.

«Текст превышает максимальную длину символов X»
Текст слишком длинный для следующей переменной.

Лицензия

Разработчик: DonKolia for Hytale

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

ServerVariables

Based on the plugin by Ajneb97 - ServerVariables of Minecraft

Hytale mod that allows storing and managing player variables in MySQL with configurable validation and limitations.

Author: DonKolia
Version: 1.0.0

Features

  • ✅ Persistent variable storage in MySQL
  • ✅ Validation system with data types (INTEGER, DOUBLE, TEXT)
  • ✅ Configurable limitations (min/max values, maximum characters)
  • ✅ Automatic out-of-range value management
  • ✅ Public API for other plugins
  • ✅ Configuration via YAML files
  • ✅ Complete commands with silent mode
  • ✅ Automatically derived initial values

Installation

  1. Place ServerVariables.jar in your Hytale server's mods/ folder
  2. Start the server to automatically generate the configuration
  3. Edit plugins/DonKolia_ServerVariables/config.json with your MySQL credentials
  4. Configure your variables in plugins/DonKolia_ServerVariables/variables/
  5. Restart the server or use /svar reload

 

Configuration

config.json

The config.json file is automatically generated in plugins/DonKolia_ServerVariables/:

{
  "databaseHost": "localhost",
  "databasePort": 3306,
  "databaseName": "hytale_vars",
  "databaseUser": "root",
  "databasePassword": "password"
}
 

Database

The plugin automatically creates the server_variables table:

CREATE TABLE server_variables (
    uuid VARCHAR(36) NOT NULL,
    player_name VARCHAR(16),
    var_key VARCHAR(64) NOT NULL,
    var_value TEXT,
    PRIMARY KEY (uuid, var_key)
);
 

Columns:

  • uuid - Player's UUID
  • player_name - Player's name (for easier queries)
  • var_key - Variable name
  • var_value - Stored value

Variable Configuration

Variables are defined in YAML files inside plugins/DonKolia_ServerVariables/variables/.

Example Files

On first startup, two example files are created:

variables_numerales.yml

variables:
  oro:
    value_type: INTEGER
    limitations:
      max_value: 999999
      min_value: 0
      manage_out_of_range: true

  nivel:
    value_type: INTEGER
    limitations:
      max_value: 100
      min_value: 1
      manage_out_of_range: true

  experiencia:
    value_type: INTEGER
    limitations:
      max_value: 1000000
      min_value: 0
      manage_out_of_range: true

  puntos-habilidad:
    value_type: INTEGER
    limitations:
      max_value: 500
      min_value: 0
      manage_out_of_range: true

  reputacion:
    value_type: DOUBLE
    limitations:
      max_value: 100.0
      min_value: -100.0
      manage_out_of_range: true
 

variables_tipo_texto.yml

variables:
  rango:
    value_type: TEXT
    limitations:
      max_characters: 20

  titulo:
    value_type: TEXT
    limitations:
      max_characters: 30

  clan:
    value_type: TEXT
    limitations:
      max_characters: 16

  prefijo:
    value_type: TEXT
    limitations:
      max_characters: 10

  sufijo:
    value_type: TEXT
    limitations:
      max_characters: 10
 

Variable Structure

variables:
  variable-name:
    value_type: INTEGER|DOUBLE|TEXT
    limitations:
      # For INTEGER and DOUBLE:
      max_value: 100
      min_value: 0
      manage_out_of_range: true

      # For TEXT:
      max_characters: 50
 

Value Types

value_type:

  • INTEGER - Whole numbers (e.g.: 1, 100, -5)
  • DOUBLE - Decimal numbers (e.g.: 1.5, 99.99, -10.25)
  • TEXT - Free text

Limitations

For numeric variables (INTEGER/DOUBLE):

  • max_value - Maximum allowed value
  • min_value - Minimum allowed value (also the initial value)
  • manage_out_of_range - If true, automatically adjusts out-of-range values to the nearest limit

For text variables (TEXT):

  • max_characters - Maximum number of characters allowed

Initial Values

Initial values are automatically derived:

  • INTEGER/DOUBLE: The value of min_value
  • TEXT: Empty string ""

Reload Variables

After creating or modifying YAML files:

/svar reload
 

Commands

All commands use the format /svar <subcommand> <arguments>

/svar set <variable> <value> <player> [silent:true]

Sets the value of a variable.

Validations:

  • The variable must be defined in the YAML files
  • The value must match the variable's type
  • Configured limitations are applied

Examples:

/svar set oro 1000 DonKolia
/svar set nivel 5 DonKolia
/svar set rango "Guerrero" DonKolia
/svar set reputacion 75.5 DonKolia silent:true
 

/svar get <variable> <player>

Gets the value of a variable.

Behavior:

  • If the variable doesn't exist in the DB, returns the initial value
  • Validates that the variable is defined in YAML

Examples:

/svar get oro DonKolia
/svar get nivel DonKolia
 

/svar add <variable> <value> <player> [silent:true]

Adds a value to a numeric variable (INTEGER or DOUBLE).

Validations:

  • Only works with INTEGER or DOUBLE variables
  • Applies limitations after adding

Examples:

/svar add oro 100 DonKolia
/svar add reputacion 5.5 DonKolia silent:true
 

/svar reduce <variable> <value> <player> [silent:true]

Reduces the value of a numeric variable (INTEGER or DOUBLE).

Validations:

  • Only works with INTEGER or DOUBLE variables
  • Applies limitations after subtracting

Examples:

/svar reduce oro 50 DonKolia
/svar reduce reputacion 10.0 DonKolia silent:true
 

/svar reset <variable> <player> [silent:true]

Resets a variable to its initial value.

Behavior:

  • INTEGER/DOUBLE: Resets to min_value
  • TEXT: Resets to empty string

Examples:

/svar reset oro DonKolia
/svar reset nivel DonKolia silent:true
 

/svar reload

Reloads the plugin configuration and YAML variables.

Example:

/svar reload
 

silent:true Parameter

Add silent:true at the end of the command to suppress confirmation messages.

Example:

/svar set oro 1000 DonKolia silent:true
 

Limitation Management

manage_out_of_range: true

When enabled, out-of-range values are automatically adjusted:

oro:
  value_type: INTEGER
  limitations:
    max_value: 1000
    min_value: 0
    manage_out_of_range: true
 

Examples:

  • /svar set oro 1500 DonKolia → Saved as 1000
  • /svar set oro -50 DonKolia → Saved as 0

manage_out_of_range: false

When disabled, the operation is rejected:

nivel:
  value_type: INTEGER
  limitations:
    max_value: 100
    min_value: 1
    manage_out_of_range: false
 

Examples:

  • /svar set nivel 150 DonKolia → Error: "Value 150 exceeds maximum of 100"
 

Common Error Messages

"Variable 'X' is not defined in configuration files"
The variable doesn't exist in any YAML file. Create it first.

"Invalid value type for variable 'X'. Expected: INTEGER"
The provided value doesn't match the variable's type.

"Value X exceeds maximum of Y"
The value exceeds the allowed maximum and manage_out_of_range is set to false.

"Text exceeds maximum length of X characters"
The text is too long for the TEXT variable.

License

Created by DonKolia for Hytale

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

ServerVariables.jar

Early Access 15.01.2026 5.1 МБ
Скачать