Рейдовый босс
Рейд — часть плагина HelgaGames (/raid). Весь сервер вместе призывает
босса «Страж логова» и дерётся с ним в логове у спавна. Деньги на
призыв уходят из экономики, а награду получает каждый, кто реально
дрался, независимо от снаряжения.
Исходники — plugins-src/HelgaGames, пакет ru.helgawind.games.raid.
Спецификация — docs/superpowers/specs/2026-10-05-raid-boss-design.md,
короткая инструкция по выкладке — docs/raid-setup.md там же.
Как это устроено
- Шкала призыва. Игроки вносят у алтаря деньги и ресурсы. Монета — 1 очко, ресурсы — по таблице ниже. Цель — 1 500 000 очков.
- Отсчёт. Шкала заполнилась → объявление всем и 10 минут отсчёта
полосой босса.
/raid holdостанавливает отсчёт, например чтобы дождаться стрима. - Бой. Босс появляется в логове. На бой 30 минут. Здоровье растёт с каждым новым участником.
- Итог.
| Исход | Когда | Шкала | Кулдаун 3 дня |
|---|---|---|---|
| Победа | здоровье босса 0 | обнуляется | да |
| Провал | вышло время | остаётся 50% | да |
| Отмена | /raid cancel | восстанавливается полностью | нет |
| Выключение | сервер остановлен или упал в бою | восстанавливается полностью | нет |
Если бой запустили вручную во время кулдауна, отмена или выключение возвращают прежний кулдаун.
Права
| Право | Кому | Что даёт |
|---|---|---|
| — | все | /raid (состояние), меню алтаря |
helgaraid.admin | OP (по умолчанию) | настройка логова, запуск, отмена, сверка платежей, reload |
Стримерше для запуска на эфире нужно helgaraid.admin.
Логово
Логово строится руками (или на стриме), плагину нужны только регион и точки. Требования к постройке:
- арена с потолком и стенами, без уступов и ниш, куда не пролезет босс: это визер-скелет ×3, около 7 блоков ростом. Без стен способности «удар о землю» и «притяжение» выбрасывают игроков наружу;
- вход снаружи региона, в логово заходят пешком;
- балкон для зрителей вне региона (полоса босса видна в 64 блоках от точки босса);
- блок алтаря снаружи, рядом со входом;
- защита постройки вне боя — регион WorldGuard, как у спавна.
Спавн мобов. Если в регионе WorldGuard у спавна стоит запрет
появления мобов, босс и прислужники не появятся. То же будет в мирной
сложности. Бой тогда не начнётся: /raid start ответит «Страж не
появился», шкала не пострадает. Разрешите появление мобов в регионе
логова и проверьте на тестовом сервере.
Настройка (один раз)
- Выделить WorldEdit (
//wand) всё логово →/raid lair set. - Встать в центр арены лицом к входу →
/raid point boss. - Встать у входа снаружи региона →
/raid point entrance. - Посмотреть на блок алтаря →
/raid altar. /raid status— в строке «Логово» должно быть «—». Иначе там написано, чего не хватает (регион, точка, точка босса вне региона, вход внутри региона).
Логово сохраняется в plugins/HelgaGames/data/raid-lair.yml.
Правила логова во время боя
Действуют для всех внутри региона, кроме helgaraid.admin в творческом
режиме:
- блоки не ломаются и не ставятся, вёдра не работают; взрывы, огонь, жидкости и мобы не меняют блоки;
- элитры выключаются, эндер-жемчуг и плод хоруса не работают;
- телепорты внутрь отменяются (HuskHomes и любые другие) — только пешком;
- PvP выключено;
- урон по боссу засчитывается, только если атакующий внутри региона (для стрел — стрелок);
- смерть: вещи и опыт остаются, могилы GravesX нет, появление у входа, 20 секунд вход закрыт (отталкивает от границы).
Наблюдатели и игроки в творческом режиме участниками не считаются и здоровье босса не поднимают.
Алтарь
Правый клик по блоку алтаря открывает меню:
- шкала: очки, цель, процент, сколько ещё можно внести ресурсами;
- взнос деньгами: 1 000 / 10 000 / 50 000 / 100 000, от 50 000 — окно подтверждения. Сверх цели сумма урезается до остатка;
- сундук сдачи ресурсов на 27 слотов. При закрытии засчитывается то, что влезает в квоты; остальное возвращается в инвентарь, не влезшее — под ноги;
- квоты ресурсов, топ-5 вкладчиков, вклад самого игрока.
Во время кулдауна и боя меню показывает состояние, но взносы не принимает.
| Ресурс | Очков за шт. | Квота, % цели |
|---|---|---|
| Древний обломок | 3 000 | 20 |
| Алмаз | 300 | 15 |
| Слеза гаста | 400 | 5 |
| Огненный стержень | 120 | 3 |
| Эндер-жемчуг | 80 | 3 |
| Слизь | 40 | 2 |
| Порох | 25 | 2 |
| Кость | 15 | 2 |
Все ресурсы вместе дают не больше 50% цели, остальное — только деньги. Принимаются обычные предметы без имени и зачарований, целиком: если квоты не хватает на всю стопку, лишнее возвращается.
Варп и голограмма — не плагином:
- HuskHomes: встать у входа →
/setwarp raid; - DecentHolograms над алтарём:
&4&lАлтарь Стража,&7Шкала: &e%helgaraid_points%&7/&e%helgaraid_goal%,&7%helgaraid_state%.
Плейсхолдеры (PlaceholderAPI): %helgaraid_points%, %helgaraid_goal%,
%helgaraid_percent%, %helgaraid_state%, %helgaraid_cooldown%.
Бой
Босс — визер-скелет ×3 с незеритовым мечом. Не исчезает, не горит на
солнце, не ломает блоки. Здоровье своё, не ванильное:
10 000 + 5 000 × участники. Участник — кто хоть раз был внутри
региона во время боя; новый участник поднимает максимум, процент
оставшегося здоровья сохраняется.
| Способность | С фазы | Что делает | Кулдаун |
|---|---|---|---|
| Удар о землю | 1 (100–70%) | урон и отбрасывание в радиусе 6 | 20 с |
| Притяжение | 1 | тянет к себе тех, кто дальше 12 блоков | 25 с |
| Прислужники | 2 (70–35%) | 2 + 1 на каждых 3 участников, до 12 | 40 с |
| Огненные метки | 3 (35–0%) | круги под 3–5 игроками, через 2 с урон и огонь | 15 с |
| Ярость | ниже 10% | кулдауны ×0,6 | — |
Перед каждой способностью — 1,5–2 секунды предупреждения: частицы, звук, надпись на экране. Цель босс меняет каждые 8 секунд: чаще всего бьёт того, кто нанёс больше урона за последние 30 секунд.
Награды
| Награда | Кому |
|---|---|
| Основная | нанёс не меньше 2% всего урона и в момент победы внутри логова (или ждёт входа после смерти) |
| Топ-3 | трое с наибольшим уроном среди получивших основную |
| 1-е место | первый из топ-3 |
| За призыв | вложил в шкалу не меньше 1% цели за этот цикл; на бою быть не нужно |
| Серверная | всем: событие JobSystem raid-victory — 30 минут ×1,5 опыта |
Награды складываются. Состав по умолчанию:
| Награда | Что |
|---|---|
| Основная | ключ Кейса зачарований, ключ Кейса косметики, голова Стража |
| Топ-3 | «Шлем Стража»: брони 0, +2 сердца, неразрушимый, только с рейда; книга III уровня — случайно Inquisitive, Headless или Mermaid |
| 1-е место | ваучер питомца по очереди: варден → скрипун → пчела → броненосец |
| За призыв | ключ Кейса косметики |
Каждая награда — список команд от консоли в raid.yml → rewards,
{player} — ник. pick-one — одна случайная команда из списка,
rotate — по очереди (номер хранится в данных рейда).
Выдача. Тем, кто онлайн, — сразу. Офлайн — при входе после авторизации AuthMe. Кто сейчас в мини-игре HelgaGames — после выхода из неё (иначе возврат вещей после игры стёр бы награду). Каждая награда отмечается на диске до выполнения команд, перезапуск не выдаст её повторно. Упавшая команда — запись в консоль и сообщение админам онлайн.
Команды
| Команда | Что делает |
|---|---|
/raid | состояние для всех: шкала, кулдаун, идёт ли бой |
/raid lair set | регион логова — текущее выделение WorldEdit |
/raid point boss / entrance | точка босса / вход — где стоишь |
/raid altar | алтарь — блок, на который смотришь |
/raid start | начать бой сразу: после отсчёта, на паузе, в любой момент, даже в кулдаун |
/raid hold | остановить отсчёт после заполнения шкалы |
/raid cancel | отменить бой, шкала восстанавливается полностью |
/raid status | логово, шкала по источникам, бой, платежи на сверке, невыданные награды |
/raid reload | перечитать raid.yml (вне боя; при ошибке остаются прежние настройки) |
/raid money list | взносы с неизвестным результатом списания |
/raid money resolve <id> applied|not | закрыть взнос вручную |
Стрим
Шкала заполнилась → /raid hold → в эфире /raid start. Можно и без
шкалы: /raid start запускает бой в любой момент. Набранное в шкале
при этом не обнуляется — после боя те же правила, что и для
призванного.
Деньги и сверка
Взнос деньгами записывается в журнал до списания, поэтому ни краш, ни ошибка Vault не теряют деньги и не списывают дважды. Возвратов нет — это трата.
Если результат списания неизвестен (Vault ответил ошибкой или сервер
упал посреди списания), взнос попадает в /raid money list, а в
консоли при старте — Raid: N payment(s) need /raid money resolve.
Проверить баланс игрока и:
- деньги списаны →
/raid money resolve <id> applied— взнос засчитывается в шкалу; - не списаны →
/raid money resolve <id> not— запись снимается.
Во время боя сверка запрещена: отмена или выключение откатили бы шкалу вместе с засчитанным взносом. Повторите после боя.
Настройки
plugins/HelgaGames/raid.yml, после правки — /raid reload (вне боя).
Ошибка в файле — сообщение в чат и консоль, рейд продолжает работать на
прежних настройках. Если ошибка в файле при запуске сервера, рейд
выключается (Raid disabled: … в консоли), мини-игры работают дальше.
| Ключ | По умолчанию | Что |
|---|---|---|
enabled | true | рейд включён |
goal | 1500000 | цель шкалы, очков |
resource-share-max | 0.5 | доля цели, которую могут дать ресурсы |
contribution-bonus-share | 0.01 | порог вклада для награды за призыв |
countdown-seconds | 600 | отсчёт после заполнения шкалы |
cooldown-hours | 72 | пауза после победы или провала |
time-limit-minutes | 30 | предел боя |
fail-keep-share | 0.5 | сколько шкалы остаётся при провале |
respawn-lock-seconds | 20 | вход закрыт после смерти |
reward-threshold | 0.02 | доля урона для основной награды |
resources | см. таблицу | очки и квоты ресурсов |
boss.health | 10000 + 5000 | здоровье: база + за участника |
boss.abilities | см. таблицу | урон, радиусы, кулдауны способностей |
rewards | см. выше | команды наград |
Файлы
| Файл | Что |
|---|---|
plugins/HelgaGames/raid.yml | настройки |
plugins/HelgaGames/data/raid.yml | шкала, вклады, состояние боя, платежи на сверке, невыданные награды |
plugins/HelgaGames/data/raid-lair.yml | регион и точки логова |
plugins/HelgaGames/raid/fights.log | по строке на бой: исход, длительность, участники, максимум здоровья, урон и смерти каждого |
Данные пишутся атомарно. Если data/raid.yml всё же испорчен, плагин
сохраняет его копию рядом (raid.yml.broken-<время>) и выключает рейд с
сообщением в консоли — файл не сбрасывается молча.
Выкладка
Плагин на тестовом стенде проверен сценариями ботов. Перед первым боем на проде:
-
Бэкап. Выложить jar HelgaGames;
raid.ymlсоздастся при первом запуске. -
Построить логово, задать регион и точки (см. выше), проверить
/raid status. -
Разрешить появление мобов в регионе логова (WorldGuard).
-
JobSystem. В
plugins/JobSystem/configs/events.yml, разделevents:raid-victory:enabled: truedisplay-name: 'Победа над Стражем'duration-minutes: 30jobs: []worlds: []biomes: []environments: []money-multiplier: 1.0xp-multiplier: 1.5/job admin reload, затем в консолиjobadmin event start raid-victory— событие должно начаться для всех работ. Если пустойjobs: []не означает «все работы», перечислить все 14. Если синтаксис команды другой — поправитьrewards.serverвraid.yml. Вevents.ymlallow-overlap: false: если в момент победы идёт другое событие, серверная награда пропускается. -
Награды. Выполнить в консоли каждую команду из
rewardsсо своим ником вместо{player}: ключи CrazyCrates, книги CrazyEnchantments, ваучерыshopadmin give voucher pet-…. -
Голова Стража. Выбрать текстуру на minecraft-heads и вписать в команду головы в
rewards.base(player_head[profile={properties:[{name:"textures",value:"…"}]},…]). Пока голова без текстуры. -
Варп
/setwarp raidи голограмма над алтарём. -
Первый бой — на стриме с ручным запуском. После — открыть
raid/fights.logи при необходимости поправитьboss.healthиreward-threshold, затем/raid reload.
Если что-то не так
| Симптом | Причина и что делать |
|---|---|
/raid start → «Нельзя начать: …» | в сообщении — чего не хватает в логове; /raid status |
| «Страж не появился» | мирная сложность или запрет появления мобов в регионе; подробности в консоли |
Raid disabled: … в консоли при старте | ошибка в raid.yml или испорчен data/raid.yml — текст ошибки в той же строке |
| Игрок заплатил, шкала не выросла | /raid money list → проверить баланс → resolve |
| Награда не пришла | /raid status — невыданные награды; игрок в мини-игре получит после выхода; упавшие команды — в консоли |
| Босс «убегает» из логова | возвращается на точку босса сам, если вне региона или без цели дольше 10 с |