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 .


Ako nastaviť klasický server Tekkit na Ubuntu 16.10

Ako nastaviť klasický server Tekkit na Ubuntu 16.10

Používate iný systém? Čo je Tekkit Classic? Tekkit Classic je modpack pre hru, ktorú každý pozná a miluje; Minecraft. Obsahuje niektoré z ver

Nastavte server 7 Days to Die na Ubuntu 14

Nastavte server 7 Days to Die na Ubuntu 14

V tejto príručke sa naučíte, ako nastaviť svoj vlastný server 7 Days to Die (7D2D) na Ubuntu. Upozorňujeme, že táto hra je stále v predbežnom prístupe a že th

Nastavenie servera Half Life 2 na CentOS 6

Nastavenie servera Half Life 2 na CentOS 6

Tento tutoriál sa bude zaoberať procesom inštalácie herného servera Half Life 2 na systém CentOS 6. Krok 1: Inštalácia predpokladov Aby ste mohli nastaviť ou

Counter-Strike Global Offensive Server Launcher na Ubuntu

Counter-Strike Global Offensive Server Launcher na Ubuntu

Tí, ktorí majú skúsenosti s nastavením vyhradenej CS:GO (Counter-Strike: Global Offensive), vedia, že proces používania rozhrania príkazového riadku na správu

Nastavenie Counter Strike: Zdroj na Debiane

Nastavenie Counter Strike: Zdroj na Debiane

V tejto príručke nastavíme herný server Counter Strike: Source na Debiane 7. Tieto príkazy boli testované na Debiane 7, ale mali by tiež fungovať

Ako nainštalovať Unturned 2.2.5 na Debian 8

Ako nainštalovať Unturned 2.2.5 na Debian 8

V tejto príručke sa dozviete, ako nastaviť server Unturned 2.2.5 na Vultr VPS so systémom Debian 8. Poznámka: Toto je upravená verzia Unturned, ktorá

Inštalácia Teamspeaku na CentOS 7

Inštalácia Teamspeaku na CentOS 7

Teamspeak je VOIP server, ktorý možno použiť na komunikáciu tímov/viacerých ľudí. Je relatívne ľahký a bezpečný, keďže sa vydávajú aktualizácie

Ako nainštalovať SteamCMD na váš VPS

Ako nainštalovať SteamCMD na váš VPS

V tomto návode nainštalujeme SteamCMD. SteamCMD je možné použiť na stiahnutie a inštaláciu mnohých herných serverov Steam, ako je Counter-Strike: Global Offensiv

Spustenie servera Teamspeak 3 na CentOS 6.4

Spustenie servera Teamspeak 3 na CentOS 6.4

Ak chcete nainštalovať server Teamspeak 3, spustite nasledujúce príkazy. # Secure Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Ako nainštalovať Left 4 Dead Server na CentOS 7

Ako nainštalovať Left 4 Dead Server na CentOS 7

V tejto príručke vysvetlím, ako nainštalovať a nakonfigurovať server L4D na CentOS 7. Inštalácia Left 4 Dead Skôr ako začneme, musíme sa uistiť, že

Ako nainštalovať server Minecraft na Ubuntu 14.04

Ako nainštalovať server Minecraft na Ubuntu 14.04

Používate iný systém? V tomto článku nainštalujeme server Minecraft na Ubuntu. Uistite sa, že ste prihlásení pod používateľom, ktorý je

Ako nainštalovať SA-MP San Andreas Multiplayer na CentOS 7

Ako nainštalovať SA-MP San Andreas Multiplayer na CentOS 7

V tomto návode sa naučíte, ako nastaviť server SA-MP (San Andreas Multiplayer) na CentOS 7.

Nastavte server TeeWorlds

Nastavte server TeeWorlds

TeeWorlds je bezplatná a open source online strieľačka pre viacerých hráčov. V tomto návode vám vysvetlím, ako vytvoriť server TeeWorlds. Tieto kroky boli

Spustite svoj vlastný server Arma 3 na Ubuntu 14

Spustite svoj vlastný server Arma 3 na Ubuntu 14

Prehľad Táto príručka sa bude týkať inštalácie a prevádzky vášho servera Arma 3 pomocou SteamCMD a obrazovky. Pre ďalšie informácie ohľadom th

Ako nainštalovať klasický server Tekkit na CentOS 6/7

Ako nainštalovať klasický server Tekkit na CentOS 6/7

Používate iný systém? V tomto návode si dobre vytvoríte server Tekkit Classic. Tekkit je ďalší populárny modpack vyrobený pre Minecraft. Vzhľadom na am

Ako nainštalovať Glowstone (Minecraft) na server CentOS 7

Ako nainštalovať Glowstone (Minecraft) na server CentOS 7

Používate iný systém? Úvod Glowstone je nepochybne najviac optimalizovaný server pre Minecraft. Softvér sa môže pochváliť nízkou spotrebou pamäte a používaním

Ako nainštalovať Unturned na Linuxe

Ako nainštalovať Unturned na Linuxe

Používate iný systém? Úvod V tejto príručke sa naučíte, ako nastaviť a nainštalovať Unturned server v systéme Linux. Unturned je populárny survival

Nastavenie herného servera JC2:MP v Debiane

Nastavenie herného servera JC2:MP v Debiane

V tejto príručke nastavíme server Just Cause 2: Multiplayer Linux. Tieto príkazy boli testované na Debian 7 x64, ale mali by fungovať aj na th

Nainštalujte Minecraft Server na Fedora 26

Nainštalujte Minecraft Server na Fedora 26

Používate iný systém? V tomto návode vás prevediem nastavením servera Minecraft na vysokovýkonnom SSD VPS na Vultr. Naučíte sa ho

Nastavte server Call of Duty 4 na Debian 7 x64

Nastavte server Call of Duty 4 na Debian 7 x64

Prehľad Táto príručka sa bude zaoberať inštaláciou a prevádzkou servera Call of Duty 4 (COD4) pomocou obrazovky. V tomto návode nainštalujeme COD4 na Debia

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.

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.

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.

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