- Документация
- https://modrinth.com/plugin/keepinventory-individual
Назначение плагина
KeepInventory Individual — серверный плагин для Paper и Spigot, который позволяет управлять KeepInventory отдельно для каждого игрока. Администратор может включить сохранение одному участнику, не меняя правило для остальных. Это подходит серверам с разными условиями смерти для отдельных групп.
Проект относится к категории game-mechanics. Клиентская сторона отмечена как неподдерживаемая, серверная — как обязательная: отдельный файл игрокам устанавливать не требуется. Лицензия — GPL-3.0-only.
Скриншоты и внешний вид
Принцип индивидуального режима
Плагин ведёт список игроков, для которых KeepInventory активен. Состояние можно изменить для исполнителя команды либо для указанного игрока. Так на одном сервере могут действовать разные правила потери вещей.
Основные варианты применения:
• включить сохранение инвентаря выбранному игроку;
• отключить его без изменения глобального правила;
• просмотреть список участников с активной функцией;
• задавать начальное состояние при входе через разрешения;
• отдельно разрешить сохранение опыта после смерти.
KeepInventory Individual не описывается как система могил, возврата предметов или восстановления содержимого. Его задача ограничена персональным управлением стандартной механикой сохранения.
Хранение данных: MySQL и YAML
Официальное описание заявляет поддержку MySQL. При рабочем соединении список игроков с включённым KeepInventory может храниться в базе данных. Если MySQL отключён или связь не установлена, плагин временно записывает список в YAML-файл.
После появления соединения заявлен автоматический перенос временных данных из YAML в базу. Поэтому база не обозначена как обязательное условие запуска, а локальный файл служит запасным и промежуточным хранилищем. Работа нескольких серверов с общей базой и длительные сетевые сбои не проверялись.
Чёрные списки миров и причин смерти
Конфигурация предусматривает два независимых ограничения: чёрный список миров и чёрный список причин смерти. Каждый блок можно включать отдельно. В официальном примере причины записываются заглавными буквами.
Исключение причины смерти позволяет отменить сохранение вещей в конкретной ситуации. В описании приведено падение в пустоту: даже игрок с активным KeepInventory может потерять инвентарь, если эта причина внесена в список. Мировой список аналогично ограничивает функцию в выбранных игровых пространствах.
Перед настройкой полезно определить:
• в каких мирах персональное сохранение разрешено;
• какие смерти должны обходить функцию;
• должно ли вместе с вещами сохраняться накопленный опыт;
• кто может менять состояние игроков;
• какие уведомления нужны при подключении.
Полный перечень допустимых причин в исходных данных не приведён, поэтому дополнять его предположениями нельзя.
Команды управления
Официально указана команда /keepinventory с несколькими подкомандами. on и off включают или отключают функцию для исполнителя либо указанного игрока. reload перечитывает конфигурационные файлы, list показывает игроков с активным KeepInventory, а help выводит справку.
Команды предназначены для операторов или пользователей с соответствующими разрешениями. Практическая проверка после установки может включать:
• назначение прав тестовому администратору;
• включение функции тестовому игроку;
• контролируемую смерть в обычном мире;
• повторную проверку в исключённом мире или при исключённой причине;
• сверку результата со списком активных игроков;
• проверку перечитывания настроек после изменения файлов.
Разрешения
Для команд заявлены узлы ki.admin.cmd.on, ki.admin.cmd.off, ki.admin.cmd.other, ki.admin.cmd.reload, ki.admin.cmd.list и ki.admin.cmd.help. По умолчанию они доступны операторам. Раздельные права позволяют выдавать сотруднику только нужные действия.
Дополнительно указаны:
• ki.keepxp — сохранение опыта после смерти;
• ki.onjoin.on — включение KeepInventory при входе, кроме чёрных списков миров;
• ki.onjoin.off — отключение KeepInventory при входе.
Официальный текст не раскрывает приоритет двух правил входа, если игрок одновременно получает ki.onjoin.on и ki.onjoin.off. Такое сочетание следует проверять отдельно, а не считать его результат очевидным.
Совместимость и платформы
Подтверждены Paper и Spigot. Перечень версий Minecraft: 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3 и 1.21.4.
Список следует воспринимать как подтверждённые метаданные проекта. Он не доказывает работу на отсутствующих версиях, иных серверных ядрах или будущих выпусках. Отдельная клиентская установка не предусмотрена.
Установка
JAR помещается в папку plugins совместимого сервера. После запуска следует проверить загрузку плагина и провести тест до применения механики к обычным игрокам.
Практическая последовательность:
• выбрать нужную версию файла;
• сверить имя, размер и контрольные суммы;
• создать резервную копию серверных данных;
• поместить JAR в каталог plugins;
• запустить сервер и проверить загрузку;
• настроить хранилище, исключения и права;
• провести контролируемую проверку смерти.
Специальные требования к Java и процедура миграции между выпусками в предоставленных данных не указаны.
Безопасность, файлы и контрольные суммы
Версии 1.6.1 соответствует Keep-Inv-Individual-1.6.1.jar размером 33 520 байт. SHA-512: 422d80c8cf2f822eebc7fcd0b80c50a75141638499cfdbc140f5ab2db7af69f68a2f642efb4bd172477d8ba0b461e60807100b6093a98dd7c243044ce8da51f4. SHA-1: a96f58be00ed4a3df62b7e02070c9f4a823d8ce6.
Версии 1.6 соответствует Keep-Inv-Individual-1.6.jar размером 33 391 байт. SHA-512: fb600a86357d3c47ae60aeeaf77f360a341d5dc406e2f06b41b6ba69ec67e0a509f6c8efae746e9f9d149404cd88daae92a6baad1e6656940811037cfcb59c33. SHA-1: bf0754eb790e3a5cb58feb88d4ee07fce1ba46f8.
Файлы получены по официальному HTTPS и локально совпали с опубликованными хешами. Архивы прошли статическую проверку структуры и путей.
Зависимости и API
В выбранных метаданных обязательные project dependencies не указаны. MySQL является поддерживаемым вариантом хранения, но не обозначен как обязательная зависимость.
Официальный текст сообщает о наличии API, позволяющего другим проектам использовать часть возможностей плагина. Состав методов, совместимость между версиями и правила интеграции здесь не приведены. Разработчику дополнения нельзя предполагать сигнатуры или поведение без документации конкретного выпуска.
Что проверить перед эксплуатацией
Динамический запуск не выполнялся. Поэтому подтверждены источник файлов, совпадение хешей и структура архивов, но не фактическая работа команд, базы, исключений и API.
Минимальный тестовый набор:
• сохранение предметов у игрока с включённой функцией;
• обычная потеря вещей у игрока без неё;
• действие чёрного списка мира;
• действие исключённой причины смерти;
• сохранение опыта с ki.keepxp;
• запись в YAML при недоступной базе;
• перенос списка в MySQL после соединения;
• поведение прав при повторном входе.
FAQ
Нужна ли установка игрокам?
Нет. Плагин устанавливается на сервер, а клиентская сторона отмечена как неподдерживаемая.
Можно ли включить KeepInventory только одному участнику?
Да. Индивидуальное включение и отключение для игроков является основной функцией проекта.
Обязателен ли MySQL?
Нет. При отключённом MySQL или отсутствии соединения список временно хранится в YAML, после чего заявлен автоматический перенос в базу.
Можно ли исключить отдельный мир или причину смерти?
Да. Для миров и причин предусмотрены раздельные чёрные списки.
Была ли версия 1.6.1 запущена на сервере при проверке?
Нет. Выполнялись сверка хешей и статическая проверка архива, но динамический запуск не проводился.