- Документация
- https://modrinth.com/plugin/servervariables
Назначение плагина
ServerVariables — серверный плагин для создания собственных переменных и управления их значениями. Данные могут относиться к отдельному игроку или ко всему серверу. Официальное описание предусматривает изменение значений командами, их получение средствами плагина и вывод через PlaceholderAPI.
Категории проекта: game-mechanics, management, utility и economy. Он хранит показатели, но не задаёт готовый игровой сценарий. Клиентская сторона отмечена как unsupported, серверная — как required.
Скриншоты и внешний вид
Переменные игроков и глобальные значения
Переменная игрока хранит отдельное значение для каждого участника. Такой формат подходит для очков, числа нарушений, количества жизней и других персональных показателей.
Глобальная, или серверная, переменная отражает общее состояние. В официальном примере упоминается статус портала, который может быть включён или выключен. Одно такое значение может использоваться несколькими связанными механиками.
Область выбирают заранее: персональный показатель не должен случайно становиться общим, а серверное состояние — дублироваться у каждого игрока.
Типы и правила значений
Заявлены три типа:
• TEXT — текст;
• INTEGER — целое число;
• DOUBLE — число с дробной частью.
Количество жизней обычно выражается целым числом, дробный показатель требует DOUBLE, а состояние может храниться как TEXT. Поведение операций сверяют с документацией версии.
Также указаны начальные значения, возможные значения и возможные display values. Это позволяет ограничивать набор состояний и отделять внутреннее значение от отображаемого. Формат их настройки в предоставленной основе отсутствует.
Доступные операции
Официальный перечень включает команды для установки, получения, увеличения, уменьшения и сброса переменной игрока или сервера. Точный синтаксис, разрешения и обработка ошибочных аргументов не приведены, поэтому воспроизводить их по предположению нельзя.
Перед внедрением полезно определить:
• кто читает и изменяет показатель;
• допустимы ли увеличение и уменьшение;
• к какому состоянию приводит сброс;
• нужен ли ограниченный набор значений;
• где результат отображается;
• какая игровая механика является источником изменения.
Такой план предотвращает несогласованную запись одного показателя несколькими системами.
Примеры применения
В официальном тексте перечислены:
• экономика с несколькими валютами;
• общий статус портала;
• персональная система очков;
• счётчик нарушений;
• система жизней с уменьшением после смерти.
Для сценария с жизнями упоминается ConditionalEvents. Это пример совместного использования, а не обязательная зависимость ServerVariables.
Плагин хранит значения, но сам по себе не подтверждает наличие полностью готовой экономики, наказаний или режима жизней. Условия начисления, списания и реакции на изменения определяются серверной логикой и подключёнными инструментами.
PlaceholderAPI, Developer API и MySQL
PlaceholderAPI заявлен для вывода значений через совместимые плейсхолдеры. Их точные идентификаторы и список принимающих расширений следует брать из документации версии.
Developer API позволяет обращаться к переменным из другого кода, но классы, методы и события не перечислены. В интеграции учитывают версию, область, тип и отсутствующее значение.
MySQL также указан среди возможностей. Это подтверждает наличие связанного функционала, но не раскрывает схему таблиц, параметры подключения, миграцию и поведение при недоступности базы. Эти детали нельзя назначать без отдельной документации и проверки.
Совместимость с Minecraft
Подтверждены:
• 1.8 и 1.8.1–1.8.9;
• 1.9–1.9.4;
• 1.10–1.10.2;
• 1.11–1.11.2;
• 1.12–1.12.2;
• 1.13–1.13.2;
• 1.14–1.14.4;
• 1.15–1.15.2;
• 1.16–1.16.5;
• 1.17 и 1.17.1;
• 1.18–1.18.2;
• 1.19–1.19.4;
• 1.20–1.20.6;
• 1.21–1.21.11;
• 26.1, 26.1.1, 26.1.2 и 26.2.
Заявленные платформы: Paper, Purpur и Spigot. Перечень версий отражает метаданные проекта, но не гарантирует бесконфликтную работу одной сборки с любым ядром и набором расширений.
Установка
JAR помещается в папку plugins совместимого сервера. Клиентский компонент не требуется.
Практический порядок:
• Сделать резервную копию тестового сервера.
• Остановить сервер.
• Поместить выбранный JAR в plugins.
• Запустить сервер и проверить журнал.
• Убедиться, что плагин распознан ядром.
• Создать тестовую переменную по официальной документации.
• Проверить запись, чтение, изменение и сброс.
• Проверить используемые интеграции.
• После этого переносить решение в рабочую среду.
Требования к Java, памяти и точным версиям внешних компонентов не предоставлены.
Безопасность, файлы и хеши
Версии 3.7.2 соответствует ServerVariables-3.7.2.jar размером 351733 байта.
SHA-512: a2d6f30a62d327d602740aacb5b976cc489f6b33e555d0239f3cfa1dff0180cea2b09d4cb2e7d02d3cb0f246adb344b1eaadb87b161fb9f654add32d951aabbc
SHA-1: c57c8a12592e46df2de285db9cc6b27d39b95840.
Версии 3.6.2 соответствует ServerVariables-3.6.2.jar размером 350495 байт.
SHA-512: 055a7ca868c77ccc08f9bc14f65ea37f92ae5c09571dd830f88c32b98f540ee01295cb539baec45a6ee8f984e2beb995c1afa0cf522b7b58c80bc088feb9d00f
SHA-1: 448030863cf1f73c3362092765283374af1aa0e8.
Хеши позволяют сравнить загруженный файл с опубликованным экземпляром. Они не подтверждают правильность настройки или интеграций.
Зависимости и границы проверки
В выбранных метаданных обязательные project dependencies не указаны. PlaceholderAPI, ConditionalEvents и MySQL упоминаются как поддержка, пример интеграции или функция, но не объявлены обязательными для каждого сценария.
Файлы получены по официальному HTTPS и локально сверены по опубликованным хешам. Архивы прошли статическую проверку структуры и путей. Динамический запуск не выполнялся, поэтому команды, хранение данных, PlaceholderAPI, Developer API и MySQL фактически не тестировались.
Планирование системы переменных
Перед настройкой полезно составить реестр:
• назначение переменной;
• область — игрок или сервер;
• тип TEXT, INTEGER либо DOUBLE;
• начальное значение;
• допустимые и отображаемые значения;
• источник изменения;
• условия сброса;
• места вывода;
• связанные плагины.
Следует избегать показателей с одинаковым смыслом и неоднозначных правил обновления. Перед массовыми изменениями нужна резервная копия.
Лицензия
ServerVariables распространяется по лицензии MIT. Она регулирует использование, изменение и распространение кода при сохранении предусмотренных уведомлений. Лицензия не устанавливает гарантию совместимости, сохранности данных или технической поддержки.
FAQ
Нужен ли плагин на клиенте?
Нет. Клиентская сторона указана как unsupported, серверная — как required. JAR устанавливается в plugins сервера.
Какие типы переменных доступны?
Официально перечислены TEXT, INTEGER и DOUBLE. Также заявлены начальные, возможные и отображаемые значения.
Можно ли создать несколько валют?
Такой сценарий приведён среди официальных примеров. ServerVariables хранит показатели, а правила начисления и списания определяются серверной логикой.
Обязателен ли PlaceholderAPI?
В выбранных метаданных обязательные зависимости не указаны. PlaceholderAPI заявлен как поддерживаемая возможность вывода значений.
Что известно о MySQL?
MySQL указан среди функций. Детали подключения, схемы хранения и миграции в предоставленных данных отсутствуют.
Проверялись ли JAR-файлы запуском?
Нет. Выполнены получение по официальному HTTPS, сверка хешей и статическая проверка структуры и путей, но не динамический запуск.