Minecraft szerver lag javítása
Ezen az oldalon
„Laggol a szerver” – ez három különböző problémát jelenthet, és mindegyiknek más a megoldása. A visszarántás és a kiütés után visszajelenő blokkok azt jelzik, hogy a szerver lemarad. Az ugráló ping a hálózat. A szaggató kép, miközben mindenki más rendben van, a játékos saját gépe.
Ez az útmutató megmutatja, hogyan különítsd el őket, hogyan mérd helyesen a szerver lagot TPS-sel, MSPT-vel és spark profillal, mely beállítások segítenek valóban Paperen, és honnan tudhatod, mikor tényleg több RAM vagy gyorsabb CPU a válasz – és mikor nem.
Szerver-, hálózati vagy kliens lag?
| Mit látnak a játékosok | Hogyan ellenőrizd | |
|---|---|---|
| Szerver lag | Mindenki egyszerre: visszarántás, megfagyó mobok, visszatérő blokkok, késő chat | 20 alatti TPS, vagy 50 ms-os és hosszabb tickidők |
| Hálózati lag | Egy vagy néhány játékos: visszateleportálás, be nem találó ütések | Magas ping ezeknél a játékosoknál, miközben a TPS 20-on marad |
| Kliens lag | Egy játékos: alacsony képkockaszám, akadás forduláskor | Alacsony FPS az adott játékos F3 képernyőjén, a szerver számai rendben |
A leggyorsabb teszt: mindenki ugyanabban a pillanatban laggol? A lemaradó szerver minden játékost egyszerre fagyaszt le; a rossz kapcsolat vagy a lassú gép csak a saját gazdáját érinti. Az útmutató többi része a szerver lagról szól.
Lassú hardver okozza a lagot? A HytHost Minecraft szerverek magas órajelű Ryzen 7 és Intel i9 CPU-kon futnak – €2.59/hó-tól.
Minecraft csomagokElőször mérj: TPS, MSPT és spark
Egy Minecraft szerver másodpercenként 20 tickkel fut, így minden ticknek 50 ms jut a befejezésre. Két szám írja le, hogyan bírja:
- TPS (tick per másodperc): a 20 azt jelenti, hogy a szerver lépést tart; 20 alatt a világ lelassul.
- MSPT (milliszekundum per tick): mennyi ideig tart egy tick. 50 ms alatt van tartalék idő; 50 ms felett a szerver lemarad.
A Paperben van /tps és /mspt, de a saját dokumentációja a sparkot ajánlja, amely 1.21 óta be van építve a Paperbe, és modként elérhető Fabrichoz, Forge-hoz és NeoForge-hoz:
/spark tps /spark health /spark ping
A /spark tps az elmúlt másodpercek és percek TPS-ét mutatja, és – ami hasznosabb – a tickidőket minimumként, mediánként, 95. percentilisként és maximumként. A /spark ping a játékosok pingjét mutatja, ami eldönti a „szerver vagy hálózat” kérdést. A /spark health ehhez CPU-t, memóriát és lemezt is ad.
Keresd meg az okot spark profillal
A számok azt mondják meg, hogy a szerver laggol; a profil azt, hogy miért. Indítsd el, amíg a lag tart, és hagyd futni néhány percig:
/spark profiler start --timeout 300
Amikor végez, a spark linket küld a webes nézegetőjéhez. Abban:
- Nyisd meg a Server thread szálat – ez a fő szál, amely a világot futtatja. A lag itt lakik.
- Bontsd ki a legmagasabb százalékú bejegyzéseket: oda megy a tickidő.
- Válts a Sources nézetre, hogy pluginonként vagy modonként lásd az időt. Ha egy plugin vagy mod viszi el a fő szál nagy részét, általában ez a válasz.
Két további eszköz segít a jövő-menő lagnál: a /spark tickmonitor minden túl hosszú ticket jelez, a /spark profiler start --only-ticks-over 100 pedig csak a lassú tickeket rögzíti, így egy ritka kiugrás nem vész el az átlagban.
A valóban fontos javítások, sorrendben
1. Látótávolság és szimulációs távolság
A server.properties fájlban a simulation-distance azt adja meg, milyen messze a játékosoktól szimulálódik ténylegesen a világ – mobok, termények, redstone –, a view-distance pedig azt, milyen messzire küldi a szerver a chunkokat a játékosoknak. Mindkettő alapértéke 10. A simulation-distance csökkentése gyakran a legnagyobb egyedi nyereség: próbálj 6–8-at, a view-distance legyen kicsit magasabb, hogy a világ továbbra is nyitottnak tűnjön. Ezek kiindulási értékek, nem hivatalosak; mérj előtte és utána.
2. Generáld le előre a világot
Az új chunkok generálása az egyik legdrágább dolog, amit egy szerver csinál, és a különböző irányokba felfedező játékosok folyamatosan erre kényszerítik. A Chunky plugin (vagy mod) előre legenerálja a térképet:
chunky radius 5000 chunky start chunky pause chunky continue
Akkor futtasd, amikor senki sem játszik – a folyamatban lévő előgenerálás miatt a szerver szükségszerűen „Can't keep up” üzenetet ír –, és szüneteltesd, amikor játékosok csatlakoznak.
3. Entitások és farmok
A mobfarmok, falusi csarnokok és tárgyhalmok a leggyakoribb állandó terhelők. Paperen és Spigoton a spigot.yml fájlban lévő entity-activation-range szabályozza, milyen közel kell lennie egy játékosnak ahhoz, hogy egy entitás teljesen tickeljen, a merge-radius pedig összevonja az eldobott tárgyakat és tapasztalatgömböket. Korlátozd a mobfarmokat pluginnal vagy szabállyal, és takarítsd el az elfelejtett tárgyhalmokat.
4. Hopperek és redstone
A nagy hopperláncok drágák. A spigot.yml fájlban a ticks-per.hopper-transfer adja meg, milyen gyakran mozgatnak tárgyakat, a Paper hopper.disable-move-event beállítása pedig sokat gyorsít rajtuk – de elrontja azokat a védelmi pluginokat, amelyek erre az eseményre támaszkodnak. Redstone-hoz a Paper misc.redstone-implementation: ALTERNATE_CURRENT beállítása nagyban csökkentheti a redstone por okozta lagot, de megváltoztatja a por viselkedését, ezért előbb teszteld a szerkezeteidet.
5. A profilodban szereplő plugin vagy mod
Ha a spark profil egy pluginra vagy modra mutat, az a javítás: frissítsd, állítsd vissza a beállításait, vagy cseréld le. Semennyi RAM nem teszi gyorsabbá a rosszul megírt plugint.
„A TPS 20, mégis laggol”
Ez a legzavarbaejtőbb eset, és szinte mindig tickakadásról van szó: a legtöbb tick gyors, de időnként egy több száz milliszekundumig tart. Az átlag 20-on marad, mégis mindenki érzi a fagyást.
- Ellenőrizd a maximális tickidőt a
/spark tpskimenetében, vagy futtasd a/spark tickmonitorparancsot. A több száz milliszekundumos kiugrások ezt igazolják. - A szokásos ok egy plugin, amely a fő szálon vár – játékosskineket vagy fejeket tölt le az internetről, webhookra küld, frissítést vagy licencet ellenőriz, vagy szinkron módon ment fájlt vagy adatbázist. Amíg vár, a szerver semmit sem csinál.
- A várakozást profilozd, ne csak a számítást. Egy normál profil a CPU-munkát mutatja; a várakozó szál tétlennek látszik. Használd a
/spark profiler start --thread *parancsot, hogy a várakozásokkal együtt rögzítsd, hol telik az idő, és keress hálózati vagy fájlhívásokat a Server thread szálon.
A javítás a pluginban van – aszinkron hívások, vagy másik plugin. Több RAM, gyorsabb CPU vagy jobb kapcsolat nem segít, mert a szervernek semmiből sincs hiánya; csak vár.
Amikor tényleg a RAM vagy a CPU a válasz
A Minecraft egyetlen fő szálon szimulálja a világot. Ennek két következménye van:
- A magonkénti CPU-sebesség számít a legtöbbet. Ha a spark szerint a Server thread normál világmunkával van elfoglalva – entitások, chunkok, blokktickek –, és az MSPT magas, a gyorsabb CPU ott segít, ahol több mag nem.
- A RAM csak akkor segít, ha kevés van belőle. Jelek: a szerver újraindul, amikor eléri a memóriakorlátot, vagy a garbage collection szünetei uralják a profilt. Azon túl, amire a világnak és a modoknak szüksége van, a több RAM semmit sem tesz a tickgyorsasághoz – sőt egy túlméretezett, nem hangolt heap meghosszabbíthatja a garbage collection szüneteit.
Hogy mennyi RAM kell egy szervernek, és mely indítási flagek tartják röviden a garbage collectiont, azt a mennyi RAM kell egy Minecraft szervernek útmutató tárgyalja. A Paper, a Purpur és a többi közötti választásról a legjobb Minecraft szerverszoftver útmutató szól.
A lag és a HytHost szervered
Minden HytHost Minecraft csomag ugyanazon a hardveren fut: Ryzen 7 és Intel i9 CPU-k akár 5.0 GHz-es boosttal, DDR4 memória és NVMe tárhely – az egyszálas sebesség, amelytől a Minecraft függ. A spark már a Paper része, így azonnal profilozhatsz a konzolból.
Ha a profilod szerint a szervernek valóban kevés a memória a világához és modjaihoz, válts nagyobb csomagra a panelből; a világ a helyén marad. Ha egy pluginra vagy farmra mutat, azt javítsd előbb – ingyenes, és minden csomagon működik. Nézd meg a Minecraft hostingot, vagy a nagyobb csomagokat a prémium Minecraft hosting oldalon €11.65/hó-tól.
Több hely modpackeknek és nagy világoknak: a 9 GB-os MC Diamond €11.65/hó, és a csomagváltás megtartja a világodat.
Minecraft csomagokGyakran ismételt kérdések
A 20 TPS, ami a játék célértéke. Addig tartható, amíg minden tick 50 ms alatt marad (MSPT 50 alatt). Figyeld a /spark tps 95. percentilis és maximális tickidejét is, mert a 20-as átlag elrejthet rövid fagyásokat.
Csak akkor, ha a szervernek ténylegesen kevés a memóriája, például ha a memóriakorlátnál újraindul, vagy a garbage collection uralja a profilt. A lag nagy része a fő szálról jön: entitások, chunkgenerálás, redstone vagy egy lassú plugin, és ezt a több RAM nem gyorsítja.
A Purpur a Paperre épül, és sok extra beállítási lehetőséget és játékmeneti funkciót ad hozzá; hivatalosan nem állítja, hogy gyorsabb. A lag szempontjából a szervered beállításai és pluginjai sokkal többet számítanak, mint a kettő közötti választás.
Az alapérték 10 a view-distance és a simulation-distance esetében is. A simulation-distance körülbelül 6–8-ra csökkentése általában a legtöbbet segít, mert szűkíti a szerver által szimulált területet. A view-distance legyen kicsit magasabb, hogy a világ továbbra is nyitottnak tűnjön, és mérj előtte és utána.
Futtasd a /spark profiler start --timeout 300 parancsot, amíg a szerver laggol. A spark ezután linket küld a nézegetőjéhez: nyisd meg a Server thread szálat, bontsd ki a legmagasabb százalékú bejegyzéseket, és a Sources nézetben nézd meg, melyik plugin vagy mod viszi az időt.
Gyors hardver a gördülékeny világért
A HytHost Minecraft hosting minden csomagja magas órajelű Ryzen 7 és Intel i9 CPU-kon fut NVMe tárhellyel, és a csomagváltás megtartja a világodat – €2.59/hó-tól.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursHasznos volt ez az útmutató?