Minecraft-serveren din hakker. Spillerne klager over blokklag, mobs som står bom stille og redstone-kretser som slår feil. Problemet er nesten alltid det samme: TPS-en din faller under 20.
TPS står for Ticks Per Second. Minecraft-servere kjører en spilløkke som skal utføre nøyaktig 20 ticks hvert sekund. Hver tick håndterer mob-AI, blokkoppdateringer, chunk-lasting, spillerhandlinger og alt annet som holder verdenen i gang. Når serveren ikke henger med, faller TPS-en og alt begynner å lagge.
Dette er ikke det samme som FPS-lag eller nettverksforsinkelse. TPS-lag skjer på serveren, og det rammer alle spillere som er koblet til samtidig. En spiller med 1000 Mbps-linje merker fortsatt TPS-lag, for det har ingenting med internetthastigheten å gjøre.

Slik sjekker du TPS-en
Før du begynner å fikse, må du vite hvor du står. På de fleste servere som kjører Spigot, Paper eller Purpur skriver du /tps i konsollen eller i chatten i spillet. Du får tre tall som viser gjennomsnittlig TPS de siste 1, 5 og 15 minuttene.
- 20 TPS: perfekt. Serveren går for full maskin.
- 18-19 TPS: små dupper. Spillerne merker det neppe.
- 15-17 TPS: merkbar lag. Mobs hakker, og det føles forsinket å sette ut blokker.
- Under 15 TPS: alvorlige problemer. Serveren sliter med å henge med.
For en grundigere analyse kan du installere Spark, en profileringsplugin som viser nøyaktig hvilke oppgaver som spiser tick-tiden din. Den bryter ned CPU-bruken per tick og lar deg finne de verste synderne. Kjør /spark profiler start, la den gå i 2-3 minutter mens det lagger, og kjør så /spark profiler stop for å få en full rapport.
De vanligste årsakene til TPS-fall
1. For mange entities
Entities er den største TPS-dreperen på de fleste servere. Hver mob, gjenstand på bakken, minecart, armor stand og experience orb teller som en entity. Hver eneste av dem må behandles hver tick.
En typisk survival-server med 20 spillere kan fort samle opp tusenvis av entities i lastede chunks. Dyrefarmer med hundrevis av kuer eller høner er en klassisk synder. En serveradmin viste i et Reddit-innlegg 18 000 entities fordelt på 400 lastede chunks, og den serveren gikk på 8 TPS.

Slik fikser du det:
- Sett entity-grenser i
bukkit.ymlunderspawn-limits. Å senkemonstersfra 70 til 40-50 oganimalsfra 10 til 6-8 gir merkbar forskjell. - Slå på
per-player-mob-spawni Paper-konfigurasjonen for å fordele mob-spawning per spiller i stedet for globalt. Da kan ikke området til én spiller bruke opp hele mob-taket. - Bruk
merge-radiusispigot.ymlfor å slå sammen gjenstander og experience orbs som ligger nær hverandre. Settitemtil 3.5 ogexptil 4.0. - Legg til en plugin som ClearLagg for å fjerne gjenstander på bakken med jevne mellomrom og begrense antall entities per chunk.
- Oppfordre spillerne til å holde dyrefarmene små eller bruke kill switches.
2. Chunk-lasting og verdensgenerering
Hver gang en spiller utforsker nytt terreng, må serveren generere nye chunks fra bunnen av. Det innebærer støyberegninger, plassering av strukturer, blanding av biomer og dekorasjon. På Paper og forkene av den skjer chunk-lastingen asynkront, noe som i stor grad reduserer belastningen på hovedtråden. Men på vanilla, Spigot eller Fabric slår chunk-lasting fortsatt hardt ut på hovedtråden.
Kjører du ikke Paper, åpner du server.properties og setter sync-chunk-writes=false. Dette alene kan gi merkbart bedre TPS på servere uten Paper, fordi lagring av chunks flyttes vekk fra hovedtråden.
Slik fikser du det:
- Forhåndsgenerer verdenen med Chunky. Da tar du genereringsjobben på forhånd. Sett en world border først, så du vet hvilken radius du sikter mot.
- Sett en world border så spillerne ikke kan utforske i det uendelige. En radius på 10 000 blokker gir god plass (over 300 km² å utforske) uten at verdenen vokser ut av kontroll.
- I
spigot.ymlsenker duview-distancefra standardverdien 10 til 6-8. Det reduserer hvor mange chunks hver spiller holder lastet. - I Paper-konfigurasjonen setter du
simulation-distancetil 3 eller 4. Spillerne ser lenger medview-distance, men bare chunks i nærheten simuleres. Dette er en av innstillingene som betyr mest for ytelsen.
3. Redstone og hoppers
Redstone-konstruksjoner og hopper-systemer er en annen stor kilde til TPS-tap. Hver aktive redstone-krets utløser blokkoppdateringer som forplanter seg gjennom naboblokkene. Hoppers er ekstra ille fordi de som standard sjekker etter gjenstander over seg hver tick.
En enkelt kjede med 100 hoppers som går hele tiden, kan spise en målbar del av tick-budsjettet. Servere med store automatiske farmer ser ofte at hopper-lag blir hovedproblemet når entities er fikset.
Slik fikser du det:
- I Paper-konfigurasjonen setter du
hopper.disable-move-eventtiltrue. Det hopper over InventoryMoveItemEvent for hoppers og gir kraftig bedre ytelse på servere med mye hopper-bruk. - Øk
ticks-per.hopper-transferogticks-per.hopper-checkispigot.yml. Å heve disse fra 8 til 16 gjør hoppers litt tregere, men halverer prosesseringskostnaden. - Vurder alternativer til store hopper-systemer. Vannstrømmer som fører inn i én samlehopper, er mye mer effektive enn kjeder på 50 hoppers.
4. Plugins og datapacks
Hver plugin du installerer, kjører kode på serverens hovedtråd. Dårlig skrevne plugins, plugins som kjører tunge databasespørringer synkront, eller rett og slett for mange plugins bidrar alle til TPS-fall.
Slik fikser du det:
- Bruk profileren i Spark til å finne hvilke plugins som bruker mest tick-tid. Kjør profileren mens det lagger, ikke når serveren står stille.
- Fjern plugins du ikke bruker. Hver plugin gir ekstra belastning selv når den er inaktiv, særlig de som registrerer event listeners.
- Sjekk om plugins har asynkrone valg for tunge operasjoner. En plugin som spør en MySQL-database på hovedtråden fryser hele serveren mens spørringen pågår.
- Hold plugins oppdatert. Utviklerne fikser ofte ytelsesproblemer i nyere versjoner.
- Pass deg for anti-cheat-plugins på små servere. Noen er beryktet for å være tunge og ikke verdt belastningen for en privat community-server.
5. For svak maskinvare og JVM-konfigurasjon
Noen ganger har serveren rett og slett ikke nok kraft. Minecraft er entrådet i hovedspilløkka, så klokkefrekvensen per tråd betyr langt mer enn antall kjerner. En prosessor med 4 kjerner på 5,0 GHz slår en server med 16 kjerner på 2,5 GHz når det gjelder Minecraft.
RAM betyr også noe, men ikke slik de fleste tror. Tildeler du for mye RAM, blir pausene for garbage collection lengre, og de dukker opp som lagtopper. For en server med 20 spillere holder 4-6 GB som regel. For 50+ spillere trenger du 8-10 GB.
Aikars JVM-flagg reduserer lag fra garbage collection kraftig. Bruk disse flaggene når du starter serveren:
java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -jar server.jar nogui
Disse flaggene justerer Javas G1 garbage collector etter minnebruksmønsteret til Minecraft. De fleste lagtopper på ellers godt konfigurerte servere skyldes GC, og disse flaggene fikser det.
Andre maskinvaretiltak:
- Bruk SSD til serverlagringen. Chunk-lasting fra en roterende harddisk er smertefullt tregt og slår rett ut som TPS-fall når spillerne utforsker.
- Velg en hostingleverandør som bruker CPU-er med høy klokkefrekvens. Ytelse per tråd er alt for Minecraft.

Serverprogramvaren betyr noe
Kjører du fortsatt vanilla-serverprogramvaren til Minecraft, går du glipp av mye ytelse. Paper (og forken Purpur) har dusinvis av optimaliseringer som forbedrer TPS betydelig uten å endre spillopplevelsen.
Ytelsesforskjellen er stor. Paper kan håndtere 2-3 ganger så mange spillere som vanilla på samme TPS-nivå. Den har asynkron chunk-lasting, optimalisert entity-ticking, raskere redstone-prosessering og mange andre forbedringer som vanilla rett og slett ikke har.
Anbefalt serverprogramvare:
- Paper: standardvalget for enhver seriøs server. Kan erstatte Spigot direkte, med store ytelsesforbedringer.
- Purpur: en fork av Paper med ekstra konfigurasjonsvalg og livskvalitetsjusteringer for serveradministratorer.
- Folia: en Mojang-støttet flertrådet fork for veldig store servere (100+ spillere). Fortsatt under modning, men lovende for høye spillertall.
Unngå alt som lover «async everything» eller mirakelytelse. Det er som regel svindel eller dårlig kodet.
Rask sjekkliste for optimalisering
Her er en oppsummering av endringene som gir mest effekt:
| Innstilling | Fil | Anbefalt verdi |
|---|---|---|
| view-distance | spigot.yml | 6-8 |
| simulation-distance | server.properties | 3-4 |
| spawn-limits.monsters | bukkit.yml | 40-50 |
| spawn-limits.animals | bukkit.yml | 6-8 |
| merge-radius.item | spigot.yml | 3.5 |
| merge-radius.exp | spigot.yml | 4.0 |
| hopper.disable-move-event | Paper-konfigurasjon | true |
| mob-spawner-tick-rate | bukkit.yml | 2 |
| sync-chunk-writes | server.properties | false |
| per-player-mob-spawn | Paper-konfigurasjon | true |
Hold serveren din i gang uten hakking
TPS-fall er frustrerende, men de kan nesten alltid fikses. Start med å profilere med Spark for å finne den egentlige flaskehalsen. Gå deretter gjennom tiltakene over, og begynn med entities og chunk-lasting, siden det er de vanligste synderne. Bruk JVM-flaggene: de alene løser overraskende mange klager på lagtopper.
Ser du etter Minecraft-hosting som gir deg CPU-kraften og SSD-lagringen som trengs for å holde TPS-en stødig på 20, kan du se nærmere på Minecraft-serverhosting hos DoomHosting. Vi kjører prosessorer med høy klokkefrekvens, optimalisert for entrådede arbeidsoppgaver, som er akkurat det Minecraft trenger for å holde seg stabilt på 20 TPS.




