Minecraft
Kolik RAM potřebuje Minecraft server?
Kolik paměti potřebuje Minecraft server pro partu kamarádů, veřejný server s pluginy nebo modpack — a proč samotná RAM nevyřeší lagy.
5 min čteníBlazeHost
„Kolik RAM potřebuju?“ je nejčastější otázka před objednáním Minecraft serveru. Poctivá odpověď zní: záleží na tom, co na serveru poběží. Jiné nároky má svět pro pár kamarádů na Paperu, jiné veřejný server s ekonomikou a úplně jiné modpack se stovkou a více módů. V tomto článku najdete orientační hodnoty i s předpoklady, ze kterých vycházejí, vysvětlení, co paměť na serveru vlastně zabírá, a hlavně důvod, proč samotná RAM lagy často nevyřeší.
Rychlá odpověď
Následující hodnoty jsou výchozí bod, ne záruka. Počítají s jedním světem, běžnou vzdáleností vykreslování (view distance 8–10) a s tím, že vedle serveru neběží další procesy, jako je samostatná databáze nebo webová mapa.
| Scénář | Orientačně | Předpoklady |
|---|---|---|
| Parta kamarádů | 4 GB | Paper nebo Vanilla, pár běžných pluginů, vanilla generace světa, do zhruba 10 současně připojených hráčů. |
| Veřejný server s pluginy | 8 GB | Paper, ekonomika a ochrana pozemků, pravidelný restart, do zhruba 30 současně připojených hráčů. |
| Lehký modpack | 6–8 GB | Fabric, Forge nebo NeoForge s několika desítkami módů, menší komunita. |
| Velký modpack | od 12 GB | Zhruba 150 módů, generace světa s vlastními biomy, malá uzavřená komunita. |
Na nejnovějších verzích Minecraftu počítejte spíš s horní hranicí — novější verze drží v paměti víc dat o světě než starší. A s rostoucím počtem hráčů roste i potřebná rezerva: nad zhruba 40 současně připojenými hráči se vyplatí jít o úroveň výš. Pokud chcete odhad přímo pro svou konfiguraci, použijte doporučovač u Minecraft tarifů — u výsledku vždy vidíte, z čeho vychází.
Co na serveru zabírá paměť
Minecraft server je program v Javě a většinu paměti spotřebuje v takzvané haldě (heap), jejíž maximum určuje parametr -Xmx. Do ní se vejde hlavně:
- Načtené chunky. Kolem každého hráče se drží načtená oblast podle view distance. Hráči rozprchlí po světě znamenají víc načtených chunků než hráči na jednom místě.
- Entity a bloky s daty. Zvířata, moby, předměty na zemi, truhly, násypky, redstone. Velké farmy umějí paměť i procesor zatížit víc než desítka hráčů.
- Pluginy a módy. Každý si drží vlastní data. Módy navíc přidávají nové bloky, předměty a generaci světa, proto mají modpacky mnohem vyšší základ.
- Rezerva pro garbage collector. Java uvolňuje nepoužívané objekty průběžně a potřebuje k tomu volné místo v haldě.
Proces Javy navíc potřebuje paměť i mimo haldu (například pro načtené třídy, vlákna a nativní knihovny). Proto se halda nikdy nenastavuje na celou paměť stroje nebo kontejneru. Kdyby proces přerostl přidělený limit, systém ho ukončí. Na hostingu tohle hlídá panel: paměť pro Javu nastavuje podle tarifu a ručně ji nad přidělenou hodnotu zvyšovat nemáte.
Hodně záleží i na serverovém softwaru. Vanilla ani Paper samy o sobě žádnou velkou režii nepřidávají a Paper je navíc optimalizovaný na výkon, proto s ním u pluginových serverů počítáme jako se základem. Modloadery Fabric, Forge a NeoForge jsou jiný případ: každý mód přidává vlastní obsah, a tak modpack potřebuje znatelně víc paměti už při startu, ještě než se připojí první hráč. Pokud se rozhodujete mezi pluginy a módy, počítejte s tím už při výběru velikosti serveru.
Proč víc RAM často nevyřeší lag
Svět Minecraftu se počítá v takzvaných ticích — ideálně 20 za sekundu, takže na jeden tick má server 50 ms. Tomu odpovídají metriky TPS (ticky za sekundu) a MSPT (milisekundy na tick). Podstatná část práce v ticku běží v jednom hlavním vlákně. Když tick trvá déle než 50 ms, TPS klesá a hráči vidí lag. Rozhoduje tedy hlavně výkon jednoho jádra procesoru a to, kolik práce server v každém ticku dělá — ne velikost paměti.
Nejčastější příčiny lagu, na které víc RAM nepomůže:
- Generování nových chunků. Když hráči prozkoumávají nový terén, server musí svět teprve vytvořit. Pomůže nastavit hranici světa a svět předem vygenerovat, například pluginem Chunky.
- Příliš velká simulation distance. Každý chunk v dosahu simulace se v každém ticku počítá. Parametry
view-distanceasimulation-distancepopisuje Minecraft Wiki. - Entity a farmy. Stovky zvířat v jedné ohradě nebo přeplněné násypky zatíží hlavní vlákno bez ohledu na paměť.
- Konkrétní plugin nebo mód. Jeden špatně napsaný doplněk dokáže zpomalit celý server.
Příčinu nejspolehlivěji najdete profilerem spark. Postup krok za krokem popisuje náš návod Výkon Minecraft serveru.
Může paměti být příliš mnoho?
Paměť, kterou server nevyužije, mu výkon nepřidá. Halda nastavená zbytečně vysoko jen oddaluje úklid garbage collectoru — ten pak pracuje s větším objemem dat a jednotlivé pauzy mohou být delší. A pokud halda sahá až k limitu stroje nebo kontejneru, nezbývá místo pro paměť mimo haldu a proces může spadnout. Rozumnější je zvolit velikost podle skutečné spotřeby s přiměřenou rezervou.
Pokud server spouštíte sami, dokumentace Paperu doporučuje takzvané Aikarovy parametry — sadu nastavení garbage collectoru G1 laděnou pro Minecraft. Mimo jiné doporučují nastavit -Xms a -Xmx na stejnou hodnotu a nepřidělovat Javě veškerou paměť stroje.
Jak poznat, že paměť opravdu dochází
- Využití paměti se v grafech panelu dlouhodobě drží u limitu a neklesá ani po úklidu.
- Příkaz
spark healthnebo report sparku ukazuje časté a dlouhé pauzy garbage collectoru. - Server padá s chybou
OutOfMemoryError. - Problém se zhoršuje s každým přidaným pluginem nebo módem, i když hráčů je stejně.
Pokud nic z toho neplatí a server přesto laguje, hledejte příčinu v procesoru, generaci světa nebo v konkrétním doplňku. U modpacků navíc platí, že doporučená paměť v popisu modpacku je spíš minimum — víc v návodu instalace modpacků. Doplňky na Paperu řeší návod instalace pluginů.
Jak to řešíme u nás
Minecraft servery u BlazeHostu běží na vlastním hardwaru s procesory AMD Ryzen 9 5900X a NVMe SSD disky v kolokaci v datacentru firstcolo FRA4 ve Frankfurtu nad Mohanem. RAM a disk jsou u tarifu vyhrazené, tarify začínají na 2 GB od 60 Kč měsíčně a navýšení paměti uděláte v klientské zóně — projeví se po restartu, svět ani konfigurace se nemažou. Server se po zaplacení založí automaticky a spravujete ho v panelu Pterodactyl. Pokud si nejste jistí velikostí, napište nám a projdeme vaši konfiguraci.
Shrnutí
- Paper s pár pluginy pro zhruba 10 hráčů: 4 GB. Veřejný server s pluginy pro zhruba 30 hráčů: 8 GB. Velký modpack kolem 150 módů: od 12 GB.
- Novější verze Minecraftu, víc hráčů a vyšší view distance posouvají potřebu paměti nahoru.
- Lag většinou způsobuje výkon jednoho vlákna, generování chunků, entity nebo konkrétní plugin — ne nedostatek RAM.
- Předgenerujte svět, rozumně nastavte simulation distance a měřte sparkem.
- Paměť navyšujte, až když data ukazují, že opravdu dochází. Přebytečná RAM výkon nepřidá.
Minecraft server na vlastním hardwaru ve Frankfurtu
Paper, Fabric, Forge i modpacky v panelu Pterodactyl, DDoS ochrana v ceně.