Minecraft szerver késés és alacsony TPS diagnosztizálása

Hogyan működik a Minecraft (Mi okozza a késést?)

A késést okozó okok megértésének kulcsa a Minecraft működésének megértése. A Minecraft szerverszoftverek mindegyike hasonló ügyben működik, egyetlen kulcsproblémával: nincs többszálas vagy időzítési korlát a fő játékhurokra. Amikor a kiszolgáló a tic-re lép, végigfut minden TileEntity frissítésen, entitásfrissítésen, blokkfrissítésen, eseményen és egyéb folyamaton, amíg meg nem történik. Mindez egy szálon történik, és a következő ciklus nem indulhat el, amíg az aktuális be nem fejeződik. A világ nem frissül, a játékosok nem fognak mozogni, és az entitások a helyükön maradnak. Ideális esetben egy tic legfeljebb 50 ms-ot vesz igénybe a 20 tic per másodperc (TPS) fenntartásához. Ez 18 TPS esetén akár 55,55 ms-ig is elmegy minimális problémákkal. Bármilyen ennél alacsonyabb, akkor késést fog látni.

A lemaradás tipikus okai

Sok dolog okozhat késést, de ezek közül néhány a legvalószínűbb hibás a legtöbb szerver számára.

  • Fájlhasználat : Minden olyan bővítmény, amely folyamatosan olvas a lejátszó fájljaiból, különösen olyan események esetén, mint például mozgás, sérülés vagy interakció. Néhány példa lehet néhány PVP flag vagy Glow plugin, amelyek folyamatosan olvasnak a lejátszó fájljaiból.
  • Lapos fájlok adatbázisként : Ha olyan beépülő moduljai vannak, amelyek nagy fájlokat használnak az adott fájlon keresztül vagy a memóriában ismétlődő adatok nyomon követésére, a tárolás módjától függően, ez hosszú ideig tart. Sok beépülő modul ezt teszi, és nem tesz óvintézkedéseket az ellen, hogy amikor az adatbázisok felduzzadnak, a feldolgozási idő hogyan befolyásolja a szerverek működését. Ezt gyakran látni fogja, amikor nagy MagicSpells-konfigurációkat tölt be, vagy olyan engedélyrendszereket használ, amelyek YAML-t használnak megfelelő adatbázisok, például PEX és GroupManager helyett.
  • Túl sok művelet : Ha egy beépülő modul túl sok entitást hoz létre, vagy összetett feladatokat próbál végrehajtani eseményeken, például mozgáson, akkor késést fog látni. Még ha minden egyes futtatás kevesebb, mint 1 ms-ot vesz igénybe, ha egy eseményt másodpercenként 20 000-szor dolgoz fel, az exponenciális lesz. Ezt okozhatják a világszerkesztő beépülő modulok, például a VoxelSniper és a WorldEdit; vagy védelmi bővítmények, például az Anti Cheats és a World Protections.
  • Túl sok darab van betöltve : Egy darab van 16*16*256. Lehet, hogy ez nem hangzik soknak, de kiszorozva azt jelenti, hogy darabonként 65 536 blokk van. A konfigurációtól függően minden játékos több mint 200 darabot helyezhet köré. Ez több mint 13 107 200 blokk. Ez sok memóriát foglal el. Továbbá, ha ezeknek akár 1%-a is TileEntities, akkor 131 072 TileEntity van betöltve, amelyeknek minden tic-t frissíteniük kell. A modok a TileEntities lassú feldolgozási idejéről híresek.
  • Cascading WorldGen : Ez az, amikor egy beépülő modul vagy mod struktúrákat generál a neki adott darabon kívül. Ez azt okozza, hogy a következő darab betöltődik, generálódik, majd újra elindítja ezt az egészet, ha a struktúrák is elkezdenek túlcsordulni a következő darabba. Ez rossz tervezés az alkotók részéről, és minden ilyen beépülő modult vagy modot azonnal el kell távolítani.
  • Csempe szervezetek : See LagGoggles pontban.

A késés okának megtalálása manapság általában egyszerű eljárás, mivel a legtöbb Minecraft szerverszoftver profilkészítő eszközökkel készül.

Időzítési jelentések a Spigot/PaperSpigot számára

Ha részletes időzítési jelentést szeretne kapni, használja a következő parancsot.

/timings on

Várjon néhány percet, és hagyja, hogy az időzítések lefussanak. Egy idő után hozza létre a jelentést.

/timings paste

Ez egy linket ad egy webhelyre, ahol a jelentés szép lebontása található, és egyszerű lehetőségeket kínál az összes kapott adat átvizsgálására. Ezek olvasásáról a Spigot időzítő wikijében tudhat meg többet .

Érdemes utólag kikapcsolni az időzítést, mivel nem szeretné, hogy a szemét adatok eltömítsék a következő olvasást, és az időzítések további időt adnak a ticnek.

/timings off

Időzítési jelentések a Sponge számára

Ha részletes időzítési jelentést szeretne kapni, használja a következő parancsot.

/sponge timings on

Várjon néhány percet, és hagyja, hogy az időzítések lefussanak. Egy idő után hozza létre a jelentést.

/sponge timings report

Ez egy linket ad egy webhelyre, ahol a jelentés szép lebontása található, és egyszerű lehetőségeket kínál az összes kapott adat átvizsgálására. Mivel a Sponge időzítési rendszere a Spigot rendszerén alapul, többet megtudhat arról, hogyan kell ezeket olvasni a Spigot időzítési wikijében .

Érdemes utólag kikapcsolni az időzítést, mivel nem szeretné, hogy a szemét adatok eltömítsék a következő olvasást, és az időzítések további időt adnak a ticnek.

/sponge timings off

Az időzítéseket is visszaállíthatja.

/sponge timings reset

Lépések a késés csökkentésére

  • A Minecraft elindításához használjon megfelelő argumentumokat a szkriptfájlhoz. További információ a megfelelő Java argumentumokról itt
  • Használjon LuckPerms-t vagy olyan engedélykezelőt, amely megfelelő adatbázist használ egy sima fájl helyett
  • Kerülje el a darabos rakodókat
  • Távolítson el mindent, ami lépcsőzetes világgenerációt okoz
  • Korlátozza az Anti Cheat bővítményeket, hogy ne legyenek túlbuzgók
  • Korlátozza a játékosok látótávolságát server.properties
  • Távolítsa el az ellenséges csőcseléket meghatározott idő után
  • Indítsa újra a szervert naponta, hogy megtisztítsa a Java szivárgását
  • SOHA ne töltse újra a szervert, mert ez szivárgást és egyéb problémákat okoz
  • Használja a beépülő modulok FastAsync verzióit, például a WorldEdit és a VoxelSniper
  • Korlátozza a világ méretét, hogy ne jöjjön létre folyamatosan új darabok
  • Korlátozza a használt bővítmények számát. Nem minden beépülő modul van jól felépített, és minél több van, annál több problémával fog találkozni

LagGoggles

A módosított szerverek késésének nagy része a csempe entitásokból származik. Ezek a blokkokhoz létrehozott entitások, amelyek a blokk funkcióinak és eseményeinek feldolgozására szolgálnak. Ha ezek túl sokáig tartanak, vagy túl sok van, az megnövelheti a tic-enkénti időt, és csökkentheti a teljes szerver TPS-t. Ezeket a problémákat a LagGoggles nevű mod segítségével lehet megjeleníteni. Ezt a modot letöltheti a CurseForce webhelyről .

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.