Перейти к содержанию

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

ArkBossCooldown настраивается через единственный файл config.json в папке плагина:

ShooterGame/Binaries/Win64/ArkApi/Plugins/ArkBossCooldown/config.json

Рядом с ним поставляется второй файл, config_commented.json. Это та же конфигурация с комментариями // — читайте его, но не переименовывайте поверх config.json (комментарии не являются валидным JSON).

Ключи LicenseKey, Verbose, LogToFile и Database являются общими для каждого плагина Bytemart и задокументированы на странице Общая конфигурация. Эта страница описывает ключи, уникальные для ArkBossCooldown.

💡 Проверяйте перед запуском. Всегда проверяйте ваш JSON после редактирования (например, через JSONLint). Код ошибки загрузки 1114 означает синтаксическую ошибку JSON — её легко допустить в длинном массиве Bosses.

TestMode

"TestMode": false

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

  1. Установите TestMode в true и перезагрузите (ArkBossCooldown.reload).
  2. Создайте трибьют, который хотите ограничить.
  3. Скопируйте путь из строки консоли — она выглядит как [TestMode] Crafted item blueprint: Blueprint'/Game/...'.
  4. Вставьте его в Bosses, верните TestMode обратно в false и снова перезагрузите.
Поле Тип По умолчанию Описание
TestMode boolean false Логировать путь чертежа каждого создаваемого предмета.

⚠️ Не забудьте снова выключить. При включённом TestMode активный сервер пишет строку в консоль на каждый крафт каждого игрока. Это инструмент для поиска, а не настройка, которую стоит оставлять включённой.

BossStartCooldown

"BossStartCooldown": 5

Сколько секунд весь сервер должен ждать между двумя стартами боссов. Первый крафт трибьюта запускает кулдаун; каждый следующий крафт трибьюта отклоняется, пока он не истечёт.

Поле Тип По умолчанию Описание
BossStartCooldown number 5 Секунды между стартами боссов, для всего сервера.

Значение по умолчанию 5 — это дебаунс: он поглощает всплеск спам-кликов и незаметен при обычной игре. Большие значения превращают плагин в настоящее ограничение по частоте, что работает, но учтите два момента:

  • Это общесерверное ограничение. 30-минутный кулдаун означает, что одно племя, запустившее босса, блокирует все остальные племена на 30 минут. Это решение по дизайну вашего сервера, а не баг.
  • Он не переживает перезапуск. Запущенный кулдаун хранится в памяти, поэтому перезапуск сервера (или выгрузка/загрузка плагина) его сбрасывает. Не страшно для нескольких секунд; стоит помнить, если вы задаёте значение в часах.

ArkBossCooldown.reload подхватывает новое значение немедленно, но намеренно оставляет уже запущенный кулдаун работать.

CooldownMessage

1
2
3
4
5
6
7
8
"CooldownMessage": {
  "Enabled": true,
  "Channel": "Notification",
  "Message": "Boss is on cooldown, please wait %delay%.",
  "Color": { "R": 255, "G": 0, "B": 0, "A": 255 },
  "Scale": 1.0,
  "Time": 5.0
}

Что видит игрок, которому было отказано. Уведомляется только этот игрок — остальным на сервере ничего не транслируется.

Поле Тип По умолчанию Описание
Enabled boolean true Установите false, чтобы отклонять старт босса молча.
Channel string "Notification" "Chat", "Notification" или "Broadcast". Нераспознанное значение возвращается к "Chat".
Message string см. выше Текст сообщения. Поддерживает плейсхолдеры ниже.
Color object красный R, G, B, A, каждый 0–255. A — это непрозрачность.
Scale number 1.0 Размер текста. Только для канала Notification — игнорируется на остальных.
Time number 5.0 Секунды, в течение которых сообщение остаётся на экране. Только для Notification и Broadcast — строка в чате остаётся в журнале чата в любом случае.

Плейсхолдеры

Плейсхолдер Раскрывается в Пример
%delay% Оставшееся время, прописью 1 Minute, 5 Seconds
%seconds% Оставшееся время как обычное число секунд 65

Используйте %delay% для сообщения, которое читают игроки, и %seconds%, когда вам нужно что-то компактное:

"Message": "Boss on cooldown - %seconds%s remaining."

💡 Notification также принимает Icon. Добавьте ключ "Icon" с путём к текстуре, чтобы показать изображение рядом с уведомлением. Его нет в поставляемой конфигурации; добавьте его сами, если он вам нужен — восстановление конфигурации только добавляет отсутствующие ключи, так что он переживёт обновления.

Bosses

1
2
3
4
"Bosses": [
  "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Cloth/PrimalItem_BossTribute_Spider_Easy.PrimalItem_BossTribute_Spider_Easy'",
  "Blueprint'/Game/Fjordur/Boss/Arena/PrimalItem_BossTribute_FenrirBoss_Hard.PrimalItem_BossTribute_FenrirBoss_Hard'"
]

Пути чертежей каждого предмета трибьюта, запускающего кулдаун. Всё, чего нет в этом списке, крафтится совершенно обычным образом — плагин это игнорирует.

Поле Тип Описание
Bosses array of strings Полные пути чертежей, включая обёртку Blueprint'...' и повторённое имя ассета после последней точки. Сравнение точное.

Поставляемый список охватывает предметы трибьюта для The Island, The Center, Scorched Earth, Ragnarok, Aberration, Valguero, Fjordur, Lost Island и Crystal Isles, для каждой сложности.

Чтобы ограничить что-то ещё — другую карту, модовую арену или кастомный трибьют — используйте TestMode, чтобы захватить путь, и добавьте его сюда. Чтобы перестать ограничивать босса, удалите его строку.

⚠️ Копируйте пути точно. Сравнение идёт побайтово по полному пути. Отсутствующая завершающая ', укороченный путь или имя ассета, указанное один раз вместо двух — всё это означает «нет совпадения», и трибьют будет крафтиться вообще без кулдауна. Ошибки для нераспознанного пути нет, так что проверяйте изменение реальным крафтом.

Полный пример

15-минутное ограничение, объявляемое в чате:

{
  "LicenseKey": "PLACE_YOUR_LICENSEKEY_HERE",
  "Verbose": false,
  "LogToFile": false,
  "TestMode": false,
  "BossStartCooldown": 900,
  "CooldownMessage": {
    "Enabled": true,
    "Channel": "Chat",
    "Message": "A boss fight has already started. Next one available in %delay%.",
    "Color": { "R": 255, "G": 180, "B": 0, "A": 255 },
    "Scale": 1.0,
    "Time": 8.0
  },
  "Bosses": [
    "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Cloth/PrimalItem_BossTribute_Spider_Easy.PrimalItem_BossTribute_Spider_Easy'"
  ],
  "Database": {
    "MysqlHost": "localhost",
    "MysqlPort": 3306,
    "MysqlUser": "username",
    "MysqlPass": "password",
    "MysqlDB": "database"
  }
}

ℹ️ Database обязателен, но не используется. ArkBossCooldown подключается при запуске, как и любой плагин Bytemart, но ничего своего там не хранит. Укажите любую базу данных, к которой сервер может подключиться.


Дальнейшие шаги: