Herní pravidla (gamerules) jsou přepínače vnitřního chování světa – ovlivňují například to, zda hráč po smrti přichází o inventář, zda běží střídání dne a noci, nebo zda monstra ničí okolní bloky. Nastavují se příkazem gamerule v záložce Konzole; v souboru server.properties se nenacházejí. Zadané hodnoty se ukládají přímo do datových souborů světa a zůstávají aktivní i po restartu.
#Co budete potřebovat
- Server ve stavu Spuštěn.
- Přístup do záložky Konzole v panelu na manage.mchost.gg.
#Jak nastavit herní pravidlo
V konzoli zadejte příkaz bez úvodního lomítka:
gamerule keepInventory truePro zjištění aktuálně nastavené hodnoty zadejte pouze název pravidla bez parametrů:
gamerule keepInventoryNázvy herních pravidel striktně rozlišují velká a malá písmena (tzv. camelCase). Příkaz keepinventory fungovat nebude, správný tvar je keepInventory. Při překlepu server odpoví chybou Unknown command.
#Nejčastěji používaná herní pravidla
| Pravidlo | Výchozí hodnota | Co způsobuje |
|---|---|---|
keepInventory |
false |
Hráč si po smrti ponechá veškerý inventář i zkušenosti |
doDaylightCycle |
true |
Přirozené střídání dne a noci |
doWeatherCycle |
true |
Dynamické změny počasí (déšť, bouřka) |
mobGriefing |
true |
Ničení bloků moby (výbuchy Creeperů, přenášení bloků Endermany) |
doFireTick |
true |
Šíření ohně |
doMobSpawning |
true |
Přirozené objevování (spawn) zvířat a monster |
doInsomnia |
true |
Spawn phantomů při dlouhém ponocování bez spánku |
announceAdvancements |
true |
Ohlašování splněných pokroků (advancements) v chatu |
showDeathMessages |
true |
Zprávy o úmrtí hráčů v chatu |
naturalRegeneration |
true |
Přirozená regenerace životů při plném ukazateli hladu |
randomTickSpeed |
3 |
Tempo růstu plodin a náhodných událostí |
playersSleepingPercentage |
100 |
Procento ležících hráčů nutné pro přeskočení noci |
spawnRadius |
10 |
Poloměr rozptylu náhodného znovuzrození (respawnu) |
maxEntityCramming |
24 |
Limit entit na jednom bloku |
doImmediateRespawn |
false |
Okamžité znovuzrození bez zobrazení obrazovky smrti |
disableElytraMovementCheck |
false |
Vypíná kontrolu pohybu při letu na elytře |
#Osvědčené sady pravidel
#Pohodový server pro přátele (méně frustrace)
gamerule keepInventory true
gamerule doInsomnia false
gamerule playersSleepingPercentage 50#Ochrana staveb před poškozením
gamerule mobGriefing false
gamerule doFireTick false#Tvořivý stavitelský server
gamerule doDaylightCycle false
gamerule doWeatherCycle false
gamerule doMobSpawning falseHodnota mobGriefing false zabrání Creeperům v ničení terénu, zároveň však znemožní vesničanům sbírat plodiny na farmách a Endermanům manipulovat s bloky. Pokud potřebujete chránit výhradně stavby hráčů, lepším řešením je ochrana regionů pomocí pluginu.
#Vliv na výkon serveru
Pravidlo randomTickSpeed má zásadní dopad na výkon procesoru – každé navýšení hodnoty znamená více náhodných operací nad bloky v každém herním ticku.
gamerule randomTickSpeed 3Nikdy nezvyšujte randomTickSpeed na hodnoty typu 100 pro „rychlejší růst rostlin“. Je to jeden z nejjednodušších způsobů, jak zabít TPS na serveru s větším počtem chunků – zátěž roste lineárně s každým bodem.
#Pravidla a více herních světů
Herní pravidla se ukládají samostatně pro každý svět a dimenzi zvlášť. Provozujete-li server s multi-world pluginem, pravidlo aktivované v jednom světě se nepřenáší automaticky do ostatních dimenzí – musíte jej zadat v každém světě samostatně.
#Nejčastější potíže
#„Unknown command“ u gamerule
Zkontrolujte překlepy a velikost písmen. Správnou nápovědu syntaxe získáte přímo ve hře po napsání /gamerule – konzole v panelu automatické doplňování nenabízí.
#Pravidlo se po restartu vrátilo na výchozí hodnotu
Hodnoty se zapisují do datové složky světa. Pokud jste nahráli novou mapu nebo obnovili svět ze starší zálohy, vrátila se pravidla do tehdejšího stavu – nastavte je znovu.
#keepInventory je aktivní, ale hráči stejně ztrácejí úrovně
Pravidlo keepInventory standardně chrání předměty i nasbírané levely. Pokud zkušenosti mizí, zkontrolujte, zda chování nepřepisuje nějaký nainstalovaný plugin pro úmrtí.
#Pravidlo nefunguje v Netheru
Pravidlo bylo zadáno v hlavním světě (Overworld). Přesuňte se do Netheru nebo použijte specifický příkaz vašeho multi-world pluginu.
#Po doDaylightCycle false chci nastavit konkrétní denní dobu
time set day