Lag op je Minecraft-server oplossen
Op deze pagina
"De server laggt" kan op drie verschillende problemen wijzen, en elk heeft een eigen oplossing. Terugspringen en blokken die terugkomen nadat je ze hebt gebroken: dat is de server die achterloopt. Een ping die omhoogschiet is het netwerk. Een schokkerig beeld terwijl het bij iedereen anders prima loopt, is de eigen pc van de speler.
Deze gids laat zien hoe je ze uit elkaar houdt, hoe je serverlag goed meet met TPS, MSPT en een spark-profiel, welke instellingen op Paper echt helpen en hoe je weet wanneer het antwoord echt meer RAM of een snellere CPU is, en wanneer niet.
Serverlag, netwerklag of clientlag?
| Wat spelers zien | Hoe je het bevestigt | |
|---|---|---|
| Serverlag | Iedereen tegelijk: terugspringen, bevroren mobs, blokken die terugkomen, vertraagde chat | TPS onder 20, of ticktijden van 50 ms en meer |
| Netwerklag | Eén of een paar spelers: terug geteleporteerd worden, klappen die niet raken | Hoge ping bij die spelers, terwijl de TPS op 20 blijft |
| Clientlag | Eén speler: lage framerate, haperingen bij het draaien | Lage FPS in het F3-scherm van die speler, servercijfers in orde |
De snelste test is vragen of iedereen op hetzelfde moment lag heeft. Een server die achterloopt bevriest alle spelers tegelijk; een slechte verbinding of een trage pc treft alleen de eigenaar. De rest van deze gids gaat over serverlag.
Lag door trage hardware? Minecraft-servers van HytHost draaien op Ryzen 7- en Intel i9-CPU's met hoge kloksnelheid, vanaf €2.59/mnd.
Bekijk Minecraft-pakkettenEerst meten: TPS, MSPT en spark
Een Minecraft-server draait op 20 ticks per seconde, dus elke tick heeft 50 ms om klaar te zijn. Twee getallen laten zien hoe hij het bijhoudt:
- TPS (ticks per seconde): 20 betekent dat de server het bijhoudt; onder 20 vertraagt de wereld.
- MSPT (milliseconden per tick): hoe lang elke tick duurt. Onder 50 ms is er tijd over; boven 50 ms loopt de server achter.
Paper heeft /tps en /mspt, maar de eigen documentatie verwijst naar spark, dat sinds 1.21 in Paper is ingebouwd en als mod beschikbaar is voor Fabric, Forge en NeoForge:
/spark tps /spark health /spark ping
/spark tps toont de TPS over de afgelopen seconden en minuten en, nuttiger nog, de tickduur als minimum, mediaan, 95e percentiel en maximum. /spark ping toont de ping van spelers, en daarmee is de vraag "server of netwerk" beantwoord. /spark health voegt CPU, geheugen en schijf toe.
Vind de oorzaak met een spark-profiel
Cijfers vertellen dat de server laggt; een profiel vertelt waarom. Start er een terwijl de lag optreedt en laat het een paar minuten lopen:
/spark profiler start --timeout 300
Als het klaar is, plaatst spark een link naar de webviewer. Daarin:
- Open de Server thread, de hoofdthread die de wereld draait. Daar zit de lag.
- Klap de items met de hoogste percentages uit: daar gaat de ticktijd naartoe.
- Schakel naar de weergave Sources om de tijd per plugin of mod te zien. Eén plugin of mod die een groot deel van de hoofdthread inneemt, is meestal je antwoord.
Nog twee tools helpen bij lag die komt en gaat: /spark tickmonitor meldt elke tick die te lang duurt, en /spark profiler start --only-ticks-over 100 legt alleen de trage ticks vast, zodat een zeldzame piek niet wegvalt in het gemiddelde.
De oplossingen die ertoe doen, op volgorde
1. View distance en simulation distance
In server.properties bepaalt simulation-distance tot hoe ver rond spelers de wereld echt wordt gesimuleerd (mobs, gewassen, redstone) en view-distance tot hoe ver chunks naar spelers worden gestuurd. Beide staan standaard op 10. simulation-distance verlagen is vaak de grootste winst in één stap: probeer 6 tot 8, en houd view-distance iets hoger zodat de wereld er nog open uitziet. Dit zijn startwaarden, geen officiële waarden; meet vooraf en achteraf.
2. Genereer de wereld vooraf
Nieuwe chunks genereren is een van de zwaarste dingen die een server doet, en spelers die in verschillende richtingen verkennen laten hem dat voortdurend doen. De plugin (of mod) Chunky genereert de kaart van tevoren:
chunky radius 5000 chunky start chunky pause chunky continue
Laat het draaien als er niemand speelt (een lopende pregeneratie zorgt er bewust voor dat de server "Can't keep up" meldt) en pauzeer het als er spelers inloggen.
3. Entities en farms
Mobfarms, villagerhallen en stapels items zijn de meest voorkomende constante belasting. Op Paper en Spigot regelt entity-activation-range in spigot.yml hoe dichtbij een speler moet zijn voordat een entity volledig wordt getickt, en merge-radius voegt gedropte items en experience orbs samen. Beperk mobfarms met een plugin of een regel, en ruim vergeten itemstapels op.
4. Hoppers en redstone
Lange hopperketens zijn zwaar. In spigot.yml bepaalt ticks-per.hopper-transfer hoe vaak ze items verplaatsen, en Papers hopper.disable-move-event maakt ze een stuk sneller, maar breekt beveiligingsplugins die op dat event leunen. Voor redstone kan Papers misc.redstone-implementation: ALTERNATE_CURRENT de lag van redstone dust flink verminderen, maar het verandert hoe dust zich gedraagt, dus test je bouwwerken eerst.
5. De plugin of mod uit je profiel
Als het spark-profiel naar één plugin of mod wijst, is dat de oplossing: update hem, stel hem lichter in of vervang hem. Geen hoeveelheid RAM maakt een slecht geschreven plugin sneller.
"De TPS is 20, maar het laggt nog steeds"
Dit is het meest verwarrende geval, en bijna altijd gaat het om een tick-stall: de meeste ticks zijn snel, maar af en toe duurt er een honderden milliseconden. Het gemiddelde blijft op 20, toch voelt iedereen een bevriezing.
- Controleer de maximale ticktijd in
/spark tps, of draai/spark tickmonitor. Pieken van enkele honderden milliseconden bevestigen het. - De gebruikelijke oorzaak is een plugin die op de hoofdthread wacht: skins of hoofden van spelers van internet ophalen, iets naar een webhook sturen, op updates of een licentie controleren, of een bestand of database synchroon opslaan. De server doet niets zolang hij wacht.
- Profileer het wachten, niet alleen het rekenen. Een normaal profiel toont CPU-werk; een thread die wacht lijkt inactief. Gebruik
/spark profiler start --thread *om vast te leggen waar de tijd heen gaat, inclusief wachttijd, en zoek naar netwerk- of bestandsaanroepen op de Server thread.
De oplossing zit in de plugin: asynchrone aanroepen, of een andere plugin. Meer RAM, een snellere CPU of een betere verbinding helpen niet, want de server komt niets tekort; hij wacht.
Wanneer het antwoord echt RAM of CPU is
Minecraft simuleert de wereld op één hoofdthread. Dat heeft twee gevolgen:
- CPU-snelheid per core telt het zwaarst. Als spark laat zien dat de Server thread bezig is met normaal wereldwerk (entities, chunks, block ticks) en de MSPT hoog is, helpt een snellere CPU waar meer cores niet zouden helpen.
- RAM helpt alleen als je tekortkomt. Signalen: de server herstart wanneer hij zijn geheugenlimiet raakt, of garbage-collectionpauzes domineren het profiel. Boven wat de wereld en de mods nodig hebben, doet meer RAM niets voor de ticksnelheid, en een te grote, niet afgestelde heap kan garbage-collectionpauzes juist langer maken.
Hoeveel RAM een server nodig heeft, en de startflags die garbage collection kort houden, staan in hoeveel RAM een Minecraft-server nodig heeft. De keuze tussen Paper, Purpur en de rest staat in de beste Minecraft-serversoftware.
Lag en je HytHost-server
Elk Minecraft-pakket van HytHost draait op dezelfde hardware: Ryzen 7- en Intel i9-CPU's met tot 5.0 GHz boost, DDR4-geheugen en NVMe-opslag, precies de single-threadsnelheid waar Minecraft op leunt. spark zit al in Paper, dus je kunt meteen vanuit de console profileren.
Laat je profiel zien dat de server echt geheugen tekortkomt voor zijn wereld en mods, stap dan via het panel over naar een groter pakket; de wereld blijft gewoon staan. Wijst het naar een plugin of een farm, los dat dan eerst op: dat is gratis en werkt op elk pakket. Bekijk Minecraft-hosting, of de grotere pakketten bij premium Minecraft-hosting vanaf €11.65/mnd.
Meer ruimte voor modpacks en grote werelden: MC Diamond met 9 GB kost €11.65/mnd, en bij een upgrade blijft je wereld behouden.
Bekijk Minecraft-pakkettenVeelgestelde vragen
20 TPS, het doel van het spel. Dat blijft zo zolang elke tick minder dan 50 ms duurt (MSPT onder 50). Let ook op de ticktijden van het 95e percentiel en het maximum in /spark tps, want een gemiddelde van 20 kan korte bevriezingen verbergen.
Alleen als de server echt geheugen tekortkomt, bijvoorbeeld als hij herstart bij zijn geheugenlimiet of als garbage collection het profiel domineert. De meeste lag komt van de hoofdthread: entities, chunkgeneratie, redstone of een trage plugin, en meer RAM maakt dat niet sneller.
Purpur is gebouwd op Paper en voegt veel extra configuratieopties en gameplayfuncties toe; het claimt officieel niet sneller te zijn. Voor lag tellen de instellingen en plugins op je server veel zwaarder dan de keuze tussen die twee.
De standaardwaarde is 10 voor zowel view-distance als simulation-distance. simulation-distance verlagen naar ongeveer 6 tot 8 helpt meestal het meest, omdat het gebied dat de server simuleert kleiner wordt. Houd view-distance iets hoger zodat de wereld er nog open uitziet, en meet vooraf en achteraf.
Draai /spark profiler start --timeout 300 terwijl de server laggt. spark plaatst daarna een link naar de viewer: open de Server thread, klap de items met de hoogste percentages uit en gebruik de weergave Sources om te zien welke plugin of mod de tijd opslokt.
Snelle hardware voor een soepele wereld
Minecraft-hosting van HytHost draait elk pakket op Ryzen 7- en Intel i9-CPU's met hoge kloksnelheid en NVMe-opslag, en bij een upgrade blijft je wereld behouden. Vanaf €2.59/mnd.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursWas deze gids nuttig?