Diagnostika oneskorenia servera Minecraft a nízkeho TPS

Ako funguje Minecraft (Čo spôsobuje oneskorenie?)

Kľúčom k pochopeniu toho, čo spôsobuje oneskorenie, je pochopiť, ako funguje Minecraft. Softvér servera Minecraft funguje v podobnej záležitosti s jedným kľúčovým problémom: pre hlavnú hernú slučku neexistujú žiadne limity pre viacvláknové alebo časové limity. Keď server prejde na tic, prejde každou aktualizáciou TileEntity, aktualizáciou entity, aktualizáciou bloku, udalosťami a ďalšími procesmi, kým sa to nedokončí. Toto všetko sa deje v jednom vlákne a ďalšia slučka nemôže začať, kým sa neskončí aktuálna. Svet sa neaktualizuje, hráči sa nebudú hýbať a entity budú zamrznuté na mieste. V ideálnom prípade by každý tik nemal trvať dlhšie ako 50 ms na udržanie 20 tikov za sekundu (TPS). To môže klesnúť až na 55,55 ms pre 18 TPS s minimálnymi problémami. Akékoľvek nižšie ako toto a začnete vidieť oneskorenie.

Typické príčiny oneskorenia

Existuje veľa vecí, ktoré môžu spôsobiť oneskorenie, ale niektoré z nich budú najpravdepodobnejším vinníkom väčšiny serverov.

  • Použitie súboru : Akýkoľvek doplnok, ktorý neustále číta súbory prehrávača, najmä pri udalostiach, ako je pohyb, poškodenie alebo interakcia. Niekoľkými príkladmi by mohli byť niektoré príznaky PVP alebo doplnky Glow, ktoré budú nepretržite čítať súbory prehrávača.
  • Ploché súbory ako databáza : Keď máte doplnky, ktoré používajú veľké súbory na sledovanie množstva údajov, ktoré iterujú cez tento súbor alebo v pamäti, v závislosti od toho, ako sú uložené, bude trvať dlho. Mnoho zásuvných modulov to robí a neprijímajú preventívne opatrenia proti tomu, ako, keď sa databázy nafúknu, čas spracovania ovplyvní tik serverov. Uvidíte to často pri načítavaní veľkých konfigurácií MagicSpells alebo pri používaní systémov povolení, ktoré používajú YAML namiesto správnej databázy, ako je PEX a GroupManager.
  • Príliš veľa operácií : Keď doplnok vytvorí príliš veľa entít alebo sa pokúsi vykonať zložité úlohy pri udalostiach, ako je pohyb, začnete vidieť oneskorenie. Aj keď každé spustenie trvá menej ako 1 ms, pri spracovávaní udalosti 20 000 krát za sekundu sa stane exponenciálnym. Pluginy, ktoré to môžu spôsobiť, sú pluginy na úpravu sveta, ako sú VoxelSniper a WorldEdit; alebo ochranné doplnky ako Anti Cheats a World Protections.
  • Načítaných príliš veľa kúskov : Jeden chunk je 16*16*256. To nemusí znieť ako veľa, ale keď sa to vynásobí, znamená to, že na jeden kus je 65 536 blokov. Každý hráč môže mať okolo seba načítaných viac ako 200 kúskov, v závislosti od vašej konfigurácie. To je viac ako 13 107 200 blokov. To zaberá veľa pamäte. Tiež, ak čo i len 1 % z nich sú dlaždicové entity, je načítaných 131 072 dlaždicových entít, ktoré potrebujú aktualizovať každý tik. Mody sú známe tým, že majú pomalé časy spracovania na TileEntities.
  • Cascading WorldGen : Toto je prípad, keď doplnok alebo mod generuje štruktúry mimo zadaného bloku. To spôsobí, že sa ďalší blok načíta, vygeneruje a potom to znova spustí, ak začne pretekať štruktúry do ďalšieho bloku. Toto je zlý dizajn v mene tvorcov a akýkoľvek doplnok alebo mod, ktorý to robí, by mal byť okamžite odstránený.
  • Dlaždice entity : Pozrite si časť LagGoggles nižšie.

Nájdenie príčiny oneskorenia je v súčasnosti vo všeobecnosti jednoduchým postupom, pretože väčšina serverového softvéru Minecraft je postavená s nástrojmi na profilovanie.

Prehľady časovania pre Spigot/PaperSpigot

Ak chcete získať podrobnú správu o časovaní, môžete použiť príkaz follow.

/timings on

Budete chcieť počkať niekoľko minút a nechať to meškať, kým vaše načasovanie beží. Po chvíli vygenerujte správu.

/timings paste

Získate tak odkaz na webovú stránku s pekným rozpisom prehľadu s jednoduchými možnosťami preosievania všetkých údajov, ktoré získavate. Viac o tom, ako ich čítať, sa môžete dozvedieť na Spigot's timing wiki .

Potom budete chcieť časovanie vypnúť, pretože nechcete, aby nepotrebné dáta upchali vaše ďalšie čítanie, a časovanie pridáva dodatočný čas k tiku.

/timings off

Správy o časovaní pre Sponge

Ak chcete získať podrobnú správu o časovaní, môžete použiť príkaz follow.

/sponge timings on

Budete chcieť počkať niekoľko minút a nechať to meškať, kým vaše načasovanie beží. Po chvíli vygenerujte správu.

/sponge timings report

Získate tak odkaz na webovú stránku s pekným rozpisom prehľadu s jednoduchými možnosťami preosievania všetkých údajov, ktoré získavate. Keďže Spongeov systém časovania je založený na Spigotovom, môžete sa dozvedieť viac o tom, ako ich čítať na Spigotovej časovacej wiki .

Potom budete chcieť časovanie vypnúť, pretože nechcete, aby nepotrebné dáta upchali vaše ďalšie čítanie, a časovanie pridáva dodatočný čas k tiku.

/sponge timings off

Môžete tiež resetovať časovanie.

/sponge timings reset

Kroky na zníženie oneskorenia

  • Na spustenie Minecraftu použite správne argumenty pre váš skriptový súbor. Viac informácií o vhodných argumentoch Java nájdete tu
  • Použite LuckPerms alebo správcu povolení, ktorý namiesto plochého súboru používa správnu databázu
  • Úplne sa vyhýbajte nakladačom kusov
  • Odstráňte všetko, čo spôsobuje kaskádové generovanie sveta
  • Obmedzte zásuvné moduly Anti Cheat, aby ste neboli príliš horliví
  • Obmedzte viditeľnú vzdialenosť hráčov vnútri server.properties
  • Vyčistite nepriateľské davy po stanovenom časovom období
  • Reštartujte server denne, aby ste odstránili úniky z Java
  • NIKDY znovu nenačítajte server, spôsobí to úniky a iné problémy
  • Použite FastAsync verzie doplnkov, ako sú WorldEdit a VoxelSniper
  • Obmedzte veľkosť svojho sveta, aby sa neustále nevytvárali nové kúsky
  • Obmedzte množstvo pluginov, ktoré používate. Nie všetky doplnky sú vytvorené dobre a čím viac ich máte, tým viac problémov sa stretnete

LagGoggles

Veľká časť oneskorenia na modifikovaných serveroch pochádza z dlaždicových entít. Sú to entity vytvorené pre bloky, ktoré sa používajú na spracovanie funkčnosti a udalostí bloku. Ak to trvá príliš dlho alebo je ich príliš veľa, môže sa predĺžiť čas na jeden tik, ktorý zníži celkové TPS servera. Spôsob, ako si tieto problémy predstaviť, je použiť mod s názvom LagGoggles. Tento mod si môžete stiahnuť z CurseForce .

Zanechať komentár

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac