☀️ Ensimmäinen kuukausi 50 % halvemmalla:SUMMER26
Minecraft-palvelimen lagi: näin korjaat TPS-pudotukset

Minecraft-palvelimen lagi: näin korjaat TPS-pudotukset

Näin diagnosoit ja korjaat TPS-pudotukset Minecraft-palvelimellasi. Mukana chunkkien lataus, entity-lagi, pluginien optimointi ja asetukset vakaaseen 20 TPS:ään.

Magnus·
7 min lukuaika
·
26.2.2026
·
Päivitetty viimeksi: 31.7.2026

Minecraft-palvelimesi pätkii. Pelaajat valittavat blokkilagista, mobit jumittavat paikoilleen ja redstone-piirit laukeavat väärin. Syy on lähes aina sama: TPS on pudonnut alle kahdenkymmenen.

TPS tulee sanoista Ticks Per Second. Minecraft-palvelin pyörii pelisilmukassa, jonka pitäisi suorittaa tasan 20 tickiä sekunnissa. Jokainen tick hoitaa mobien tekoälyn, blokkipäivitykset, chunkkien latauksen, pelaajien toiminnot ja kaiken muun, mikä pitää maailman käynnissä. Kun palvelin ei pysy perässä, TPS putoaa ja kaikki alkaa lagata.

Tämä ei ole sama asia kuin FPS-lagi tai verkkoviive. TPS-lagi on palvelimen puolella, ja se osuu kaikkiin palvelimelle kirjautuneisiin pelaajiin yhtä aikaa. Pelaaja, jolla on 1 000 Mbps yhteys, kokee TPS-lagin siinä missä muutkin: sillä ei ole mitään tekemistä nettinopeuden kanssa.

Minecraftin F3-debug-ruutu, jossa näkyy palvelimen suorituskykytiedot

Näin tarkistat TPS:n

Ennen kuin alat korjata mitään, sinun pitää tietää lähtötilanne. Useimmilla Spigotia, Paperia tai Purpuria pyörittävillä palvelimilla kirjoitat /tps konsoliin tai pelin chattiin. Näet kolme lukua, jotka kertovat keskimääräisen TPS:n viimeisen 1, 5 ja 15 minuutin ajalta.

  • 20 TPS - Täydellinen. Palvelin pyörii täydellä nopeudella.
  • 18-19 TPS - Pieniä notkahduksia. Pelaajat tuskin huomaavat.
  • 15-17 TPS - Havaittavaa lagia. Mobit nykivät, blokkien asettelu tuntuu viivästyneeltä.
  • Alle 15 TPS - Vakavia ongelmia. Palvelin ei pysy perässä.

Syvempää analyysia varten asenna Spark, profilointiplugin, joka näyttää tarkalleen mitkä tehtävät syövät tick-ajan. Se erittelee prosessorikuorman tickiä kohden ja auttaa tunnistamaan pahimmat syylliset. Aja /spark profiler start, anna sen käydä 2-3 minuuttia lagijakson aikana ja pysäytä se sitten komennolla /spark profiler stop, niin saat täyden raportin.

TPS-pudotusten yleisimmät syyt

1. Liikaa entityjä

Entityt ovat useimmilla palvelimilla ylivoimaisesti suurin TPS-tappaja. Jokainen mobi, pudotettu esine, minecart, armor stand ja kokemuspallo lasketaan entityksi. Jokainen niistä pitää käsitellä joka tickillä.

Tavallinen survival-palvelin, jolla on 20 pelaajaa, kerää helposti tuhansia entityjä ladattujen chunkkien alueelle. Eläinfarmit, joissa on satoja lehmiä tai kanoja, ovat klassinen syyllinen. Erään palvelinylläpitäjän Reddit-postaus näytti 18 000 entityä 400 ladatussa chunkissa: se palvelin pyöri 8 TPS:n vauhtia.

Minecraftin plains-biomi eläimineen ja maastoineen

Näin korjaat sen:

  • Aseta entity-rajat bukkit.yml-tiedostoon kohtaan spawn-limits. monsters-arvon pudottaminen 70:stä 40-50:een ja animals-arvon 10:stä 6-8:aan tekee huomattavan eron.
  • Ota per-player-mob-spawn käyttöön Paperin asetuksissa, niin mobien spawnaus jakautuu pelaajakohtaisesti globaalin sijaan. Näin yhden pelaajan alue ei syö koko mob cappia.
  • Käytä merge-radius-asetusta spigot.yml-tiedostossa yhdistämään lähekkäiset pudotetut esineet ja kokemuspallot. Aseta item arvoon 3.5 ja exp arvoon 4.0.
  • Lisää ClearLaggin kaltainen plugin, joka poistaa maassa lojuvat esineet säännöllisesti ja rajoittaa entityjen määrää chunkkia kohden.
  • Kannusta pelaajia pitämään eläinfarmit pieninä tai rakentamaan niihin tappokytkin.

2. Chunkkien lataus ja maailman generointi

Aina kun pelaaja tutkii uutta maastoa, palvelimen pitää generoida uudet chunkit tyhjästä. Siihen kuuluu kohinalaskentaa, rakenteiden sijoittelua, biomien sekoitusta ja koristelua. Paperilla ja sen forkeilla chunkkien lataus tapahtuu asynkronisesti, mikä keventää pääsäikeen kuormaa huomattavasti. Vanillalla, Spigotilla tai Fabricilla chunkkien lataus osuu edelleen kovaa pääsäikeeseen.

Jos et käytä Paperia, avaa server.properties ja aseta sync-chunk-writes=false. Pelkästään tämä voi parantaa TPS:ää havaittavasti ei-Paper-palvelimilla, koska chunkkien tallennus siirtyy pois pääsäikeeltä.

Näin korjaat sen:

  • Esigeneroi maailmasi Chunkyllä. Se tekee generointityön etukäteen. Aseta ensin maailman raja, niin tiedät tavoitesäteen.
  • Aseta maailman raja, jotta pelaajat eivät voi tutkia loputtomiin. 10 000 blokin säde antaa runsaasti tilaa (yli 300 km² tutkittavaa aluetta) ilman että maailma karkaa käsistä.
  • Laske spigot.yml-tiedostossa view-distance oletusarvosta 10 arvoon 6-8. Se vähentää chunkkien määrää, jonka jokainen pelaaja pitää ladattuna.
  • Aseta Paperin asetuksissa simulation-distance arvoon 3 tai 4. Pelaajat näkevät kauemmas view-distance-arvolla, mutta vain lähellä olevia chunkkeja simuloidaan. Tämä on yksi vaikuttavimmista suorituskykyasetuksista.

3. Redstone ja hopperit

Redstone-viritykset ja hopper-järjestelmät ovat toinen merkittävä TPS-syöppö. Jokainen aktiivinen redstone-piiri laukaisee blokkipäivityksiä, jotka etenevät ketjuna naapuriblokkeihin. Hopperit ovat erityisen pahoja, koska ne tarkistavat oletuksena joka tickillä, onko niiden yläpuolella esineitä.

Yksi jatkuvasti käyvä 100 hopperin ketju voi syödä mitattavan osan tick-budjetistasi. Palvelimilla, joilla on isoja automaattifarmeja, hopper-lagi on usein pääongelma heti entityjen korjaamisen jälkeen.

Näin korjaat sen:

  • Aseta Paperin asetuksissa hopper.disable-move-event arvoon true. Se ohittaa hoppereiden InventoryMoveItemEventin ja parantaa suorituskykyä dramaattisesti palvelimilla, joilla hoppereita käytetään paljon.
  • Kasvata ticks-per.hopper-transfer- ja ticks-per.hopper-check-arvoja spigot.yml-tiedostossa. Nosto 8:sta 16:een hidastaa hoppereita hieman mutta puolittaa käsittelykuorman.
  • Harkitse vaihtoehtoja isoille hopper-järjestelmille. Vesivirrat, jotka ohjaavat tavarat yhteen keräyshopperiin, ovat paljon tehokkaampia kuin 50 hopperin ketjut.

4. Pluginit ja datapackit

Jokainen asentamasi plugin ajaa koodia palvelimen pääsäikeessä. Huonosti kirjoitetut pluginit, raskaita tietokantakyselyitä synkronisesti ajavat pluginit tai yksinkertaisesti liian suuri pluginien määrä kasvattavat kaikki TPS-pudotuksia.

Näin korjaat sen:

  • Käytä Sparkin profiloijaa selvittääksesi, mitkä pluginit vievät eniten tick-aikaa. Aja profiloija lagitilanteen aikana, ei tyhjäkäynnillä.
  • Poista pluginit, joita et käytä. Jokainen plugin lisää kuormaa myös tyhjäkäynnillä, erityisesti sellaiset, jotka rekisteröivät tapahtumakuuntelijoita.
  • Tarkista, onko plugineilla asynkronisia vaihtoehtoja raskaille operaatioille. MySQL-tietokantaa pääsäikeessä kysyvä plugin jäädyttää koko palvelimen kyselyn ajaksi.
  • Pidä pluginit ajan tasalla. Kehittäjät korjaavat suorituskykyongelmia usein uusissa versioissa.
  • Varo anti-cheat-plugineja pienillä palvelimilla: osa niistä on tunnetusti raskaita eikä kuorma ole sen arvoista yksityisellä yhteisöpalvelimella.

5. Riittämätön rauta ja JVM-asetukset

Joskus palvelimessa ei yksinkertaisesti ole tarpeeksi tehoa. Minecraftin pääsilmukka on yksisäikeinen, joten yhden ytimen kellotaajuus merkitsee paljon enemmän kuin ydinmäärä. Neliytiminen 5,0 GHz:n prosessori päihittää Minecraftissa 16-ytimisen 2,5 GHz:n palvelimen.

Myös muistilla on väliä, mutta ei sillä tavalla kuin useimmat luulevat. Liiallinen muistin varaaminen pidentää roskienkeruun taukoja, jotka näkyvät lagipiikkeinä. 20 pelaajan palvelimelle 4-6 GB riittää yleensä. Yli 50 pelaajalle 8-10 GB.

Aikar'sin JVM-liput vähentävät roskienkeruun aiheuttamaa lagia merkittävästi. Käytä näitä lippuja palvelinta käynnistäessäsi:

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

Nämä liput virittävät Javan G1-roskienkerääjän Minecraftin muistinkäyttöprofiiliin sopivaksi. Useimmat lagipiikit muuten hyvin viritetyillä palvelimilla johtuvat roskienkeruusta, ja nämä liput korjaavat sen.

Muita rautaan liittyviä korjauksia:

  • Käytä palvelimen levynä SSD:tä. Chunkkien lataus pyörivältä kiintolevyltä on tuskallisen hidasta ja näkyy suoraan TPS-pudotuksina maastoa tutkittaessa.
  • Valitse palveluntarjoaja, joka käyttää korkean kellotaajuuden prosessoreita. Yhden säikeen suorituskyky on Minecraftille kaikki kaikessa.

Minecraftin moninpelipalvelimen hubi pelaajineen

Palvelinohjelmistolla on väliä

Jos pyörität yhä vanilla-Minecraftin palvelinohjelmistoa, jätät merkittävästi suorituskykyä käyttämättä. Paper (ja sen forkki Purpur) sisältävät kymmeniä optimointeja, jotka parantavat TPS:ää huomattavasti muuttamatta pelattavuutta.

Ero suorituskyvyssä on iso. Paper pystyy pyörittämään 2-3 kertaa enemmän pelaajia kuin vanilla samalla TPS-tasolla. Siinä on asynkroninen chunkkien lataus, optimoitu entityjen tickaus, nopeampi redstone-käsittely ja monia muita parannuksia, joita vanillassa ei yksinkertaisesti ole.

Suositellut palvelinohjelmistot:

  1. Paper - Vakiovalinta kaikille tosissaan pyöriville palvelimille. Suora korvaaja Spigotille, mukana merkittävät suorituskykyparannukset.
  2. Purpur - Paperin forkki, jossa on lisää asetusvaihtoehtoja ja ylläpitäjän arkea helpottavia säätöjä.
  3. Folia - Mojangin tukema monisäikeinen forkki hyvin suurille palvelimille (yli 100 pelaajaa). Vielä kypsymässä mutta lupaava suurille pelaajamäärille.

Vältä kaikkea, joka lupaa "async everything" -tyyppisiä ihmeitä tai taianomaista suorituskykyä: ne ovat yleensä huijauksia tai huonosti koodattuja.

Nopea optimointilista

Tässä yhteenveto vaikuttavimmista muutoksista, joita voit tehdä:

Asetus Tiedosto Suositusarvo
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 config true
mob-spawner-tick-rate bukkit.yml 2
sync-chunk-writes server.properties false
per-player-mob-spawn paper config true

Pidä palvelimesi sulavana

TPS-pudotukset ovat turhauttavia, mutta ne ovat lähes aina korjattavissa. Aloita profiloimalla Sparkilla, niin löydät todellisen pullonkaulan. Käy sitten läpi yllä olevat korjaukset entityistä ja chunkkien latauksesta alkaen, koska ne ovat yleisimmät syylliset. Ota JVM-liput käyttöön: pelkästään se korjaa yllättävän monta lagipiikkivalitusta.

Jos etsit Minecraft-palvelinta, jossa on prosessoritehoa ja SSD-levyä TPS:n pitämiseen tukevassa 20:ssä, tutustu DoomHostingin Minecraft-palvelimiin. Ajamme korkean kellotaajuuden prosessoreita, jotka on optimoitu yksisäikeiseen kuormaan, ja juuri sitä Minecraft tarvitsee pysyäkseen vakaassa 20 TPS:ssä.

Minecraft

Hanki oma Minecraft -palvelin

Vuokraa pelipalvelin DoomHostingilta. Välitön käyttöönotto, 24/7 tuki ja 99,99 % käytettävyystakuu.

Aiheeseen liittyvät kirjoitukset