Draaiboek: Grote servers
In dit artikel stip ik een paar dingen aan die wij aanraden voor de opening van grote servers (>80 man). Hij is vooral gericht op survival-achtige servers gezien die het eerste bottlenecken, maar is ook toepasbaar op andere servers.
Een hele belangrijke vuistregel: Mobs zullen voor 80% van je lag zorgen, je wereld voor 10%. De impact van plugins op nieuwere Minecraft versies is minimaal.
- Pregenerate je wereld met Chunky
- Paper of forks daarvan draaien is een MUST. Ik snap dat dit vanilla features hierdoor aangepast worden, maar zonder paper's multithreaded chunkloading kom je nergens.
- Zet in de paper config onder chunk generation de gen- en io- threads gelijk aan het aantal threads van je server.
- Zorg dat je genoeg cpu en ram hebt. Hoewel minecraft inherent singlethreaded is zijn 6 threads geen overbordige luxe. Historisch gebruikte Minecraft relatief weinig ram, maar op moderne versies is 8GB geen overbodige luxe. Als je boven de 16GB gaat zitten gaat je performance alleen maar omlaag met meer ram. Als je 8GB of meer hebt: Vraag je host om "Akair flags" in te stellen.
- Stel een worldborder in, idealiter helemaal vooraf ingeladen, maar probeer je wereld niet over de ~40GB opslag te laten komen voor er spelers op zitten.
- Een bungeecord hebben met een kleine (3-4GB hub) is zeker de moeite waard, ook als je maar 1 server hebt. Mocht je de server moeten herstarten dan is het makkelijk om mensen kort naar de hub te sturen zodat niemand gekickt wordt.
- Ik moet dit niet hoeven zeggen: Nee, gamerule randomtickspeed moet je gewoon op 3 laten staan. Als je wil dan planten sneller groeien kan je dit los instellen in de server config.
- Gezien mobs-ticking veruit de grootste lag factor is: Zorg dat je dit zoveel mogelijk limiteert. Je kan in je config bestanden goed instellen hoeveel mobs moeten spawnen, en hoe ver ze kunnen "kijken". Dit is ideaal. Als je niet wil restarten om dit later omhoog te zetten is het de moeite waard om tijdens de opening mobspawning uit te zetten met een gamerule. Niet ideaal voor spelers maar lag is een stuk minder ideaal. Je kan deze aan/uit togglen terwijl de server loopt om zo de lag op orde te houden
- View en simulation distance in de server.properties zijn belangrijke settings. Simulation gaat erover hoe ver mobs je kunnen zien, en view distance hoe ver je kan kijken (beiden in chunks). Bij het openen heb je deze idealiter op 8 (view) en 6 (simulation) of nog een tikje lager staan.
- Minecraft is niet meer de lichte game die het ooit was. Op 1.21 zal je altijd wel wat lag ondervinden, maar het doel is om dit zo laag mogelijk te houden. Paper helpt om zelfs bij lage tps dingen als blokken breken een stuk smoother te maken.
- Spark is je beste vriend. Gebruik het om je server vooraf te optimaliseren en om lag oorzaken te vinden bij de opening. Het world tabje en de flamegraph zijn vooral handig. /spark sampler open
- Paper heeft een goede ingebouwde anti-xray. Deze geeft vergeleken met andere anti-xray plugins zo goed als geen lag.
- Na de opening: Als het nog lagged met lagere spelercounts(<60) zijn het meestal mobfarms. Een handig commando om deze te vinden is `/minecraft:tp @e[limit=1,sort=random]` https://www.spigotmc.org/resources/entitydetection-tile-entity-support.20588/ als plugin maakt dit wat makkelijker. https://modrinth.com/plugin/farmcontrol is ook een optie, maar heeft wat meer impact op spelers.
- Een goede guide voor verdere optimalisaties en meer info over deze settings: https://paper-chan.moe/paper-optimization/
Met deze settings hebben wij succes gehad met survival servers van 100-150 man