Soubor config.yml v EssentialsX má kolem 1 400 řádků a na typickém survival serveru z nich potřebuješ změnit možná dvacet. Na těch záleží nejvíc: cooldown a rozcestí teleportu, rangy domovů v sethome-multiple, blok ekonomiky (starting-balance, currency-symbol, min-money, max-money), format a group-formats chatu a klíče spawnu, které rozhodují, kde nový hráč přistane. Několik sekcí nedělá nic, pokud není nainstalovaný odpovídající modul, a většina změn se projeví po /essentials reload - ale ne všechny. Tento návod prochází soubor v pořadí, v jakém ho budeš doopravdy upravovat, se skutečnými výchozími hodnotami z aktuální konfigurace verze 2.x, a upozorňuje na místa, kde se komentáře v souboru snadno špatně pochopí.
Kde config.yml leží a které moduly konfiguruje#
Po prvním spuštění vytvoří EssentialsX svou složku vedle všech ostatních pluginů:
plugins/Essentials/ config.yml the file this guide is about kits.yml kit contents, including the 'tools' first-join kit worth.yml sell prices for /sell and /worth spawn.yml spawn points set with /setspawn userdata/ one YAML file per player: balance, homes, nickname warps/ one file per warpHlavní jar odvádí většinu práce: domovy, warpy, teleporty, kity, ekonomiku, přezdívky, AFK i poštu. Všechno ostatní je samostatný modul v podobě jaru, který se stahuje ze stejného místa jako jádro a musí mít přesně stejnou verzi. Nesouhlasící modul je častou příčinou chybového výpisu při startu po aktualizaci.
| Modul | Co přidává | Sekce v config.yml |
|---|---|---|
| EssentialsX Chat | Formátování chatu, poloměr lokálního chatu | chat: |
| EssentialsX Spawn | /spawn, /setspawn, obsluha prvního připojení | newbies: a klíče spawnu |
| EssentialsX Protect | Přepínače poškození, výbuchů a fyziky | protect: (prevent, disable) |
| EssentialsX AntiBuild | Oprávnění ke stavění, blacklisty předmětů | protect: (alert, blacklist) |
| EssentialsX GeoIP | Země při přihlášení a v /whois | vlastní plugins/EssentialsGeoIP/config.yml |
| EssentialsX Discord | Most mezi chatem a Discordem | vlastní složka |
Důležitý je v té tabulce pravý sloupec. Sekce chat: je v hlavní konfiguraci, ať máš modul Chat, nebo ne, a úprava bez nainstalovaného jaru Chat nedělá vůbec nic - žádné varování, nastavení se prostě nikdy nepřečte. Pokud se zdá, že se změna ignoruje, zkontroluj nejdřív, jestli je modul ve složce plugins/, a teprve pak cokoli jiného. Instaluj jen moduly, které používáš; každý z nich registruje listenery na serveru, který běží s herní logikou v jednom vlákně. Širší otázku, co nainstalovat, řeší Minecraft pluginy, které stojí za instalaci.
Hlavička souboru uvádí pravidla YAML, která stojí za to znát před první úpravou: jen mezery, nikdy tabulátory; odsazení je struktura; apostrof uvnitř textu v jednoduchých uvozovkách se píše dvakrát (don''t); text se symboly patří do uvozovek; a pokud používáš písmeno s diakritikou nebo jiný symbol měny než $, musí být soubor uložený jako UTF-8, ne ANSI.
Teleporty: cooldowny, rozcestí a bezpečnost#
Čtyři klíče určují, jak se teleportování hráčům jeví, a je to první věc, které si všimnou.
teleport-safety: trueteleport-cooldown: 0teleport-delay: 0teleport-invulnerability: 4tpa-accept-cancellation: 120teleport-cooldown je odstup v sekundách, který musí uplynout mezi teleporty. Je to jeden společný časovač pro /home, /tp, /spawn, /warp a ostatní, ne zvláštní časovač na každý příkaz, takže při cooldownu 30 sekund hráč, který právě šel domů, nemůže 30 sekund použít ani /spawn. Na survival serveru hodnota mezi 10 a 60 zastaví spamování teleportů, aniž by působila jako trest.
teleport-delay je rozcestí: hráč musí tolik sekund stát na místě, než k teleportu dojde, a pohyb nebo útok ho zruší. Tohle nastavení brání tomu, aby někdo unikl z boje pomocí /home, a na PvP serveru je mnohem důležitější než cooldown. Obvyklý rozsah jsou tři až pět sekund; nad deset hráči přestanou domovy používat a začnou stavět nether dálnice, což může být přesně to, co chceš.
teleport-invulnerability dává po teleportu příkazem pár sekund, během nichž hráč nemůže být zraněn jinými hráči ani jim ublížit. Je tu proto, aby /tpa doprostřed boje neznamenalo okamžitou smrt a aby se to nedalo zneužít k přepadení.
teleport-safety rozhoduje, co se stane, když je cíl nebezpečný - láva, propast, uvnitř bloku. S hodnotou true Essentials přesune hráče na nejbližší bezpečné místo; s false se teleport zruší s varováním. Nech to zapnuté. tpa-accept-cancellation určuje, jak dlouho čeká žádost /tpa, než vyprší.
Tři oprávnění tato pravidla pro staff obcházejí:
| Oprávnění | Účinek |
|---|---|
essentials.teleport.cooldown.bypass | Ignoruje teleport-cooldown |
essentials.teleport.timer.bypass | Přeskočí rozcestí teleport-delay |
essentials.teleport.timer.move | Může se během rozcestí pohybovat bez zrušení |
Dávej je skupinám, ne jednotlivcům - návod k LuckPerms vysvětluje dědičnost, aby skupina VIP, která přeskakuje rozcestí, nepředala nenápadně bypass skupině, kterou jsi tak nezamýšlel.
Pokud chceš různé cooldowny pro různé příkazy, teleport-cooldown není správný nástroj. Novější blok command-cooldowns nastavuje cooldown pro každý příkaz zvlášť, funguje i pro příkazy z jiných pluginů a ve výchozím stavu přežije restart (command-cooldown-persistence: true):
command-cooldowns: home: 30 spawn: 10 tpr: 600Příkazy se píšou bez lomítka. Fungují zástupné znaky a klíč začínající znakem ^ se bere jako regulární výraz.
Domovy a limity sethome-multiple#
Limit domovů je nastavení, které se nejčastěji konfiguruje špatně, protože závisí na dvou oprávněních, ne na jednom.
sethome-multiple: default: 3 vip: 5 staff: 10Názvy pod sethome-multiple jsou rangy domovů a nemusí odpovídat tvým skupinám oprávnění. Hráč dostane víc než jeden domov, jen pokud má essentials.sethome.multiple; s tímto nodem samotným dostane počet z default. Aby získal číslo pro daný rang, potřebuje zároveň essentials.sethome.multiple a essentials.sethome.multiple.vip. Hráč, který má node rangu, ale ne základní node, zůstane na jednom domově, a to je zdroj téměř každého vlákna „nastavil jsem VIP na 5 domovů a oni mají pořád 1“. essentials.sethome.multiple.unlimited limit úplně odstraní.
Funkční nastavení pro tři úrovně vypadá takto, v řeči LuckPerms:
$ lp group default permission set essentials.sethome.multiple true$ lp group vip permission set essentials.sethome.multiple.vip true$ lp group staff permission set essentials.sethome.multiple.staff truePozdější snížení limitu už nastavené domovy nesmaže; jen zabrání hráčům nastavit další. Pokud limit snižuješ v rámci wipe nebo přebalancování, řekni to předem.
Ostatní klíče pro domovy jsou malé, ale stojí za rozhodnutí:
spawn-if-no-home: truepošle na spawn hráče, který napíše/homebez nastaveného domova. Nastavfalse, pokud má/homejednoduše selhat.confirm-home-overwrite: false- zapni to, protože/sethomese stávajícím názvem ho přepíše bez ptaní a hráči to dělají omylem.world-home-permissions: false- nastav natruespolu sessentials.worlds.<worldname>, aby lidé nemohli pomocí/homepřejít do světa, kam se dostat nemají. Na serveru s kreativním světem vedle survivalu takhle unikají inventáře mezi nimi; širší problém řeší provoz více světů s Multiverse.
Zpoplatnění domovů patří do command-costs, o čemž je řeč dál.
Blok ekonomiky#
Ekonomika je součástí hlavního jaru. Designovou stránku - Vault, pluginy obchodů, zdroje a propady peněz, přesun zůstatků do databáze - pokrývá návod k ekonomice EssentialsX a Vault. Tato sekce jsou jen klíče a jejich výchozí hodnoty.
starting-balance: 0command-costs: home: 50 sethome: 500 back: 100 kit-tools: 1500currency-symbol: '$'currency-symbol-suffix: falsemax-money: 10000000000000min-money: -10000economy-log-enabled: falseminimum-pay-amount: 0.001starting-balance se vyplatí jednou, když se při prvním připojení hráče vytvoří jeho soubor v userdata. Pozdější změna nic nezmění těm, kdo se už připojili.
currency-symbol může být jakýkoli znak, pokud je soubor uložený jako UTF-8 - symbol libry nebo eura v souboru uloženém jako ANSI se ve hře zobrazí jako otazník nebo změť znaků. Pro symboly psané za číslem nastav currency-symbol-suffix: true. Formát čísel je samostatná věc: odkomentuj currency-format: "#,##0.00" pro řízení desetinných míst a currency-symbol-format-locale (například de-DE pro 1.234,50) pro to, který znak odděluje tisíce.
min-money má výchozí hodnotu -10000 a jeho komentář vysvětluje, co to znamená: hráč může jít do minusu, jen pokud má essentials.eco.loan. Ve výchozím stavu tedy nikdo není v dluhu, ale spodní hranice je tu pro ty, kterým půjčky povolíš. Nastavení na 0 vypne přečerpání úplně, ať jsou oprávnění jakákoli. max-money má výchozí hodnotu deset bilionů; soubor sám varuje, že extrémně velká čísla mohou mít nezamýšlené důsledky, a strop, kterého by hráč mohl skutečně dosáhnout, je užitečnější číslo.
command-costs účtuje za každé použití. Klíč je název příkazu a kity používají kit-<name>. Režimy křiku a otázek z modulu Chat se dají zpoplatnit jako chat-shout a chat-question. Kdo má essentials.nocommandcost.<command> nebo essentials.nocommandcost.all, neplatí nic, a zástupný znak jako essentials.* u skupiny staffu je zahrnuje - ceny proto testuj s obyčejným účtem.
Zbytek bloku ve stručnosti:
| Klíč | Výchozí | Co dělá |
|---|---|---|
economy-log-enabled | false | Loguje obchody přes cedulky a /sell do trade.log |
economy-log-update-enabled | false | Loguje i každou transakci Vaultu - hlučné |
pay-excludes-ignore-list | false | Blokuje /pay někomu, kdo tě ignoruje |
show-zero-baltop | true | Zobrazuje prázdné zůstatky v /baltop |
baltop-requirements | 0, 0 | Minimální zůstatek a herní čas pro zařazení do seznamu |
baltop-entry-limit | -1 | Omezuje počet cachovaných záznamů baltop na velkých serverech |
Komentář k economy-log-update-enabled v souboru říká, že log rychle zaplní a je určený k testování; při běžném provozu ho nech vypnutý. Po změně show-zero-baltop spusť /baltop force, protože seznam je cachovaný.
sell-multipliers umožňuje rangu prodávat dráž než podle ceny z worth.yml: default: 1.0, double: 2.0 a oprávnění essentials.sell.multiplier.<rank>. Je to zdroj peněz. Dvojnásobný násobič u předmětu, který jde farmit, zdvojnásobí tempo, jakým peníze vstupují na server, tak podle toho nacenuj.
Formátování chatu s EssentialsX Chat#
Nic z toho nefunguje bez modulu Chat. S ním sekce chat: řídí formát a dosah každé zprávy.
chat: radius: 0 format: '<{DISPLAYNAME}> {MESSAGE}' group-formats: default: '&7{DISPLAYNAME}&7:&r {MESSAGE}' admin: '&c[{GROUP}]&r {DISPLAYNAME}&7:&f {MESSAGE}' world-aliases: world_nether: "&cN&r"radius: 0 je globální chat. Jakékoli jiné číslo udělá chat lokální do daného počtu bloků. Hráči s essentials.chat.shout se pořád dostanou ke všem, když zprávu začnou znakem !, ti s essentials.chat.question znakem ? a essentials.chat.spy vidí všechno bez ohledu na vzdálenost. Lokální chat mění charakter serveru víc než jakékoli jiné jednotlivé nastavení - tiché servery s ním působí prázdně, takže ho zapni, jen pokud je dost lidí, aby mohly vzniknout rozhovory v okolí.
Zástupné symboly, které doopravdy použiješ, jsou {DISPLAYNAME}, {USERNAME}, {NICKNAME}, {PREFIX}, {SUFFIX}, {GROUP}, {WORLDNAME} a {WORLD} (alias z world-aliases), plus {MESSAGE}.
Do dvou pastí spadne skoro každý:
- Dvojité prefixy.
{DISPLAYNAME}už obsahuje prefix a suffix z tvého pluginu oprávnění. Formát{PREFIX} {DISPLAYNAME}vypíše rang dvakrát. Použij samotné{DISPLAYNAME}, nebo{PREFIX}{NICKNAME}{SUFFIX}, pokud je chceš rozmístit sám. - Názvy skupin rozlišují velikost písmen. Klíč pod
group-formatsmusí přesně odpovídat názvu skupiny - a pokud má skupina v LuckPerms nastavený zobrazovaný název, Essentials vidí právě ten. Formát, který se nikdy neuplatní, je skoro vždy věc velkého písmena nebo zobrazovaného názvu.
Prefixy přicházejí z LuckPerms přes Vault, takže oba musí být nainstalované, aby {PREFIX} něco zobrazilo. Barevné kódy ve formátu používají &; zda hráči smějí používat barvy ve svých zprávách, určují samostatná oprávnění. paper-chat-events: true používá moderní chatové události Paperu a je to jediné nastavení chatu, jehož změna vyžaduje úplný restart - vypni ho, jen pokud se kryje s jiným chatovým pluginem.
Pokud propojuješ chat s Discordem, Discord si drží vlastní formát; alternativu k modulu Essentials popisuje DiscordSRV a integrace Discordu.
Spawn, první připojení a respawn#
Modul Spawn má na starosti tři okamžiky: první připojení hráče, každé další připojení a respawn po smrti.
newbies: announce-format: '&dWelcome {DISPLAYNAME}&d to the server!' spawnpoint: newbies kit: toolsspawn-on-join: falserespawn-at-home: falserespawn-at-home-bed: truerespawn-at-anchor: falserespawn-listener-priority: highspawn-join-listener-priority: highSpawny nastavuj ve hře, ne v souboru. Postav se tam, kde se mají všichni objevit, a spusť /setspawn; postav se na místo příchodu nových hráčů a spusť /setspawn newbies. Právě to druhé jméno je to, na co odkazuje spawnpoint: newbies. Pokud zvláštní spawn pro nováčky nechceš, nastav spawnpoint: none a noví hráči použijí spawn světa. /setspawn <group> funguje pro libovolný název skupiny, díky čemuž může staff přicházet jinam než všichni ostatní.
kit: tools rozdá při prvním připojení kit tools z kits.yml, bez ohledu na cenu, oprávnění nebo cooldown kitu. Zkontroluj, že kit opravdu obsahuje, co chceš; výchozí je startovní sada a kit při prvním připojení je sám o sobě malým zdrojem předmětů. announce-format nastavený na '' vypne uvítací oznámení.
spawn-on-join je nastavení „spawn při připojení“, které lidé hledají. Hodnota true pošle každého hráče na spawn při každém přihlášení; přijímá také název skupiny nebo seznam skupin, takže na spawn můžeš poslat jen hráče ze default, zatímco hráči s rangem se přihlásí tam, kde skončili:
spawn-on-join: - default - guestsKdo má essentials.spawn-on-join.exempt, zůstane tam, kde se odhlásil. Na lobby nebo hubu by to mělo být true; na survival serveru je to obvykle false, protože vracení na spawn při každém přihlášení otravuje, jakmile mají lidé základnu.
Respawn určují klíče respawn-at-. respawn-at-home: true pošle mrtvého hráče k jeho prvnímu domovu, nebo k posteli, pokud je zapnuté i respawn-at-home-bed. respawn-at-anchor určuje, zda se respektují respawn anchory v Netheru.
Dvě priority listenerů jsou místem, kde se Essentials potkává s jinými pluginy, které také přesouvají hráče. Pokud má o respawnu hráčů rozhodovat Multiverse nebo plugin lobby, nastav respawn-listener-priority: lowest; none dává vanilla chování; highest vynutí, aby vyhrál Essentials. Obě priority se mění jen úplným restartem.
AntiBuild a GeoIP#
AntiBuild je modul, který dokáže zamknout lidi venku z jejich vlastního serveru. Jeho hlavní přepínače jsou pod protect: v hlavní konfiguraci:
protect: disable: build: true use: true warn-on-build-disallow: true alert: on-placement: LAVA,TNT,LAVA_BUCKET on-use: LAVA_BUCKET on-break: blacklist: placement: LAVA,TNT,LAVA_BUCKET usage: LAVA_BUCKET break: piston: dispenser:S nainstalovaným jarem AntiBuild a build: true (výchozí) nemůže nikdo bez essentials.build pokládat ani ničit bloky a s use: true nemůže ani používat předměty. To je správně na serveru, kde musí být noví hráči schváleni, než začnou stavět, a katastrofa, pokud jsi jar jen přihodil, protože byl ve stejném stažení. Buď dej essentials.build skupině default, nebo nastav build i use na false a AntiBuild nech jen kvůli blacklistům.
Blacklisty berou názvy materiálů z Bukkitu oddělené čárkou. placement a usage mají výchozí hodnotu láva a TNT; break může chránit například BEDROCK a piston a dispenser brání těmto strojům v posunutí nebo vystřelení materiálu. essentials.protect.exemptplacement, exemptusage a exemptbreak propouštějí staff. Seznamy alert posílají zprávu každému s essentials.protect.alerts, když někdo položí nebo použije uvedený materiál, což je levné včasné varování před griefingem lávou. Pro jemnější řízení existují nody pro jednotlivé materiály, například essentials.build.place.<material>. AntiBuild je tupý nástroj; skutečnou ochranu proti griefu s claimy a logy bloků najdeš v ochraně před griefem a anti-cheatu.
Modul Protect sdílí stejnou sekci protect:, pod prevent: a přepínači poškození v disable: (fall, pvp, drown, lavadmg a další). Vypnutí PvP pro celý server je protect.disable.pvp: true.
GeoIP má vlastní soubor, plugins/EssentialsGeoIP/config.yml:
database: show-cities: false download-if-missing: true license-key: "" update: enable: true by-every-x-days: 30show-on-login: trueshow-on-whois: truePoužívá databázi GeoLite2 od MaxMindu, kterou už nejde stáhnout anonymně. Vytvoř si bezplatný účet MaxMind, vygeneruj licenční klíč a vlož ho do license-key; bez něj stahování selže a modul při každém startu zaloguje chybu. Jakmile to funguje, staff s essentials.geoip.show vidí zemi každého hráče při přihlášení a v /whois a essentials.geoip.hide udrží polohu hráče mimo.
Než ho nainstaluješ, zamysli se. Ukazovat staffu, odkud se hráči připojují, jsou osobní údaje, na malém serveru se to málo kdy hodí a za proxy hlásí pro všechny polohu proxy, pokud se nepřeposílají IP hráčů - to řeší nastavení v sítích proxy Velocity.
Reload a kdy je potřeba restart#
Hlavička souboru to říká jasně: po úpravě spusť /essentials reload (nebo /ess reload). Z konzole serveru se příkaz píše bez lomítka - essentials reload - protože konzole je vstup serveru, ne chatovací okno. Tím se znovu načte config.yml, kity, worth a jazykové soubory, aniž by se sáhlo na zbytek serveru.
Některé změny se po reloadu neprojeví:
respawn-listener-priorityaspawn-join-listener-priority- jejich komentáře říkají restart.chat.paper-chat-events- restart.- Přidání, odebrání nebo aktualizace libovolného jaru modulu - restart.
show-zero-baltop- reload, pak/baltop force.
Nikdy nepoužívej celoserverový /reload ani správce pluginů, který načítá jary za běhu. Znovu načte všechny pluginy najednou, včetně Essentials, a nechá listenery a úlohy napůl zaregistrované tak, že to vypadá jako chyba v tom pluginu, který se rozbije první. Paper před tím v konzoli varuje z dobrého důvodu. Restart trvá pár sekund.
Reload, který jako by nic nedělal, obvykle znamená, že se YAML nepodařilo načíst. Sleduj konzoli, když ho spouštíš: tabulátor, chybějící mezera za dvojtečkou nebo neošetřený apostrof vyvolá chybu s názvem řádku a Essentials tvou úpravu neaplikoval. Na RE:NODE editor ve správci souborů zvýrazňuje syntaxi YAML, což zachytí většinu chyb v odsazení ještě před uložením, a konzole ukazuje výstup reloadu živě. Před větší úpravou si v panelu udělej backup - obnova je jedno tlačítko - a vedle něj si ponech kopii fungujícího config.yml. Zálohování a obnova světa Minecraftu popisuje, co dalšího do té zálohy patří.
Řešení potíží#
Nastavení se ignoruje úplně. Chybí jeho modul, nebo se YAML nenačetlo. Sekce chat:, newbies: a protect: všechny závisejí na jarech modulů.
Hráči mají jeden domov bez ohledu na rang. Mají node rangu, například essentials.sethome.multiple.vip, bez základního nodu essentials.sethome.multiple. Potřebují oba.
Rangy se v chatu zobrazují dvakrát. Formát používá dohromady {PREFIX} a {DISPLAYNAME}. Vyhoď {PREFIX}.
Formát skupiny se nikdy neuplatní. Velikost písmen, nebo zobrazovaný název v LuckPerms. Spusť lp user <name> info a název skupiny zkopíruj přesně.
Po aktualizaci nikdo nemůže stavět. AntiBuild se nainstaloval spolu s ostatními moduly. Dej essentials.build skupině default, nebo nastav protect.disable.build a use na false.
Symbol měny se zobrazuje jako otazník. Soubor byl uložený jako ANSI. Ulož ho jako UTF-8 a proveď reload.
Teleporty se pořád ruší. To je teleport-delay v akci: hráč se pohnul nebo byl zasažen. Dej staffu essentials.teleport.timer.move, pokud se potřebuje pohybovat.
Noví hráči nepřicházejí na spawn pro nováčky. Nikdy se nespustilo /setspawn newbies, nebo místo připojení řeší jiný plugin. Zkontroluj spawn-join-listener-priority a po změně restartuj.
FAQ#
Je ekonomika EssentialsX ve výchozím stavu zapnutá?
Ano. Ekonomika je součástí hlavního jaru a funguje od prvního spuštění, bez modulu k instalaci. Zůstatky, /pay, /balance a /baltop fungují hned; ostatní pluginy se k ní dostanou přes Vault.
Použije /essentials reload každou změnu?
Většinu. Priority listenerů, paper-chat-events a jakákoli změna nainstalovaných jarů modulů potřebují úplný restart. Všechno v sekcích ekonomiky, teleportů, domovů a formátu chatu se projeví po reloadu.
Jak hráčům zabránit v používání /back po smrti?
Místa smrti se pro /back zaznamenávají jen hráčům s essentials.back.ondeath. Nech tento node mimo skupinu default, nebo dej na back v command-costs cenu, pokud ho chceš mít dostupný, ale drahý.
Můžu nastavit jiný spawn pro každý rang?
Ano. Postav se na každé místo a spusť /setspawn <group> s názvem skupiny. Hráči se posílají na spawn své skupiny, a když žádný není, na výchozí spawn.
Potřebuju modul GeoIP?
Zřídka. Ukazuje staffu zemi každého hráče, což pomáhá proti obcházení banů na velkém veřejném serveru, a jsou to osobní údaje, které pak držíš. Také potřebuje licenční klíč MaxMind ke stažení své databáze.


