EliteMobs: настройка PvE-боссов на Minecraft сервере (2026)

EliteMobs: настройка PvE-боссов на Minecraft сервере (2026)

Если MythicMobs кажется слишком низкоуровневым и нет желания собирать каждое сражение из YAML-кубиков с нуля, вторым большим именем в нише PvE-плагинов остаётся EliteMobs от MagmaGuy. Из коробки даёт уровневое масштабирование мобов, хаб-мир Adventurers Guild, инстансированные подземелья, кастомных боссов с абилками, кастомные предметы со статами, квесты и интеграцию с Discord. Ниже разберу установку на Paper 1.21+, реальные параметры конфига, формат YAML для боссов и где плагин любит ломаться.

Что делает EliteMobs и почему его ставят рядом с MythicMobs, а не вместо

EliteMobs это открытый PvE-движок. Если MythicMobs это конструктор, из которого собираешь каждого моба, то EliteMobs ближе к готовой PvE-игре в виде плагина: автоматически апгрейдит ванильных мобов в уровневых элиток, дропает процедурный лут со статами и даёт параллельный слой прогрессии поверх ванильного опыта.

Разделение примерно такое:

  • MythicMobs выбирают, когда нужен полный контроль над каждым мобом, каждой абилкой, каждой строкой триггера.
  • EliteMobs выбирают, когда нужен рабочий PvE-контент уже к вечеру без сотни YAML-файлов.

Многие админы держат оба плагина одновременно. EliteMobs тащит гринд в открытом мире и подземелья, MythicMobs закрывает event-боссов и редкие случаи, где нужны абилки сложнее, чем умеет EliteMobs. Они не воюют друг с другом, потому что нацелены на разных мобов.

Что игрок видит на старте

  • Ванильные зомби, скелеты, криперы спавнятся с уровнем, скейлящимися статами и префиксами вроде Strong, Heroic, Tanky.
  • Центральный хаб-мир Adventurers Guild с NPC, магазинами, очередями в подземелья.
  • Инстанс-подземелья: на каждую группу плагин разворачивает свой мир по запросу.
  • Кастомные боссы с фазами, абилками, призывом миньонов, регенерацией.
  • Квесты с диалогами NPC и процедурными целями вида "убей" и "принеси".
  • Кастомные предметы с прокаченными статами и тирами редкости, продаются в гильдии или падают с элиток.

Установка и первый запуск

EliteMobs выкладывается на Modrinth и Hangar. Актуальная мажорная ветка в 2026 году это 9.x, требует Paper 1.21+ и Java 21.

cd /opt/minecraft/plugins/
wget https://github.com/MagmaGuy/EliteMobs/releases/latest/download/EliteMobs.jar

Soft-зависимости, которые имеет смысл накатить сразу:

  • WorldGuard плюс WorldEdit для region exclusion (никаких элиток на спавне).
  • Vault плюс экономический плагин (EssentialsX, CMI), иначе магазины гильдии не примут деньги.
  • DiscordSRV, если нужны анонсы спавна боссов в Discord.
  • PlaceholderAPI, если другие плагины должны видеть уровень и валюту игрока EliteMobs.

Стопаем сервер по нормальному (никаких /reload), кладём jar, запускаем заново. EliteMobs создаёт дерево директорий в plugins/EliteMobs/ и подтягивает дефолтный контент-пак с серверов Magmaguy. Первый запуск идёт на минуту дольше, потому что плагин качает пак и пишет около 200 YAML-файлов.

plugins/EliteMobs/
├── config.yml
├── adventurersguild/
├── bosses/
├── customitems/
├── customlootlists/
├── customquests/
├── customschematics/
├── dungeons/
├── mobs/
└── translations/

После каждой правки YAML делаем /em reload для мягкого перезапуска. Полный рестарт всё равно надёжнее, если трогали config.yml или настройки миров.

Базовый config.yml: что реально влияет на TPS

Дефолтный config.yml объёмный, но реально на нагрузку влияют единицы опций. Полный референс лежит на GitHub wiki.

general:
  mobLevelCalculationCenter: SPAWN
  mobLevelCalculationRadius: 1500
  doMobsLevelByDistance: true
  preventCreeperGriefing: true
  preventCustomMobLootTheft: true
  defaultMobSpawnLevel: 1

combat:
  damageMitigation: true
  preventTrueDamageOnEliteMobs: true
  enableCombatTagging: true
  combatTagDuration: 30

economy:
  currencyName: 'Elite Coin'
  currencyShorthand: 'EC'
  defaultPlayerCurrencyName: 'gold'

mobLevelCalculationRadius это главная ручка во всём конфиге. EliteMobs меряет расстояние от центра расчёта и по нему присваивает уровень мобу. Слишком маленький радиус и за стеной спавна уже бегают элитки 250 уровня. Слишком большой и весь мир остаётся на 1 уровне.

На survival-сервере с картой 10k на 10k ставим центр на спавн и радиус в районе 4000-5000. Игроки рядом со спавном видят 1-10 уровни, на границе 100+, кривая примерно линейная.

Отключать doMobsLevelByDistance имеет смысл, только если планируете задавать зоны уровней через флаги WorldGuard.

MobTier: как масштабируются обычные мобы

Каждый ванильный моб при естественном спавне имеет шанс попасть в апгрейд до Elite Mob. Тир апгрейда настраивается в mobs/<entitytype>.yml:

# mobs/zombie.yml
isEnabled: true
spawnChance: 0.3
canBossSpawn: true
canBossDrop: true
healthMultiplier: 1.4
damageMultiplier: 1.2
xpMultiplier: 1.5

spawnChance: 0.3 означает, что 30 процентов натуральных зомби получают элитный апгрейд. На загруженном survival этот параметр главный по балансу и по TPS одновременно. Выше 0.5 в тёмных пещерах становится невыносимо, ниже 0.1 EliteMobs становится невидимым.

Множители здоровья и урона перемножаются с уровнем. Элитный зомби 50 уровня с healthMultiplier: 1.4 получит около 1.4 базы 50 уровня.

Полностью выключить категорию можно через isEnabled: false. Удобно, если хотите элитных зомби и скелетов, но не хотите элитных эндерменов, которые сломают ферму в Энде.

Adventurers Guild: лобби и job-система

Adventurers Guild это отдельный мир, генерируемый из схематики при первом запуске, работает как хаб. Игрок попадает туда командой /ag. В хабе сидят NPC: продают кастомные предметы, выдают квесты, принимают токены очереди в подземелья.

Гильдия же держит систему рангов: у каждого игрока есть уровень гильдии и тир престижа. С каждой убитой элиткой XP гильдии растёт, открываются магазины более высокого тира, более сложные подземелья и больше слотов в хранилище NPC.

В config.yml:

adventurersGuild:
  enabled: true
  worldName: 'adventurers_guild'
  guildHallChunkLoadingRadius: 3
  generateMaxLevel: 200
  prestigeMaxLevel: 10

Если вам нужны только кастомные боссы и подземелья, а хаб-мир не нужен, ставьте enabled: false. Плагин работает и без гильдии, но теряете слой престижа и центральные NPC-магазины.

Кастомные боссы: формат YAML

Это сердце плагина. Файлы боссов лежат в bosses/, по одному боссу на файл. Минимальный босс выглядит так:

# bosses/lichking.yml
entityType: WITHER_SKELETON
isEnabled: true
name: '&5&l✦ &f&lLich King &5&l✦'
level: 50
health: 4200
damage: 22
isPersistent: true
followRange: 48
movementSpeed: 0.32

helmet: PLAYER_HEAD:eyJ0ZXh0dXJlcyI6...
chestplate: NETHERITE_CHESTPLATE
mainHand: BLAZE_ROD
mainHandEnchantments: 'SHARPNESS,3:KNOCKBACK,1'

powers:
  - bonus_health
  - flames_of_hell
  - summon_skeletons
  - lightning_bolts
  - tracking_skeletal_horse
  - movement_slowness_aura

uniqueLootList:
  - lich_crown:1
  - frostmourne:0.15
  - elite_coin:200

onDeathCommands:
  - 'broadcast &5The Lich King has fallen!'
  - 'tellraw @a {"text":"+200 EC awarded","color":"gold"}'

spawnLocations:
  - 'world,2400,72,-1850'

spawnChance: 1.0
spawnCooldownMinutes: 360

Ключевые поля и что они реально делают:

  • entityType это ванильная база. Wither Skeleton сразу даёт ближний бой и сопротивление откидыванию.
  • level переопределяет автоуровень зоны для конкретного босса. Задаётся независимо.
  • powers это список переиспользуемых скриптов из powers/. EliteMobs из коробки везёт около 60 дефолтных пауэров, вы их компонуете.
  • uniqueLootList ссылается на предметы из customitems/ по slug-имени файла, с шансом дропа.
  • onDeathCommands выполняется как консольная команда после смерти, идеально для начисления валюты или анонса в DiscordSRV.
  • spawnLocations это одна или несколько фиксированных координат. С spawnCooldownMinutes получаете респавнящегося мирового босса без танцев со схематиками, как в MythicMobs.

После сохранения делаете /em reload и смотрите лог. Успешный парсинг логирует имя босса, ошибка пишет строку YAML и недостающее поле.

Powers (абилки)

Powers это слой действия. Power это тоже YAML-файл в powers/, бывает major (активная) и minor (пассивная).

Пример кастомной абилки:

# powers/frost_nova.yml
powerType: MAJOR
fileVersion: 2
warningRange: 16
range: 10
damage: 6
cooldown: 12
chargeUp: 40
visualEffect: SNOWBALL,40,0.5
soundEffect: ENTITY_BLAZE_SHOOT,1.0,0.6
fillerVisualEffect: CLOUD,1.0
applyPotionEffectsToTarget:
  - 'SLOWNESS,80,2'

Получается ледяная нова: предупреждение в радиусе 16 блоков, AoE на 10, частицы снега на чарже, звук blaze на запуске, 4 секунды slowness 3 при попадании. Подключаете в список powers: у босса, и после /em reload оно работает.

Кастомные предметы: статы и дроп

customitems/ хранит лут. Один файл это один предмет, с опциональными диапазонами статов, чарами и тиром редкости. Предметы попадают в loot-лист босса или продаются в магазинах гильдии.

# customitems/frostmourne.yml
material: NETHERITE_SWORD
name: '&3&l❄ Frostmourne ❄'
lore:
  - '&7Forged from the souls'
  - '&7of fallen Lich Kings.'
itemType: UNIQUE
itemRarity: EPIC
levelRequirement: 50

enchantments:
  - 'SHARPNESS,7'
  - 'UNBREAKING,4'
  - 'KNOCKBACK,2'

potionEffects:
  - 'SLOWNESS,5,1'

scalesWithLevel: true

itemType: UNIQUE помечает предмет как привязанный к игроку, который его поднял. scalesWithLevel: true означает, что урон растёт, если носит игрок выше уровнем.

Для процедурного лута используйте itemType: PROCEDURAL и движок сам прокатывает статы при каждом дропе.

Инстанс-подземелья: как работает worldgen

EliteMobs поставляет подземелья в виде схематик и метафайлов. Когда группа встаёт в очередь на подземелье в хабе гильдии, движок вставляет схематику в свежий мир (em_dungeon_<id>) и телепортирует туда группу. Мир выгружается, когда группа уходит, либо по таймауту.

Бесплатные подземелья лежат в dungeons/. Премиальные паки с magmaguy.com по сути те же файлы, только с большим количеством боссов и со своей схематикой окружения.

Описатель подземелья:

# dungeons/lichking_tomb.yml
isEnabled: true
schematicName: 'lichking_tomb'
worldName: 'em_dungeon_lichking'
dungeonSizeCategory: SMALL
minPlayers: 1
maxPlayers: 5
levelRequirement: 45
guildLevelRequirement: 6
permission: 'elitemobs.dungeon.lichking'
bossList:
  - skeletal_warden
  - lich_king
revivePoint: '0,72,0'

Тащить инстансные миры в память и обратно тяжелее обычного /tp. На 4-vCPU ноде держите кап в три одновременных инстанса, дальше пики загрузки мира начинают пробивать главный тик.

Интеграции, которые имеет смысл подключить

WorldGuard region exclusion

Без исключений хаб гильдии иногда обзаводится случайной элиткой прямо в лобби. Делаем регион вокруг хаба и вешаем флаг EliteMobs:

//pos1, //pos2, /rg define guild_safezone
/rg flag guild_safezone elitemobs-spawn deny
/rg flag guild_safezone pvp deny
/rg flag guild_safezone mob-spawning deny

Флаг elitemobs-spawn регистрируется самим плагином при старте. Установка в deny блокирует и элитные апгрейды, и фиксированные точки спавна боссов внутри региона.

Vault Economy

EliteMobs читает и пишет стандартную валюту сервера через Vault. Игроки тратят её у NPC гильдии и получают за элиток. Имя валюты в config.yml (defaultPlayerCurrencyName: gold) должно совпадать с тем, что выдаёт ваш Vault-провайдер.

Если хочется отдельную валюту только для гильдии, ставьте currencyName: 'Elite Coin' и плагин ведёт её отдельно от Vault. Это чище на RPG-серверах, где не хочется смешивать обычную экономику магазинов с экономикой подземелий.

DiscordSRV: анонс боссов

DiscordSRV ловит spawn-события EliteMobs. Настраиваете маппинг каналов в plugins/DiscordSRV/config.yml и используете поле onSpawnCommands у босса:

onSpawnCommands:
  - 'discordsrv send #elite-bosses **Lich King** has spawned at world,2400,72,-1850'

Для более богатой интеграции есть аддон EliteMobs DiscordSRV (отдельный jar того же автора), он автоматически анонсит kill-события эмбедами с именами игроков.

Система квестов

Квесты лежат в customquests/. Плагин умеет генерировать динамические квесты по шаблонам, плюс можно прописать статические квесты руками.

# customquests/find_lich_relic.yml
isEnabled: true
questName: 'The Lost Lich Relic'
questDescription: |
  &7An ancient lich lord stalks the wastes.
  &7Slay him and bring back the cursed crown.
questGiverFilename: 'guildmaster.yml'
quitCommands: []

questObjectives:
  - 'CUSTOMKILL:lich_king,1'

questRewards:
  currencyReward: 250
  itemRewards:
    - 'lich_crown:1'
  experienceReward: 1500

questGiverFilename ссылается на конфиг Citizens NPC или EliteMobs NPC из npcs/. Диалоги, отслеживание целей и выдачу награды плагин обрабатывает сам.

Шпаргалка по полям босса

ПолеОбязательноеНазначение
entityTypeдаВанильная база (ZOMBIE, WITHER_SKELETON, ENDER_DRAGON, ...)
nameдаОтображаемое имя с цветовыми кодами
levelдаФиксированный уровень для статов и матчмейкинга
healthдаБаза HP, умножается на скейл уровня
damageдаБазовый урон
powersнетСписок major и minor пауэров по имени файла
helmet / chestplate / leggings / bootsнетСлоты экипировки, поддерживают player heads
mainHand / offHandнетСлоты оружия с опциональной строкой чар
uniqueLootListнетПары customitem:chance
onSpawnCommandsнетКонсольные команды при спавне
onDeathCommandsнетКонсольные команды при смерти
spawnLocationsнетФиксированные координаты с кулдауном
spawnChanceнетFloat 0.0 до 1.0 для натуральных спавнов
regionalBossнетПривязка к региону WorldGuard
phasesнетПереходы по порогам HP в других боссов
mountedEntityнетSlug другого моба EliteMobs, на котором сидит этот
escapeMechanicsнетДеспавн или ярость при отступлении игроков

Типичные ошибки и как их ловить

  • Забыли /em reload после правки YAML и считаете, что изменение не работает.
  • Поставили spawnLocations в регионе, где элитный спавн запрещён, и удивляетесь, почему босс не появляется.
  • Запускаете EliteMobs на Spigot. Плагин требует Paper или форк Paper. Spigot не поддерживается, и поведение мобов будет странным.
  • Засунули кастомный предмет и в uniqueLootList, и в глобальный loot-лист с высоким шансом. Шансы складываются, и игрок выносит четыре легендарки с одного босса.
  • Оставили mobLevelCalculationRadius дефолтным 1500 на карте 10k. Мобы у границы получаются перекачанными и одним ударом валят новичков.
  • Загрузили контент-пак, сделанный под другую мажорную версию EliteMobs. Схема YAML боссов меняется между 8.x и 9.x. Прочитайте release notes на GitHub перед импортом старых паков.
  • Запустили со стандартной экономикой Vault на креативном сервере, где у игроков бесконечные деньги. Прогрессия гильдии ломается, потому что все мгновенно выкупают топ-тир.

FAQ

Можно держать EliteMobs и MythicMobs на одном сервере? Да. Они не делят логику регистрации сущностей, namespace кастомных мобов разный, и оба плагина уважают флаги спавна друг друга. Распространённая связка: EliteMobs тащит гринд в открытом мире, MythicMobs закрывает event-боссов, где нужен более тонкий скриптинг абилок.

EliteMobs требует Citizens? Нет. Плагин везёт собственную систему NPC на armor stand. Если у вас уже стоит Citizens, можно вешать выдачу квестов на него, но это опционально.

Насколько тяжёлая система подземелий по TPS? Первая вставка схематики стоит несколько секунд лагов на маленьком подземелье и до десяти секунд на большом. Дальше загруженный мир ест примерно столько же, сколько любой другой мир с малым числом игроков. Кап одновременных инстансов на 4-vCPU ноде ставьте в три.

Есть версия под Bedrock или Geyser? EliteMobs работает только на Paper. Через Geyser игроки заходят нормально, но боссы со стилизованным resource pack будут выглядеть иначе, и часть hover-биндов в GUI неудобны без мыши. Ядро геймплея работает.

Что будет с подземельем во время DDoS-атаки? Мир подземелья остаётся загруженным, пока сервер жив. Если JVM не падает и сетевой слой фильтруется, игроки внутри инстанса продолжают играть. Это как раз случай, когда выделенная DDoS-защита Minecraft на сетевом крае окупается: JVM не видит мусорный трафик, и подземелье не выгружается из-за обвала TPS.

Можно расширять плагин своими пауэрами без перекомпиляции? В разумных пределах да. Powers это YAML, который собирается из существующих примитивов (урон, зелье, частица, звук, призыв). Под действительно новое поведение пишется небольшой компаньон-плагин на API EliteMobs, который висит на событиях. У автора есть публичный API в репозитории GitHub.

Это и есть продакшн-путь: ставим на Paper 1.21+, прижимаем радиус расчёта уровня, конфигурим MobTier по каждому мобу, пишем пару боссов руками, развешиваем флаги WorldGuard, наводим Vault на нужную валюту, дальше растём органически. Плагин хорошо масштабируется, если держать кап подземелий и не вешать на одного босса по двадцать пауэров.


Protege tu servidor contra ataques DDoS

Protección gratuita con configuración en 5 minutos. 1 TB de tráfico incluido.

Probar gratis


Artículos relacionados