EliteMobs: konfiguracja bossów PvE na serwerze Minecraft (2026)

EliteMobs: konfiguracja bossów PvE na serwerze Minecraft (2026)

Jeśli MythicMobs wydaje się zbyt niskopoziomowy i nie chcesz pisać każdego starcia od zera, drugą dużą nazwą w niszy pluginów PvE jest EliteMobs od MagmaGuy. Z pudełka dostajesz mobów ze skalowanym poziomem, hub-świat Adventurers Guild, instancjonowane podziemia, własnych bossów z umiejętnościami, własne przedmioty z zakresami statystyk, questy i integrację z Discordem. Poniżej opisuję instalację na Paper 1.21+, te opcje configa, które naprawdę coś zmieniają, format YAML dla bossów oraz miejsca, w których plugin lubi się potykać.

Co robi EliteMobs i czemu chodzi obok (a nie zamiast) MythicMobs

EliteMobs to otwarty silnik PvE. O ile MythicMobs to zestaw konstrukcyjny, z którego sam składasz każde starcie, EliteMobs jest bliżej gotowej gry PvE w postaci pluginu: automatycznie awansuje zwykłych mobów do levelowanych elitek, dropi proceduralnie generowany loot ze statystykami i daje równoległą warstwę progresu obok waniliowego XP.

Podział wygląda mniej więcej tak:

  • MythicMobs wybierasz, gdy chcesz pełną kontrolę nad każdym mobem, każdą umiejętnością i każdą linią triggera.
  • EliteMobs wybierasz, gdy chcesz mieć działający content PvE jeszcze tego wieczoru, bez pisania stu plików YAML.

Wielu adminów trzyma oba pluginy razem. EliteMobs ciągnie grind w open worldzie i podziemia, MythicMobs zamyka eventowe bossy lub zachowania, których EliteMobs nie potrafi opisać. Nie kłócą się ze sobą, bo celują w różne moby.

Co gracz widzi na starcie

  • Waniliowe zombie, szkielety i creepery spawnują się z poziomem, skalowanymi statami i prefiksami w stylu Strong, Heroic czy Tanky.
  • Centralny hub Adventurers Guild z NPC, sklepami, kamieniami kolejki do podziemi.
  • Instancjonowane podziemia, które na każdą drużynę ładują własny świat na żądanie.
  • Własni bossowie z fazami, umiejętnościami, przyzwaniami, mechaniką regeneracji.
  • Questy z dialogami NPC i proceduralnymi celami typu "zabij" i "przynieś".
  • Własne przedmioty z rzucanymi statami i poziomami rzadkości, w sklepach albo z dropu z elitek.

Instalacja i pierwsze uruchomienie

EliteMobs jest publikowany na Modrinth i Hangar. Aktualną dużą gałęzią w 2026 roku jest 9.x, wymaga Paper 1.21+ i Java 21.

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

Zależności miękkie, które warto wrzucić od razu:

  • WorldGuard plus WorldEdit do region exclusion (żadnych elitek na spawnie).
  • Vault plus plugin ekonomiczny (EssentialsX, CMI), inaczej sklepy gildii nie wezmą pieniędzy.
  • DiscordSRV, jeśli chcesz ogłoszenia spawnu bossów na Discordzie.
  • PlaceholderAPI, jeśli inne pluginy mają widzieć poziom i walutę gracza w EliteMobs.

Stopujemy serwer normalnie (żadnych /reload), wrzucamy jar, startujemy ponownie. EliteMobs buduje drzewo katalogów w plugins/EliteMobs/ i ściąga domyślny pakiet treści z serwerów Magmaguy. Pierwszy start trwa o minutę dłużej, bo plugin pobiera pakiet i pisze około 200 plików YAML.

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

Po każdej edycji YAML wpisujemy /em reload dla miękkiego reloadu. Pełny restart i tak jest pewniejszy, jeśli ruszałeś config.yml albo ustawienia związane ze światami.

Bazowy config.yml: pokrętła, które ruszają TPS

Domyślny config.yml jest gadatliwy, ale realnie na obciążenie wpływa kilka opcji. Pełna referencja leży na 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 to największa dźwignia w całym configu. EliteMobs liczy odległość od centrum kalkulacji i z niej wyprowadza poziom moba. Za mały promień i pięćdziesiąt bloków za murem spawna biegają boss-zombie 250 poziomu. Za duży i cała mapa zostaje na poziomie 1.

Na serwerze survivalowym z mapą 10k na 10k stawiamy centrum na spawn i promień w okolicach 4000-5000. Gracze blisko spawna widzą poziomy 1-10, na granicy 100+, krzywa jest mniej więcej liniowa.

doMobsLevelByDistance wyłącza się tylko wtedy, gdy planujesz strefy poziomów przez flagi WorldGuarda.

MobTier: jak skalują się waniliowe moby

Każdy waniliowy mob przy naturalnym spawnie ma szansę awansować do Elite Mob. Tier awansu konfiguruje się w 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 oznacza, że 30 procent naturalnych zombie dostaje awans elity. Na zatłoczonym survivalu ta liczba jest jednocześnie głównym regulatorem zabawy i TPS. Powyżej 0.5 w ciemnych jaskiniach zaczyna być nie do przejścia, poniżej 0.1 EliteMobs robi się niewidoczny.

Mnożniki HP i obrażeń nakładają się na skalowanie poziomu. Elite zombie poziomu 50 z healthMultiplier: 1.4 ląduje przy około 1.4 razy bazy poziomu 50.

Całą kategorię można wyłączyć przez isEnabled: false. Przydatne, gdy chcesz elite zombie i szkielety, ale nie chcesz elite endermenów psujących grind w Endzie.

Adventurers Guild: lobby i system zawodów

Adventurers Guild to oddzielny świat, generowany ze schematyki przy pierwszym uruchomieniu, który działa jako hub. Gracz wchodzi tam komendą /ag. NPC w hubie sprzedają własne przedmioty, wydają questy, przyjmują tokeny kolejki do podziemi.

Gildia hostuje też system rang: każdy gracz ma poziom gildii i tier prestiżu. Z każdym ubitym elitem rośnie XP gildii i odblokowują się sklepy wyższych tierów, trudniejsze podziemia oraz więcej slotów w magazynie NPC.

W config.yml:

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

Jeśli zależy ci tylko na bossach i podziemiach, a hub nie jest potrzebny, ustaw enabled: false. Plugin chodzi też bez gildii, ale tracisz warstwę prestiżu i centralne sklepy NPC.

Własni bossowie: format YAML

To serce pluginu. Pliki bossów leżą w bosses/, jeden boss na plik. Minimalny boss wygląda tak:

# 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

Kluczowe pola i co naprawdę robią:

  • entityType to baza waniliowa. Wither Skeleton od razu daje walkę wręcz i odporność na knockback.
  • level nadpisuje auto-poziom strefy dla konkretnego bossa. Ustawiasz niezależnie.
  • powers to lista przenośnych skryptów z powers/. EliteMobs z pudełka wiezie około 60 domyślnych powerów, sam je składasz.
  • uniqueLootList odwołuje się do przedmiotów z customitems/ po slug pliku, z szansą dropu.
  • onDeathCommands leci jako konsola po śmierci, idealne do naliczania waluty albo broadcastu w DiscordSRV.
  • spawnLocations to jedna lub kilka stałych koordynat. Z spawnCooldownMinutes dostajesz respawnującego się bossa świata bez tańca ze schematykami, jaki wymusza MythicMobs.

Po zapisaniu wpisujesz /em reload i sprawdzasz log. Udany parse loguje nazwę bossa, błąd pokazuje linię YAML i brakujące pole.

Powers (umiejętności)

Powers to warstwa akcji. Power jest też plikiem YAML w powers/, bywa major (aktywny) albo minor (pasywny).

Przykład własnego powera:

# 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'

Dostajemy lodową nową: ostrzeżenie w promieniu 16 bloków, AoE 10 bloków przy zaklęciu, cząstki śniegu na ładowaniu, dźwięk blaze przy odpaleniu, cztery sekundy slowness 3 przy trafieniu. Wrzucasz do listy powers: u bossa i po reloadzie działa.

Własne przedmioty: rzuty statów i drop

customitems/ opisuje loot. Każdy plik to jeden przedmiot z opcjonalnymi zakresami statów, zaklęciami i tierem rzadkości. Przedmioty trafiają do listy lootu bossa albo są sprzedawane przez NPC gildii.

# 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 oznacza przedmiot przywiązany do gracza, który go podniósł. scalesWithLevel: true oznacza, że obrażenia rosną, gdy używa go gracz wyższego poziomu.

Do proceduralnie rzucanego lootu używasz itemType: PROCEDURAL i silnik sam rzuca staty przy każdym dropie.

Instancjonowane podziemia: jak działa worldgen

EliteMobs dostarcza podziemia jako schematyki plus plik metadanych. Gdy drużyna staje w kolejce do podziemia w hubie gildii, silnik wkleja schematykę w świeży świat (em_dungeon_<id>) i teleportuje grupę do środka. Świat jest wyładowywany, gdy drużyna wychodzi albo po timeoucie.

Darmowe podziemia leżą w dungeons/. Płatne pakiety z magmaguy.com to w gruncie rzeczy te same pliki plus więcej bossów i własna schematyka otoczenia.

Deskryptor podziemia:

# 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'

Wciąganie światów instancyjnych do pamięci i z powrotem jest cięższe niż zwykłe /tp. Na nodzie z 4 vCPU trzymaj cap na trzech jednoczesnych instancjach, dalej skoki ładowania świata zaczynają walić w główny tick.

Integracje, które warto podpiąć

WorldGuard region exclusion

Bez wyjątków hub gildii dostaje losowe elity wprost w lobby. Wyciągamy region wokół huba i wieszamy flagę 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

Flaga elitemobs-spawn jest rejestrowana przez plugin przy starcie. Ustawiona na deny blokuje zarówno awanse elit, jak i stałe lokacje spawnu bossów wewnątrz regionu.

Vault Economy

EliteMobs czyta i pisze standardową walutę serwera przez Vault. Gracze wydają ją u NPC gildii i zarabiają na elitach. Nazwa waluty w config.yml (defaultPlayerCurrencyName: gold) musi pasować do tego, co wystawia twój provider Vaulta.

Jeśli chcesz osobnej waluty tylko dla gildii, ustaw currencyName: 'Elite Coin' i plugin prowadzi ją niezależnie od salda Vaulta. To czystszy wybór na serwerach RPG, gdzie nie chcesz mieszać zwykłej ekonomii sklepów z ekonomią podziemi.

DiscordSRV: ogłoszenia bossów

Hooki DiscordSRV łapią eventy spawnu EliteMobs. Konfigurujesz mapowanie kanałów w plugins/DiscordSRV/config.yml i używasz pola onSpawnCommands u bossa:

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

Dla bogatszej integracji jest dodatek EliteMobs DiscordSRV (osobny jar tego samego autora), który automatycznie wysyła eventy zabicia bossa jako embedy z imionami graczy.

System questów

Questy leżą w customquests/. Plugin generuje dynamiczne questy z szablonów, plus możesz pisać statyczne questy ręcznie.

# 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 wskazuje configa NPC z Citizens albo NPC EliteMobs z npcs/. Dialogi, śledzenie celów i wypłatę nagród plugin obsługuje sam.

Ściąga pól bossa

PoleWymaganeZastosowanie
entityTypetakBaza moba waniliowego (ZOMBIE, WITHER_SKELETON, ENDER_DRAGON, ...)
nametakNazwa wyświetlana z kodami kolorów
leveltakStały poziom dla statów i matchmakingu
healthtakBazowe HP, mnożone przez skalę poziomu
damagetakBazowe obrażenia
powersnieLista nazw plików powerów major i minor
helmet / chestplate / leggings / bootsnieSloty zbroi, obsługują player heads
mainHand / offHandnieSloty broni z opcjonalnym ciągiem zaklęć
uniqueLootListniePary customitem:chance
onSpawnCommandsnieKomendy konsolowe przy spawnie
onDeathCommandsnieKomendy konsolowe przy śmierci
spawnLocationsnieStałe koordynaty z cooldownem
spawnChancenieFloat 0.0 do 1.0 dla naturalnych spawnów
regionalBossnieWiąże bossa z regionem WorldGuard
phasesniePrzejścia po progach HP do innych bossów
mountedEntitynieSlug innego moba EliteMobs jako wierzchowca
escapeMechanicsnieDespawn lub szał, gdy gracze uciekają

Typowe błędy i jak je wyłapać

  • Zapomniałeś /em reload po edycji YAML i myślisz, że zmiana nie działa.
  • Ustawiłeś spawnLocations w regionie, gdzie spawn elit jest zabroniony, i dziwisz się, czemu boss nie pojawia się.
  • Uruchamiasz EliteMobs na Spigocie. Plugin wymaga Paper albo forka Paper. Spigot nie jest wspierany i zobaczysz dziwne zachowania mobów.
  • Wsadziłeś własny przedmiot jednocześnie do uniqueLootList i do globalnej listy lootu z wysoką szansą. Szanse się sumują, gracz wynosi cztery legendy z jednego bossa.
  • Zostawiłeś mobLevelCalculationRadius na domyślnych 1500 na mapie 10k. Moby przy granicy są przepakowane i jednym uderzeniem ścinają nowych graczy.
  • Załadowałeś content pack zrobiony pod inną dużą wersję EliteMobs. Schemat YAML bossów zmienia się między 8.x i 9.x. Przed importem starych paczek przeczytaj release notes na GitHubie.
  • Odpaliłeś z domyślną ekonomią Vaulta na serwerze creative, gdzie gracze mają nieograniczone pieniądze. Progres gildii się rozsypuje, bo wszyscy od razu wykupują topowy tier.

FAQ

Można trzymać EliteMobs i MythicMobs na jednym serwerze? Tak. Nie dzielą logiki rejestracji encji, namespace własnych mobów są rozdzielone, oba pluginy szanują flagi spawnu siebie nawzajem. Powszechne ustawienie: EliteMobs ciągnie grind w open worldzie, MythicMobs zamyka eventowych bossów wymagających subtelniejszego skryptowania umiejętności.

EliteMobs wymaga Citizens? Nie. Plugin wiezie własny system NPC oparty o armor stand. Jeśli już masz Citizens, możesz wieszać wydawanie questów na nim, to opcjonalne.

Jak ciężki jest system podziemi dla TPS? Pierwsze wklejenie schematyki kosztuje kilka sekund stutterów na małym podziemiu i do dziesięciu sekund na dużym. Potem załadowany świat kosztuje mniej więcej tyle samo, co każdy inny świat z małą liczbą graczy. Cap jednoczesnych instancji na nodzie 4 vCPU stawiaj na trzy.

Jest wersja pod Bedrock albo Geyser? EliteMobs jest tylko pod Paper. Gracze wchodzą przez Geyser bez problemu, ale bossowie z resource pack będą wyglądać inaczej na Bedrocku, a kilka hover-bindingów w GUI jest niewygodnych bez myszy. Rdzeń rozgrywki działa.

Co dzieje się z podziemiem podczas ataku DDoS? Świat podziemia zostaje załadowany, dopóki serwer stoi. Jeśli JVM nie pada i warstwa sieciowa jest filtrowana, gracze w instancji grają dalej. To dokładnie sytuacja, gdy dedykowana ochrona DDoS Minecraft na brzegu sieci się opłaca: JVM nie widzi śmieciowego ruchu, a podziemie nie wyładowuje się przez krach TPS.

Czy mogę rozszerzać plugin własnymi powerami bez kompilacji? W pewnych granicach tak. Powers to YAML składany z istniejących prymitywów (obrażenia, eliksir, cząstka, dźwięk, przyzwanie). Pod naprawdę nowe zachowania piszesz mały plugin towarzyszący, który nasłuchuje eventów EliteMobs przez publiczne API. Autor ma takie API w repo na GitHubie.

To jest droga produkcyjna: instalacja na Paper 1.21+, zaciśnięcie promienia poziomu, konfiguracja MobTier per mob, napisanie kilku bossów ręcznie, ustawienie flag WorldGuarda, podpięcie Vaulta na właściwą walutę, reszta rośnie organicznie. Plugin dobrze się skaluje, jeśli pilnujesz capa podziemi i nie wieszasz dwudziestu powerów na jednego bossa.


Chroń swój serwer przed atakami DDoS

Darmowa ochrona z konfiguracją w 5 minut. 1 TB ruchu w zestawie.

Wypróbuj za darmo


Powiązane artykuły