Kity v EssentialsX jsou uložené v plugins/Essentials/kits.yml, každý má seznam předmětů a delay v sekundách a hráč si ho může vyzvednout, jen když má oprávnění essentials.kits.<name>. Warpy se vytvářejí příkazem /setwarp a dají se zamykat jednotlivě, jakmile zapneš per-warp-permission. Limity homů pocházejí z tabulky sethome-multiple v config.yml a páruje se na ně s oprávněními essentials.sethome.multiple.<tier>. /spawn v hlavním jaru vůbec není - potřebuješ k tomu samostatný modul EssentialsX Spawn. Těmito čtyřmi fakty se dá vysvětlit skoro každá hláška „kit nefunguje“ na čerstvém serveru s Paperem a zbytek tohoto návodu jsou podrobnosti k nim.
Zůstatky, /pay, worth.yml a obchody najdeš v návodu k ekonomice EssentialsX a Vault. Tenhle článek je o té polovině pluginu, která se stará o pohyb a startovní vybavení, a právě tam survival servery tráví většinu času u konfigurace.
Kde EssentialsX ukládá kity, warpy, homy a spawny#
EssentialsX je několik jarů. Hlavní jar EssentialsX obsahuje kity, warpy, homy, žádosti o teleport a ekonomiku. EssentialsXSpawn je samostatné stažení, které přidává /spawn, /setspawn, obsluhu prvního připojení a pravidla respawnu. Nainstaluj hlavní jar a jen ty moduly, které opravdu používáš - každý z nich přidává event listenery na server, jehož hlavní vlákno sdílí všechno ostatní.
Každá funkce ukládá data na jiné místo a vědět, který soubor co drží, ti ušetří spoustu hádání, když něco zmizí:
plugins/Essentials/ config.yml settings for everything, including sethome-multiple kits.yml kit definitions and delays spawn.yml spawn points, written by /setspawn (Spawn module) warps/ mine.yml one file per warp shop.yml userdata/ <uuid>.yml each player's homes and kit cooldown timestampsZ toho plynou tři důsledky. Homy patří do souboru hráče, takže smazáním jeho souboru v userdata zmizí společně se zůstatkem i homy a cooldowny kitů. Warpy jsou malé samostatné soubory, takže warp z testovacího serveru přeneseš zkopírováním jeho souboru. A kity jsou jen definice - kdo si co vyzvedl a kdy, se zaznamenává u každého hráče zvlášť, ne v kits.yml.
Starší verze EssentialsX držely kity v sekci kits: uvnitř config.yml. Současné buildy čtou kits.yml a při aktualizaci starou sekci tam přesunou. Pokud se řídíš starým návodem, který říká, že kity upravuješ v config.yml, je to důvod, proč se nic nemění.
Psaní kitů v kits.yml#
Kit je název, zpoždění a seznam předmětů. Výchozí soubor obsahuje jeden kit s názvem tools, který je dobrou šablonou:
kits: tools: delay: 10 items: - stone_pickaxe 1 - stone_shovel 1 - stone_axe 1 starter: delay: -1 items: - iron_sword 1 sharpness:2 name:&bStarter_Sword lore:Given_on_day_one - bread 16 - torch 32 - leather_chestplate 1 color:139,69,19 - $250 - /broadcast {player} has started their journeyKaždý řádek s předmětem používá stejnou syntaxi jako /give v EssentialsX: název materiálu, počet a pak volitelná metadata.
- Enchanty jsou dvojice
enchantment:level, napříkladsharpness:2neboefficiency:4. Na současných verzích používej moderní názvy enchantů. - `name:` nastavuje zobrazované jméno. Mezery se píšou jako podtržítka a fungují barevné kódy s
&. - `lore:` nastavuje řádky popisu. Podtržítka se změní na mezery a
|začíná nový řádek. - `color:` bere trojici RGB pro kožené brnění.
- Řádek začínající `$` dává peníze přes ekonomiku, takže
$250vyplatí hráči při vyzvednutí 250. K tomu potřebuješ funkční ekonomiku, kterou poskytuje hlavní jar. - Řádek začínající `/` se při vyzvednutí kitu spustí jako příkaz z konzole.
{player}se nahradí jménem hráče. Takhle dáš předměty z jiných pluginů, přidělíš oprávnění nebo něco oznámíš.
Názvy materiálů musí odpovídat verzi serveru. Kit napsaný pro 1.20, který uvádí předmět přejmenovaný nebo přidaný později, ten řádek nenačte a konzole to ohlásí při startu nebo při vyzvednutí. Samotný kit se přesto načte, jen bez vadného řádku, a proto hráči někdy hlásí „v kitu chybí meč“ místo „kit je rozbitý“.
Úpravy kits.yml se projeví po /essentials reload nebo po restartu. Pro kity je reload v pořádku, ale není to univerzální nástroj pro jiné pluginy.
Tvorba kitů ve hře přes /createkit
Ručně psát předměty plné NBT je únavné, a tak EssentialsX umí místo toho zachytit tvůj inventář. Naplň inventář přesně tím, co má kit obsahovat, a pak spusť:
/createkit starter -1/createkit daily 86400První argument je název kitu, druhý zpoždění v sekundách. Příkaz vyžaduje essentials.createkit. S pastebin-createkit: false v config.yml (výchozí na současných buildech) se kit zapíše rovnou do kits.yml; když je nastaveno na true, plugin kit nahraje na paste službu a dá ti odkaz ke zkopírování, což popisují starší návody.
/createkit zachovává enchanty, jména, lore a většinu dat předmětu. Novější buildy na Paperu umějí ukládat předměty kitu i v serializované podobě, která zachová všechno, co předmět nese, včetně dat z jiných pluginů; zda to dělá ten tvůj, závisí na verzi EssentialsX a na volbě v config.yml, takže se podívej do vlastního souboru a nespoléhej na návod. Tak či tak po vytvoření kitu otevři kits.yml a přečti si, co se zapsalo. Je to jediný způsob, jak si být jistý, že vlastní předmět tu cestu přežil.
Ostatní příkazy pro kity:
| Příkaz | Oprávnění | Co dělá |
|---|---|---|
/kit nebo /kits | essentials.kit | Vypíše kity, které hráč smí použít |
/kit <name> | essentials.kits.<name> | Vyzvedne kit |
/kit <name> <player> | essentials.kit.others | Dá kit někomu jinému |
/showkit <name> | essentials.showkit | Ukáže obsah bez vyzvednutí |
/delkit <name> | essentials.delkit | Smaže definici kitu |
/kitreset <name> [player] | essentials.kitreset | Vynuluje cooldown (novější buildy) |
Zpoždění kitů, jednorázové kity a ceny#
delay se měří v sekundách od posledního vyzvednutí. Několik hodnot se objevuje neustále:
delay | Význam |
|---|---|
0 | Žádný cooldown |
3600 | Jednou za hodinu |
86400 | Jednou za den |
604800 | Jednou za týden |
-1 | Jednou provždy |
Cooldown se ukládá do souboru hráče v userdata pod timestamps, podle názvu kitu. To má dva praktické důsledky. Přejmenování kitu vynuluje cooldown všem hráčům, protože starý časový údaj už nic neodpovídá. A jednorázový kit je jednorázový, jen dokud soubor hráče existuje; smazání userdata rozdá všechny startovní kity znovu.
Hráči s essentials.kit.exemptdelay zpoždění úplně ignorují. Dej to staffu, který kity testuje, a nikdy omylem donorskému ranku přes dědičnost - neomezený denní kit je duplikátor předmětů s oprávněním místo zámku.
Chceš-li si za kit účtovat, použij command-costs v config.yml. Klíč je kit- následovaný názvem kitu:
command-costs: kit-tools: 0 kit-daily: 500 warp: 10 home: 25Cena se strhává přes ekonomiku při každém použití a hráč, který na ni nemá, je odmítnut. Malý poplatek za opakovatelný kit je nenápadný způsob, jak z něj neudělat farmu, a stejná sekce ceňuje i teleporty, k čemuž se ještě vrátíme.
Oprávnění ke kitům a kit pro první připojení#
Přístup ke kitu tvoří dvě oprávnění a většina rozbitých konfigurací má jen jedno z nich:
essentials.kitpovoluje samotný příkaz/kit.essentials.kits.<name>povoluje konkrétní kit.essentials.kits.*povoluje všechny.
Hráč s essentials.kit, ale bez oprávnění ke kitům vidí prázdný seznam. Hráč s essentials.kits.starter, ale bez essentials.kit příkaz spustit nemůže. V LuckPerms vypadá rozumné rozdělení takto:
/lp group default permission set essentials.kit true/lp group default permission set essentials.kits.starter true/lp group default permission set essentials.kits.tools true/lp group vip permission set essentials.kits.vip true/lp group admin permission set essentials.kit.exemptdelay truePokud vip dědí z default, dostanou VIP i kity starter a tools, což obvykle chceš. Návod k LuckPerms vysvětluje dědičnost a proč se oprávnění nastavovaná skupinám místo jednotlivým hráčům dají lépe auditovat.
Aby se kit rozdal automaticky při prvním připojení hráče, použij sekci newbies v config.yml. Patří k EssentialsX Spawn, takže nedělá nic, dokud není ten modul nainstalovaný:
newbies: announce-format: '&dWelcome {DISPLAYNAME}&d to the server!' spawnpoint: newbies kit: starterkit určuje kit, který se dá při prvním připojení, bez ohledu na hráčova oprávnění ke kitům. Nastav prázdný řetězec, pokud nemá dostat nic. spawnpoint pojmenovává spawn nastavený příkazem /setspawn newbies, takže noví hráči mohou přijít do výukové oblasti, zatímco všichni ostatní se respawnují na hlavním spawnu. Pokud startovní kit dáváš tímto způsobem, nastav tomu samému kitu delay: -1 a nech jeho oprávnění mimo výchozí skupinu, jinak si ho noví hráči vyzvednou podruhé přes /kit.
Warpy: /setwarp a oprávnění pro jednotlivé warpy#
Warp je pojmenované místo, kam se může teleportovat každý s oprávněním. Postav se tam, kam má warp dopadnout, natoč se tak, jak mají hráči při příchodu koukat, a spusť /setwarp <name>. Pozice včetně pitch a yaw se uloží do warps/<name>.yml.
| Příkaz | Oprávnění | Co dělá |
|---|---|---|
/setwarp <name> | essentials.setwarp | Vytvoří nebo přesune warp |
/warp | essentials.warp.list | Vypíše warpy po stránkách |
/warp <name> | essentials.warp | Teleportuje na warp |
/warp <name> <player> | essentials.warp.others | Pošle někoho jiného |
/delwarp <name> | essentials.delwarp | Odstraní warp |
Ve výchozím stavu může každý s essentials.warp použít všechny warpy. Pro server s shop, mine a portálem end je to v pořádku, ale ve chvíli, kdy máš oblast pro staff nebo donorský ostrov, je to špatně. Přístup po jednotlivých warpech zapneš v config.yml:
per-warp-permission: trueOd té chvíle každý warp potřebuje vlastní oprávnění essentials.warps.<name> a essentials.warps.* povolí všechny. Seznam warpů ukazuje jen ty, které hráč může použít, což je hlavní důvod to zapnout, i když jsou všechny warpy veřejné: můžeš přidat skrytý staffroom, aniž by se objevil v seznamu všem.
/lp group default permission set essentials.warps.spawn true/lp group default permission set essentials.warps.shop true/lp group default permission set essentials.warps.mine true/lp group vip permission set essentials.warps.vipisland true/lp group mod permission set essentials.warps.* true/setwarp na existující název warp tiše přesune. Nech essentials.setwarp lidem, kteří server staví, a essentials.delwarp ještě užšímu okruhu. Warp, který míří do světa, jenž už není načtený - časté po odebrání světa z Multiverse - selže s chybou o světě, ne o warpu, a to je užitečná nápověda; provoz více světů přes Multiverse popisuje, jak světy čistě načítat a vyřazovat.
Homy a limity sethome-multiple#
/sethome uloží pojmenované místo do souboru hráče a /home se tam vrátí. S jedním homem je název volitelný a výchozí je home. S více homy je hráči pojmenovávají: /sethome base, /sethome farm, /home farm. Spuštění /home s několika homy a bez názvu je vypíše.
Limit řídí tato tabulka v config.yml, zde s výchozími hodnotami:
sethome-multiple: default: 3 vip: 5 staff: 10Klíče jsou libovolné názvy, ne názvy skupin. Každý z nich odpovídá jednomu oprávnění:
essentials.sethome.multiple- nutné, aby hráč mohl mít víc než jeden home.essentials.sethome.multiple.<key>- přidělí počet dané úrovně, takžeessentials.sethome.multiple.vippovolí 5.essentials.sethome.multiple.unlimited- bez limitu.
Hráč s několika oprávněními úrovní dostane nejvyšší z nich, takže dědičnost nezpůsobí, že by VIP spadl zpátky na 3. Hráč bez essentials.sethome.multiple dostane jeden home, ať tabulka říká cokoli. Právě to jedno chybějící oprávnění stojí za většinou tiketů „můj rank by měl mít pět homů“. Vlastní úrovně si klidně přidej - stačí legend: 15 spolu s essentials.sethome.multiple.legend na správné skupině.
/lp group default permission set essentials.sethome true/lp group default permission set essentials.home true/lp group default permission set essentials.delhome true/lp group default permission set essentials.sethome.multiple true/lp group vip permission set essentials.sethome.multiple.vip true/lp group mod permission set essentials.home.others trueessentials.home.others umožní staffu navštívit hráčův home příkazem /home <player>:<homename>, což se hodí při vyšetřování hlášení o griefu a nikdo jiný to nepotřebuje.
Několik souvisejících nastavení ve stejném souboru stojí za to rozhodnout vědomě:
spawn-if-no-home- když je true,/homebez nastavených homů pošle hráče na spawn místo chyby.update-bed-at-daytime- dovolí hráčům nastavit respawn u postele kliknutím na postel přes den, takže/home bedmíří někam rozumně.world-home-permissions- když je true, home v nějakém světě vyžaduje oprávnění pro tento svět. Hodí se, abys držel homy mimo resource svět, který resetuješ.
Homy jsou pohodlí, které mění způsob hraní survivalu. Neomezené homy zdarma proměňují svět v sadu cílů pro teleport a nikdo nestaví cesty. Obvyklý kompromis je nízký počet pro nové hráče, o pár víc pro ranky a malá cena za home v command-costs.
/spawn s EssentialsX Spawn#
Bez modulu Spawn od EssentialsX žádný příkaz /spawn není. Stáhni EssentialsXSpawn ve stejné verzi jako hlavní jar - neshodné verze jsou častou příčinou chyb při startu - a dej oba do plugins/.
Pak se postav na svůj spawn a spusť /setspawn. Tím se poloha zapíše do spawn.yml. /setspawn <group> nastaví samostatný spawn pro jednu skupinu oprávnění, takže VIP skupina může přicházet do vlastního hubu, a /setspawn newbies vytvoří bod prvního připojení, na který odkazuje sekce newbies.
| Příkaz | Oprávnění | Co dělá |
|---|---|---|
/setspawn [group] | essentials.setspawn | Nastaví výchozí spawn nebo spawn skupiny |
/spawn | essentials.spawn | Teleportuje na tvůj spawn |
/spawn <player> | essentials.spawn.others | Pošle někoho na spawn |
Modul také přebírá, kde hráči po smrti a při připojení vzniknou. Nastavení, na kterých záleží:
respawn-at-home: falsespawn-on-join: falserespawn-listener-priority: highspawn-join-listener-priority: highO čem které rozhoduje:
respawn-at-homeposílá mrtvé hráče do jejich homu místo na spawn. Většina survival serverů to nechává vypnuté a nechává rozhodnout postel.spawn-on-joinposílá hráče na spawn při každém přihlášení. Přijímátrue,false, nebo název skupiny či seznam skupin, takže na spawn můžeš posílat jen hráče zedefault, zatímco ranky se přihlásí tam, kde skončily. Staff sessentials.spawn-on-join.exemptse přeskakuje.- Dvě priority listenerů rozhodují, kdo vyhraje, když další plugin také chce hráče přesouvat při respawnu nebo připojení. Pokud ti lobby plugin nebo Multiverse pořád přebíjí spawn, tímhle se to ladí.
Tohle poslední zaskočí mnoho serverů: hráči nemohou rozbíjet bloky na místě, které vypadá jako otevřená krajina, protože neviditelný čtverec ochrany o straně 16 bloků leží kolem původního spawnu světa, ne kolem toho, který používá EssentialsX. Vysvětlení server.properties popisuje spawn-protection a proč se vždy týká jen hráčů bez operátorských práv.
Zpoždění teleportu, cooldowny a bezpečnost#
Každý teleport v EssentialsX - /home, /warp, /spawn, /tpa, /back - prochází stejnými nastaveními, takže je dolaď jednou:
teleport-cooldown: 0teleport-delay: 0teleport-invulnerability: 4teleport-safety: true| Nastavení | Účinek |
|---|---|
teleport-delay | Sekundy, po které musí hráč nejdřív stát na místě |
teleport-cooldown | Sekundy, než se smí teleportovat znovu |
teleport-invulnerability | Sekundy ochrany po příchodu |
teleport-safety | Odmítne nebo upraví nebezpečné cíle |
Krátký teleport-delay, tři až pět sekund, je nejúčinnější nastavení proti combat loggingu přes teleport: hráč musí stát na místě, zatímco ho někdo bije, a pohyb teleport zruší. Staff to může obejít s essentials.teleport.timer.bypass a cooldown s essentials.teleport.cooldown.bypass. Nech teleport-safety zapnuté; zabrání tomu, aby home nastavený nad lávou nebo warp, jehož podlahu někdo vytěžil, zabil toho, kdo ho použije.
V kombinaci s command-costs tato nastavení rozhodují, jak moc na serveru záleží na mapě světa. Volné, okamžité a neomezené teleporty dělají vzdálenost bezvýznamnou. Pár sekund zpoždění a malý poplatek zachovají většinu pohodlí a občas z dlouhé cesty pěšky udělají lepší volbu.
Zálohování homů, warpů a kitů#
Všechno v tomto návodu je malé YAML pod plugins/Essentials/ a nic z toho není součástí složky světa. Záloha samotného světa obnoví terén a ztratí každý home, warp a cooldown kitu od posledního uložení dat pluginu; záloha samotného pluginu udělá opak. Zálohuj obojí společně. Zálohování a obnova světa v Minecraftu popisuje, co zahrnout a jak bezpečně vrátit stav zpět.
Na RE:NODE běží Minecraft servery na Paperu se správnou verzí Javy a jary EssentialsX se nahrávají přes správce souborů nebo SFTP jako každý jiný plugin. Správce souborů má editor se zvýrazněním syntaxe pro kits.yml a config.yml, což pomáhá s odsazením v YAML, a sloty záloh u každého herního plánu pokrývají celou složku serveru včetně dat pluginů. Jednu si vytvoř před zapnutím per-warp-permission nebo úpravou sethome-multiple na ostrém serveru.
Řešení problémů#
„You do not have permission to use that kit.“ Hráč má essentials.kit, ale ne essentials.kits.<name>. Zkontroluj přesný název kitu v oprávnění; je to klíč v kits.yml, malými písmeny.
Seznam kitů je prázdný. Stejná příčina z druhé strany: žádná oprávnění essentials.kits.*, nebo se kity nenačetly. Hledej při startu chybu YAML; tabulátor nebo chybějící mezera za dvojtečkou zastaví načítání celého souboru.
Úpravy kitů v `config.yml` nic nedělají. Kity se přesunuly do kits.yml. Uprav ten soubor a spusť /essentials reload.
Při vyzvednutí chybí předmět z kitu. Jeden řádek s předmětem používá název materiálu, který verze serveru nezná. Konzole ten řádek pojmenuje.
Hráči uvízli na jednom homu. Chybí jim essentials.sethome.multiple. Samotné oprávnění úrovně nestačí.
`/spawn` je neznámý příkaz. EssentialsX Spawn není nainstalovaný, nebo se nenačetl, protože jeho verze neodpovídá hlavnímu jaru.
Hráči se respawnují na špatném místě. Respawn obsluhuje jiný plugin s vyšší prioritou, nebo je zapnuté respawn-at-home. Zkontroluj Multiverse a případný lobby plugin a pak uprav respawn-listener-priority.
Warp hlásí, že svět neexistuje. Svět, na který míří, byl přejmenován nebo uvolněn. Vytvoř warp znovu v načteném světě.
FAQ#
Jak udělám kit, který jde vyzvednout jen jednou?
Nastav mu delay: -1, nebo ho vytvoř přes /createkit <name> -1. Vyzvednutí se zaznamenává do souboru hráče v userdata, takže zůstává jednorázové, dokud se ten soubor nesmaže nebo se kit nepřejmenuje.
Můžu dávat kit novým hráčům automaticky?
Ano, s nainstalovaným EssentialsX Spawn: nastav kit: v sekci newbies v config.yml na název kitu. Dá se při prvním připojení bez ohledu na hráčova oprávnění ke kitům.
Jak dám ranku víc homů?
Přidej řádek do sethome-multiple, například vip: 5, a pak dej tomu ranku obě oprávnění, essentials.sethome.multiple i essentials.sethome.multiple.vip. Hráč dostane nejvyšší úroveň, kterou drží.
Můžu některé warpy skrýt v seznamu warpů?
Zapni per-warp-permission. Hráči pak vidí a používají jen warpy, na které mají essentials.warps.<name>, takže staffový warp bez veřejného oprávnění je pro všechny ostatní neviditelný.
Potřebuju EssentialsX Spawn, když používám jiný spawn plugin?
Ne, a provozovat dva pluginy, které obsluhují místa připojení i respawnu, zve ke konfliktům. Vyber si jeden. Pokud EssentialsX Spawn ponecháš, uprav jeho priority listenerů, místo abys bojoval s tím druhým pluginem.
Proč hráči nemohou rozbíjet bloky u spawnu, i když není chráněný?
Vanilla spawn-protection je vystředěná na spawn světa, ne na spawn z EssentialsX. Přesuň spawn světa příkazem /setworldspawn, nebo nastav spawn-protection=0.


