TPS en lag begrijpen
Als je een Minecraft server draait, wil je natuurlijk dat alles soepel loopt. Maar wat betekent het eigenlijk als spelers klagen over "lag"? En wat is die mysterieuze afkorting TPS die je overal tegenkomt? In dit artikel leggen we precies uit hoe je serverprestaties kunt meten en begrijpen.
Wat is TPS?
TPS staat voor Ticks Per Second. Een "tick" is een enkele update-cyclus van je Minecraft server. Tijdens elke tick verwerkt de server alles wat er in de wereld gebeurt: mobs die bewegen, blokken die updaten, redstone dat afvuurt, spelers die interactie hebben met de wereld, en nog veel meer.
Een gezonde Minecraft server draait op 20 TPS. Dat betekent dat de server 20 keer per seconde de hele wereld bijwerkt. Elke tick duurt dan maximaal 50 milliseconden (1000ms / 20 = 50ms). Zolang elke tick binnen die 50ms wordt afgerond, blijft je server op 20 TPS draaien en merken spelers geen vertraging.
- 20 TPS - Perfect. De server draait optimaal en alles voelt responsive.
- 18–19 TPS - Lichte daling. De meeste spelers zullen hier weinig van merken, maar het is een signaal dat je server onder druk staat.
- 15–17 TPS - Merkbare lag. Mobs bewegen schokkerig, blokken worden met vertraging geplaatst of gebroken, en interacties voelen traag.
- 10–14 TPS - Zware lag. Het spel is duidelijk vertraagd. Spelers ervaren rubberbanding (teruggetrokken worden naar eerdere posities) en vertragingen bij vrijwel elke actie.
- Onder 10 TPS - Vrijwel onspeelbaar. De server kan de wereld niet meer bijhouden en alles loopt vast.
Wat veroorzaakt lag?
Server lag ontstaat wanneer de server meer werk moet doen dan hij aankan binnen die 50ms per tick. De meest voorkomende oorzaken zijn:
- Te veel entities - Elk dier, monster, item op de grond en villager is een "entity" die de server elke tick moet berekenen. Grote boerderijen met honderden dieren, of gevechten waarbij duizenden items op de grond vallen, kunnen je TPS flink omlaag trekken.
- Hoppers - Hoppers zijn berucht als performance-killers. Elke hopper checkt meerdere keren per seconde of er items zijn om op te pikken of door te geven. Een grote sorteerinstallatie met honderden hoppers kan je server zwaar belasten.
- Redstone machines - Complexe redstone circuits, vooral die met hoge kloksnelheden (snel herhalende signalen), genereren enorm veel blokupdates die de server allemaal moet verwerken.
- Zware plugins - Sommige plugins zijn slecht geoptimaliseerd en voeren elke tick zware berekeningen uit. Vooral plugins die veel met de wereld interacteren (world editing, custom mobs, complexe minigames) kunnen een grote impact hebben.
- Grote view distance - Hoe meer chunks de server geladen moet houden per speler, hoe meer werk hij moet doen. Een view distance van 32 is mooi, maar belast je server veel zwaarder dan een view distance van 10.
- Ongeoptimaliseerde werelden - Werelden met veel geladen chunks, vooral rond spawn-gebieden of bij bases van spelers, zorgen voor constante belasting.
Server lag vs. client lag
Het is belangrijk om te begrijpen dat er twee soorten lag zijn, en ze hebben totaal verschillende oorzaken:
Server lag (TPS lag) treft alle spelers tegelijk. Als de TPS daalt, merkt iedereen het: mobs bewegen schokkerig, blokken worden vertraagd gebroken, en interacties voelen traag. De oorzaak ligt bij de server zelf (te veel entities, zware plugins, etc.).
Client lag (FPS lag of netwerklag) treft alleen de individuele speler. Als jij lage FPS hebt, komt dat door je eigen computer (zwakke videokaart, te weinig RAM, zware shaders). Als je hoge ping hebt, komt dat door je internetverbinding of de afstand tot de server. Andere spelers hebben hier geen last van.
Een makkelijke manier om het verschil te herkennen: als alleen jij lag ervaart en anderen niet, is het client-side. Als iedereen het ervaart, is het server-side.
Hoe check je de TPS?
Er zijn meerdere manieren om je TPS te controleren:
Via het /tps commando:
De meeste serverplatforms (Paper, Spigot, Purpur) hebben een ingebouwd /tps commando. Type dit in je server console op mijn.hytalenode.nl of als operator in-game. Je krijgt dan drie getallen te zien die de gemiddelde TPS weergeven over de afgelopen 1 minuut, 5 minuten en 15 minuten.
Via de Spark plugin:
Voor een veel gedetailleerder beeld raden we de Spark plugin aan. Spark geeft niet alleen je TPS weer, maar ook hoe lang elke tick duurt (MSPT - milliseconds per tick), CPU-gebruik en geheugengebruik. Installeer Spark en gebruik /spark tps voor een uitgebreid overzicht. Meer over Spark lees je verderop in deze reeks artikelen.
Via de HytaleNode console:
In het HytaleNode paneel op mijn.hytalenode.nl kun je via de Console tab de serveroutput live volgen. Veel serverplatforms tonen TPS-waarschuwingen automatisch in de console wanneer de TPS onder 20 zakt.
Tips om je TPS gezond te houden
- Controleer je TPS regelmatig, niet pas als spelers klagen.
- Beperk het aantal entities in je wereld (dierlimieten, item-cleanup).
- Vermijd excessief hopper-gebruik; gebruik water-stromen als alternatief waar mogelijk.
- Houd je plugins up-to-date en verwijder plugins die je niet meer gebruikt.
- Overweeg een Premium server bij HytaleNode met de AMD Ryzen 9800X3D processor (5.2 GHz) als je merkt dat je server regelmatig onder 20 TPS zakt.