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
Описание
Мод Hytale, который позволяет хранить и управлять переменными игрока в MySQL с настраиваемой валидацией и ограничениями.
Автор: Дон Коля
Версия: 1.0.0
- Постоянное хранилище переменных в MySQL
- Система валидации с типами данных (INTEGER, DOUBLE, TEXT)
- ✅ Конфигурируемые ограничения (максимальные значения, максимальные символы)
- Автоматическое управление стоимостью вне диапазона
- Публичный API для других плагинов
- Конфигурация через файлы YAML
- Полные команды с бесшумным режимом
- ✅ Автоматически полученные начальные значения
- Место
ServerVariables.jarв твоем Сервер Hytaleмодс/папка - Запустите сервер, чтобы автоматически генерировать конфигурацию
- Редактировать
плагины/DonKolia_ServerVariables/config.jsonС вашими учетными данными MySQL - Конфигурируйте переменные в
плагины/DonKolia_ServerVariables/variables/ - Перезагрузить сервер или использовать
/svar reload
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/.
При первом запуске создаются два примерных файла:
переменные: или: 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: истинный
переменные: рангом: 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> <аргументы>
Устанавливает значение переменной.
Валидация:
- Переменная должна быть определена в файлах YAML.
- Значение должно соответствовать типу переменной
- Настроенные ограничения применяются
Примеры:
/svar set oro 1000 Донколия
/svar set nivel 5 Дон Коля
/svar set rango «Герреро» Донколия
/svar set reputacion 75.5 Донколия молчит: правда
Получает значение переменной.
Поведение:
- Если переменная не существует в DB, возвращает начальное значение.
- Подтверждает, что переменная определена в YAML
Примеры:
/svar get oro Донколия
/svar get nivel Донколия
Добавляет значение в числовую переменную (ИНТЕГЕР или ДУБЛЯ).
Валидация:
- Работает только с переменными INTEGER или DOUBLE
- Ограничения после добавления
Примеры:
/svar add oro 100 Донколия
/svar add reputacion 5.5 Дон Коля молчал: правда
Уменьшает значение числовой переменной (ИНТЕГЕР или ДУБЛЯ).
Валидация:
- Работает только с переменными INTEGER или DOUBLE
- Применяет ограничения после вычитания
Примеры:
/svar уменьшить оро 50 Донколия
/svar уменьшает репутацию 10.0 ДонКоля молчал: правда
Пересчитывает переменную до ее первоначального значения.
Поведение:
- INTEGER/DOUBLE: перезагрузка
min_value - TEXT: Перезагрузка в пустую строку
Примеры:
/svar reset oro DonKolia
/svar reset nivel DonKolia silent:true
Перезагружает конфигурацию плагина и переменные YAML.
Пример:
/svar reload
Добавить Альбом: True в конце команды подавлять сообщения подтверждения.
Пример:
/svar set oro 1000 DonKolia silent:true
При включении значения вне диапазона автоматически корректируются:
или: Value_type: интегратор ограничения: max_value: 1000000000 min_value: 0 Управлять_out_range: истинный
Примеры:
/svar set oro 1500 Дон КоляСпасенный как1000000000/svar set oro -50 ДонколияСпасенный как0
При отключении операция отклоняется:
пупок: 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)
Hytale mod that allows storing and managing player variables in MySQL with configurable validation and limitations.
Author: DonKolia
Version: 1.0.0
- ✅ 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
- Place
ServerVariables.jarin your Hytale server'smods/folder - Start the server to automatically generate the configuration
- Edit
plugins/DonKolia_ServerVariables/config.jsonwith your MySQL credentials - Configure your variables in
plugins/DonKolia_ServerVariables/variables/ - Restart the server or use
/svar reload
The config.json file is automatically generated in plugins/DonKolia_ServerVariables/:
{
"databaseHost": "localhost",
"databasePort": 3306,
"databaseName": "hytale_vars",
"databaseUser": "root",
"databasePassword": "password"
}
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 UUIDplayer_name- Player's name (for easier queries)var_key- Variable namevar_value- Stored value
Variables are defined in YAML files inside plugins/DonKolia_ServerVariables/variables/.
On first startup, two example files are created:
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: 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
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_type:
INTEGER- Whole numbers (e.g.: 1, 100, -5)DOUBLE- Decimal numbers (e.g.: 1.5, 99.99, -10.25)TEXT- Free text
For numeric variables (INTEGER/DOUBLE):
max_value- Maximum allowed valuemin_value- Minimum allowed value (also the initial value)manage_out_of_range- Iftrue, automatically adjusts out-of-range values to the nearest limit
For text variables (TEXT):
max_characters- Maximum number of characters allowed
Initial values are automatically derived:
- INTEGER/DOUBLE: The value of
min_value - TEXT: Empty string
""
After creating or modifying YAML files:
/svar reload
All commands use the format /svar <subcommand> <arguments>
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
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
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
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
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
Reloads the plugin configuration and YAML variables.
Example:
/svar reload
Add silent:true at the end of the command to suppress confirmation messages.
Example:
/svar set oro 1000 DonKolia silent: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 as1000/svar set oro -50 DonKolia→ Saved as0
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"
"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.
Created by DonKolia for Hytale