Kuidas parandada Minecrafti serveri lagi
Sellel lehel
„Server lagib" võib tähendada kolme eri probleemi ja igaühel on oma lahendus. Tagasi tõmbamine ja plokid, mis pärast lõhkumist uuesti ilmuvad, tähendavad, et server jääb maha. Hüplev ping on võrk. Hakkiv pilt ühel mängijal, kui kõigil teistel on kõik korras, on mängija enda arvuti.
See juhend näitab, kuidas neid eristada, kuidas serveri lagi korralikult mõõta TPS-i, MSPT ja spark-profiili abil, millised seaded Paperil päriselt aitavad ning kuidas aru saada, millal on lahendus tõesti rohkem RAM-i või kiirem CPU — ja millal mitte.
Serveri, võrgu või kliendi lag?
| Mida mängijad näevad | Kuidas seda kinnitada | |
|---|---|---|
| Serveri lag | Kõik korraga: tagasi tõmbamine, külmuvad mobid, tagasi tulevad plokid, hilinev vestlus | TPS alla 20 või tick-ajad 50 ms ja rohkem |
| Võrgu lag | Üks või mõni mängija: teleporteerumine tagasi, löögid, mis ei lähe läbi | Kõrge ping nendel mängijatel, samal ajal kui TPS püsib 20 peal |
| Kliendi lag | Üks mängija: madal kaadrisagedus, hakkimine pööramisel | Madal FPS selle mängija F3-ekraanil, serveri numbrid korras |
Kiireim test on küsida, kas kõik lagivad samal hetkel. Mahajääv server külmutab kõik mängijad korraga; halb ühendus või aeglane arvuti mõjutab ainult oma omanikku. Juhendi ülejäänud osa käsitleb serveri lagi.
Lag aeglase riistvara tõttu? HytHosti Minecrafti serverid töötavad kõrge taktsagedusega Ryzen 7 ja Intel i9 protsessoritel — alates €2.59/kuu.
Vaata Minecrafti paketteKõigepealt mõõda: TPS, MSPT ja spark
Minecrafti server töötab kiirusel 20 tick-i sekundis, nii et igal tick-il on lõpetamiseks 50 ms. Kaks numbrit näitavad, kuidas tal läheb:
- TPS (tick-i sekundis): 20 tähendab, et server peab sammu; alla 20 maailm aeglustub.
- MSPT (millisekundit tick-i kohta): kui kaua iga tick kestab. Alla 50 ms jääb aega üle; üle 50 ms jääb server maha.
Paperil on /tps ja /mspt, kuid tema enda dokumentatsioon suunab spark-ile, mis on Paperisse sisse ehitatud alates versioonist 1.21 ja saadaval modina Fabricule, Forge'ile ja NeoForge'ile:
/spark tps /spark health /spark ping
/spark tps näitab TPS-i viimaste sekundite ja minutite kohta ning — mis on kasulikum — tick-ide kestust miinimumi, mediaani, 95. protsentiili ja maksimumina. /spark ping näitab mängijate pingi, mis lahendab küsimuse „server või võrk". /spark health lisab CPU, mälu ja ketta.
Leia põhjus spark-profiiliga
Numbrid ütlevad, et server lagib; profiil ütleb, miks. Käivita see lagi ajal ja lase sel paar minutit töötada:
/spark profiler start --timeout 300
Kui see lõpeb, postitab spark lingi oma veebivaaturile. Seal:
- Ava Server thread — peamine lõim, mis maailma käitab. Lag elab seal.
- Laienda kõrgeima protsendiga kirjeid: sinna tick-i aeg kulub.
- Lülitu vaatele Sources, et näha aega pluginate või modide kaupa jaotatuna. Üks plugin või mod, mis võtab suure osa peamisest lõimest, ongi tavaliselt vastus.
Tuleva ja mineva lagi vastu aitavad veel kaks tööriista: /spark tickmonitor teatab igast liiga kaua kestvast tick-ist ja /spark profiler start --only-ticks-over 100 salvestab ainult aeglased tick-id, nii et harv tipp ei kao keskmisesse.
Olulised parandused tähtsuse järjekorras
1. View ja simulation distance
Failis server.properties määrab simulation-distance, kui kaugel mängijatest maailma päriselt simuleeritakse — mobid, saak, redstone — ja view-distance, kui kaugelt chunk-e mängijatele saadetakse. Mõlema vaikeväärtus on 10. simulation-distance vähendamine on sageli suurim üksik võit: proovi 6 kuni 8 ja hoia view-distance veidi kõrgemal, et maailm näeks endiselt avar välja. Need on lähtepunktid, mitte ametlikud väärtused; mõõda enne ja pärast.
2. Genereeri maailm ette
Uute chunk-ide genereerimine on üks kulukamaid asju, mida server teeb, ja eri suundades avastavad mängijad sunnivad teda seda pidevalt tegema. Plugin (või mod) Chunky genereerib kaardi ette:
chunky radius 5000 chunky start chunky pause chunky continue
Käivita see siis, kui keegi ei mängi — käimasolev eelgenereerimine paneb serveri disaini järgi teatama „Can't keep up" — ja peata see, kui mängijad liituvad.
3. Olemid ja farmid
Mob-farmid, külaelanike saalid ja esemete hunnikud on kõige levinum pidev koormus. Paperil ja Spigotil määrab entity-activation-range failis spigot.yml, kui lähedal peab mängija olema, enne kui olemit täielikult tick-itakse, ja merge-radius ühendab maha kukkunud esemed ja kogemuskerad. Piira mob-farme pluginaga või reegliga ning korista ära unustatud esemete hunnikud.
4. Hopperid ja redstone
Suured hopperite ahelad on kulukad. Failis spigot.yml määrab ticks-per.hopper-transfer, kui tihti need esemeid liigutavad, ja Paperi hopper.disable-move-event teeb need palju kiiremaks — kuid see rikub kaitsepluginad, mis sellele sündmusele toetuvad. Redstone'i puhul võib Paperi misc.redstone-implementation: ALTERNATE_CURRENT redstone-tolmu tekitatud lagi tugevalt vähendada, kuid see muudab tolmu käitumist, nii et testi oma masinaid enne.
5. Plugin või mod sinu profiilis
Kui spark-profiil osutab ühele pluginale või modile, ongi see lahendus: uuenda seda, vähenda selle seadeid või asenda see. Ükski kogus RAM-i ei tee halvasti kirjutatud pluginat kiiremaks.
„TPS on 20, aga ikka lagib"
See on kõige segadusttekitavam juhtum ja peaaegu alati on tegu tick-i seiskumisega: enamik tick-e on kiired, kuid aeg-ajalt võtab üks sadu millisekundeid. Keskmine püsib 20 peal, ometi tunnevad kõik külmumist.
- Kontrolli maksimaalset tick-i aega käsuga
/spark tpsvõi käivita/spark tickmonitor. Mitmesajamillisekundilised tipud kinnitavad seda. - Tavaline põhjus on plugin, mis ootab peamisel lõimel — laadib internetist mängijate skin-e või päid, postitab webhook-i, kontrollib uuendusi või litsentsi või salvestab faili või andmebaasi sünkroonselt. Server ei tee ootamise ajal midagi.
- Profileeri ootamist, mitte ainult arvutamist. Tavaline profiil näitab CPU tööd; ootav lõim paistab jõude olevat. Kasuta
/spark profiler start --thread *, et jäädvustada, kuhu aeg kulub koos ootamisega, ja otsi Server thread-il võrgu- või failikutseid.
Lahendus on pluginas — asünkroonsed kutsed või teine plugin. Rohkem RAM-i, kiirem CPU või parem ühendus ei aita, sest serveril ei puudu midagi; ta ootab.
Millal on lahendus tõesti RAM või CPU
Minecraft simuleerib maailma ühel peamisel lõimel. Sellel on kaks tagajärge:
- Kõige rohkem loeb CPU kiirus tuuma kohta. Kui spark näitab, et Server thread on hõivatud tavalise maailmatööga — olemid, chunk-id, plokkide tick-id — ja MSPT on kõrge, aitab kiirem CPU seal, kus rohkem tuumi ei aitaks.
- RAM aitab ainult siis, kui sellest on puudus. Märgid: server taaskäivitub mälupiirini jõudes või domineerivad profiilis garbage collection'i pausid. Üle selle, mida maailm ja modid vajavad, ei tee rohkem RAM-i tick-i kiirusele midagi — ja ülemõõdetud, häälestamata heap võib garbage collection'i pause hoopis pikendada.
Kui palju RAM-i server vajab ja millised käivituslipud hoiavad garbage collection'i lühikesena, käsitleb juhend kui palju RAM-i Minecrafti server vajab. Valik Paperi, Purpuri ja teiste vahel on juhendis parim Minecrafti serveri tarkvara.
Lag ja sinu HytHosti server
Kõik HytHosti Minecrafti paketid töötavad samal riistvaral: Ryzen 7 ja Intel i9 protsessorid kuni 5,0 GHz boost-iga, DDR4-mälu ja NVMe-salvestus — just see ühe lõime kiirus, millest Minecraft sõltub. spark on juba Paperi osa, nii et saad konsoolist kohe profileerima hakata.
Kui profiil näitab, et serveril on oma maailma ja modide jaoks tõesti mälust puudus, vali paneelist suurem pakett; maailm jääb paika. Kui see osutab pluginale või farmile, paranda kõigepealt see — see on tasuta ja töötab igal paketil. Vaata Minecrafti hostingut või suuremaid pakette lehel premium Minecrafti hosting alates €11.65/kuu.
Rohkem ruumi modipakkidele ja suurtele maailmadele: MC Diamond 9 GB-ga maksab €11.65/kuu ja uuendamisel jääb maailm alles.
Vaata Minecrafti paketteKorduma kippuvad küsimused
20 TPS, mis on mängu sihtväärtus. See püsib seni, kuni iga tick võtab alla 50 ms (MSPT alla 50). Jälgi ka 95. protsentiili ja maksimaalseid tick-aegu käsus /spark tps, sest keskmine 20 võib peita lühikesi külmumisi.
Ainult siis, kui serveril on tõesti mälust puudus, näiteks kui see taaskäivitub mälupiiril või garbage collection domineerib profiilis. Enamik lagi tuleb peamiselt lõimelt: olemid, chunk-ide genereerimine, redstone või aeglane plugin, ja rohkem RAM-i seda ei kiirenda.
Purpur põhineb Paperil ja lisab palju täiendavaid seadistusvõimalusi ja mänguvõimalusi; ametlikult ei väida see end kiiremana. Lagi puhul on sinu serveri seaded ja pluginad palju olulisemad kui valik nende kahe vahel.
Vaikeväärtus on 10 nii view-distance kui ka simulation-distance puhul. simulation-distance vähendamine umbes 6 kuni 8 peale aitab tavaliselt kõige rohkem, sest see vähendab ala, mida server simuleerib. Hoia view-distance veidi kõrgemal, et maailm näeks endiselt avar välja, ning mõõda enne ja pärast.
Käivita /spark profiler start --timeout 300 ajal, mil server lagib. Seejärel postitab spark lingi oma vaaturile: ava Server thread, laienda kõrgeima protsendiga kirjeid ja kasuta vaadet Sources, et näha, milline plugin või mod aega kulutab.
Kiire riistvara sujuva maailma jaoks
HytHosti Minecrafti hosting käitab kõiki pakette kõrge taktsagedusega Ryzen 7 ja Intel i9 protsessoritel NVMe-salvestusega ning uuendamisel jääb maailm alles — alates €2.59/kuu.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursKas see juhend oli abiks?