Hoe los ik serverlag op met de Spark-profiler?
In dit artikel
Je server voelt traag: blokken komen terug nadat je ze kapot slaat, mobs bevriezen, commando's reageren laat en in de console verschijnt Can't keep up! Is the server overloaded?. Gokken welke farm of plugin de boosdoener is hoeft niet — met de gratis Spark-profiler meet je precies waar elke tick zijn tijd aan verliest. In deze gids installeer je Spark, maak je een profiel tijdens de lag en vertaal je het rapport naar een concrete fix.
Eerst begrijpen: TPS, MSPT en 'Can't keep up'
Een Minecraft-server draait op 20 ticks per seconde (TPS). Elke tick werkt de server de hele wereld bij en daarvoor heeft hij maximaal 50 milliseconden. MSPT (milliseconds per tick) is hoelang een tick werkelijk duurt. Blijft de MSPT onder de 50, dan haal je vlot 20 TPS; komt hij erboven, dan zakt de TPS en vertraagt letterlijk alles op de server.
De melding Can't keep up! Is the server overloaded? Running 2000ms or 40 ticks behind betekent precies dat: ticks duurden te lang, de server loopt achter en slaat ticks over om bij te benen. Eén keer tijdens het opstarten is onschuldig; keert de melding tijdens het spelen terug, dan heb je echte server-lag.
Controleer eerst of het probleem wel bij de server ligt. Lage FPS of haperend beeld (zeker met shaders) is client-lag; rubberbanding bij een hoge ping is verbindingslag. Typ /spark tps: staat daar strak 20 TPS met een lage MSPT, zoek het dan bij de client of het netwerk.
Stap 1: Installeer Spark
- Draai je Paper of Purpur 1.21 of nieuwer, dan is Spark al ingebouwd. Typ
spark tpsin het tabblad Console van het MC-Node paneel; krijg je antwoord, ga dan direct door naar stap 2. - Anders download je Spark via spark.lucko.me/download. Kies de Bukkit-versie voor Paper/Spigot, of de Fabric/Forge/NeoForge-versie voor een modded server.
- Open het tabblad Files in het paneel en upload de jar naar de map
plugins(bij een modded server:mods). - Herstart de server via het tabblad Console en controleer met
spark tpsdat het commando werkt.
Stap 2: Profileer tijdens de lag
De grootste valkuil: profilen op een lege of net herstarte server. Zonder spelers draaien de farms, hoppers en chunks die de lag veroorzaken niet mee, en laat het rapport dus niets zien. Start de profiler op het moment dat de lag echt optreedt, met spelers online.
- Wacht tot de lag zich voordoet, of laat spelers de situatie nabootsen (bijvoorbeeld bij de verdachte farm).
- Typ in de console:
spark profiler start --timeout 300. De profiler meet 5 minuten en stopt vanzelf. Zonder--timeoutstop je zelf metspark profiler stop. - Laat iedereen gewoon doorspelen; de meting zelf kost nauwelijks prestaties.
- Na afloop print de console een link naar
spark.lucko.me. Open die in je browser.
Stap 3: Lees het rapport
- Bovenin zie je de TPS en MSPT tijdens de meting — zo bevestig je dat je de lag echt te pakken had.
- Open de boomstructuur onder de server-thread en klap telkens de regel met het hoogste percentage open. Zo daal je af naar de taak die de meeste tick-tijd opslokt.
- Herken de patronen: veel tijd in
entityTickof mob-AI wijst op te veel entities;HopperBlockEntityop hopperlijnen;chunk generationofServerChunkCacheop chunk-loading; en een pakketnaam alscom.voorbeeld.pluginnaamwijst die ene plugin als boosdoener aan.
Veelvoorkomende oorzaken en hun fix
- Te veel entities — Meestal mob-farms of rondslingerende items. Zet
/gamerule maxEntityCramming 8(standaard 24), verlaag despawn-limitsinbukkit.ymlen deentity-activation-rangeinspigot.yml, en geef grote farms een aan/uit-schakelaar. - Hoppers — Lange hopperlijnen checken elke tick opnieuw. Verhoog in
bukkit.ymlde waardeticks-per.hopper-transfer(bijvoorbeeld van 8 naar 16) en zet op Paper inconfig/paper-world-defaults.ymlde optiehopper.cooldown-when-fulloptrue. Vervang extreem lange lijnen door waterstromen met minder hoppers. - Chunk-loading en worldgen — Verkennende spelers dwingen de server nieuwe chunks te genereren. Verlaag in
server.propertiesdesimulation-distance(bijvoorbeeld naar 6) en eventueel deview-distance, stel een wereldgrens in en pre-genereer de wereld met de plugin Chunky:/chunky radius 3000gevolgd door/chunky start. - Eén plugin bovenaan — Update de plugin eerst, zet zware features (scans, animaties, hologrammen) in de config uit of zoek een lichter alternatief. Testen kan door de jar tijdelijk uit
pluginste verplaatsen en te herstarten. - 'Can't keep up' alleen bij het opstarten — Onschuldig: de server haalt de opstartpiek in. Alleen actie nodig als de melding tijdens het spelen terugkeert.
- TPS is 20, maar spelers klagen toch — Dan is het client- of netwerk-lag: verlaag de renderafstand of zet shaders uit aan de clientkant, of onderzoek de ping.
Verder optimaliseren
Werkte je vroeger met /timings? Ons artikel timings maken is verouderd; Spark is de moderne opvolger. Structurele verbeteringen vind je in onze optimalisatiegids, en of te weinig geheugen meespeelt lees je in de RAM-gids. Kom je er niet uit? Open een ticket via onze supportpagina en plak de link van je spark-rapport erbij — dan kijken we mee.
Start je server binnen 60 seconden op onze eigen hardware.