Diagnosticarea Minecraft Server Lag și TPS scăzut

Cum funcționează Minecraft (Ce provoacă întârzierea?)

Cheia pentru a înțelege ce provoacă întârzierea este să înțelegeți cum funcționează Minecraft. Software-ul serverului Minecraft operează într-o problemă similară cu o singură problemă cheie: nu există limite de multi-threading sau de calendar pentru bucla principală a jocului. Când serverul trece la tic, acesta parcurge fiecare actualizare TileEntity, actualizare entitate, actualizare bloc, evenimente și alte procese până când este finalizat. Acest lucru se întâmplă pe un singur fir, iar următoarea buclă nu poate începe până când cea finală se termină. Lumea nu se va actualiza, jucătorii nu vor părea să se miște și entitățile vor fi înghețate pe loc. În mod ideal, fiecare tic nu trebuie să dureze mai mult de 50ms pentru a menține 20 Tics pe Second (TPS). Acest lucru poate merge până la 55.55ms pentru 18 TPS cu probleme minime. Orice este mai mic decât acesta și veți începe să vedeți întârziere.

Cauze tipice de întârziere

Există multe lucruri care pot cauza întârziere, dar câteva dintre ele vor fi cele mai probabil vinovate pentru majoritatea serverelor.

  • Utilizarea fișierelor : Orice plugin care citește constant din fișierele playerului, în special la evenimente precum mișcarea, deteriorarea sau interacțiunea. Câteva exemple ar fi câteva steaguri PVP sau plugin-uri Glow, care vor fi citite continuu din fișierele playerului.
  • Fișierele plate ca bază de date : Când aveți plugin-uri care folosesc fișiere mari pentru a urmări o mulțime de date care iterează prin acel fișier sau în memorie, în funcție de modul în care este stocat, va dura mult timp. Multe plugin-uri fac acest lucru și nu iau măsuri de precauție împotriva modului în care, atunci când bazele de date devin umflate, timpul de procesare va afecta tic-ul serverelor. Veți vedea acest lucru mult când încărcați configurații majore MagicSpells sau când utilizați sisteme de permisiuni care folosesc YAML în loc de o bază de date adecvată, cum ar fi PEX și GroupManager.
  • Prea multe operații : Când un plugin generează prea multe entități sau încearcă să efectueze sarcini complexe la evenimente precum mișcarea, veți începe să observați decalarea. Chiar dacă fiecare rulare durează mai puțin de 1ms, atunci când prelucrați un eveniment de 20 de ori pe secundă, acesta devine exponențial. Plugin-urile care pot provoca acest lucru sunt pluginuri de editare mondială, cum ar fi VoxelSniper și WorldEdit; sau plugin-uri de protecție, precum Anti Trucuri și Protecții Mondiale.
  • Prea multe bucăți încărcate : o bucată este 16*16*256. S-ar putea ca acest lucru să nu pară mult, dar atunci când se înmulțește, înseamnă că există 65.536 de blocuri pe bucată. Fiecare jucător poate avea peste 200 de bucăți încărcate în jurul lor, în funcție de configurația dvs. Asta este în sus de 13.107.200 blocuri. Aceasta necesită multă memorie. De asemenea, dacă chiar 1% dintre acestea sunt TileEntities, acesta este 131.072 TileEntities încărcate care trebuie să actualizeze fiecare tic. Mod-urile sunt de renume pentru că au timp de procesare lent pe TileEntities.
  • Cascading WorldGen : Acesta este momentul în care un plugin sau un mod generează structuri în afara bucății . Acest lucru face ca următoarea bucată să se încarce, să genereze și apoi să declanșeze asta din nou, dacă începe să aibă, de asemenea, structuri revărsate în următoarea bucată. Acesta este un design rău în numele creatorilor și orice plugin sau mod care face acest lucru ar trebui eliminat imediat.
  • Entități de gresie : consultați secțiunea LagGoggles de mai jos.

Găsirea cauzei decalajului este în general o procedură simplă în zilele noastre, deoarece majoritatea software-ului serverului Minecraft este construit cu instrumente de profilare incluse.

Rapoarte de calendar pentru Spigot / PaperSpigot

Pentru a obține un raport detaliat al calendarului, puteți utiliza comanda următoare.

/timings on

Veți dori să așteptați câteva minute și să îl lăsați să rămână în timp ce timpul dvs. este difuzat. După un timp, generați raportul.

/timings paste

Acest lucru vă va oferi un link către un site web cu o defalcare frumoasă a raportului, cu opțiuni ușoare de setat prin toate datele pe care le obțineți. Puteți afla mai multe despre cum puteți citi acestea la wiki-ul de sincronizare al lui Spigot .

După aceea, veți dori să dezactivați calendarul, deoarece nu doriți ca datele brute să se înfunde în următoarea lectură, iar calendarul să adauge timp suplimentar.

/timings off

Rapoarte de calendar pentru Sponge

Pentru a obține un raport detaliat al calendarului, puteți utiliza comanda următoare.

/sponge timings on

Veți dori să așteptați câteva minute și să îl lăsați să rămână în timp ce timpul dvs. este difuzat. După un timp, generați raportul.

/sponge timings report

Acest lucru vă va oferi un link către un site web cu o defalcare frumoasă a raportului, cu opțiuni ușoare de setat prin toate datele pe care le obțineți. Având în vedere că sistemul de cronologii al lui Sponge este bazat pe Spigot, puteți afla mai multe despre cum puteți citi acestea la wiki-ul de sincronizare al lui Spigot .

După aceea, veți dori să dezactivați calendarul, deoarece nu doriți ca datele brute să se înfunde în următoarea lectură, iar calendarul să adauge timp suplimentar.

/sponge timings off

De asemenea, puteți reseta calendarul.

/sponge timings reset

Pași pentru reducerea decalajului

  • Utilizați argumente adecvate pentru fișierul dvs. script pentru a lansa Minecraft. Aflați mai multe despre argumentele Java adecvate aici
  • Utilizați LuckPerms sau un Manager de permisiuni care utilizează o bază de date adecvată în loc de un fișier plat
  • Evitați complet încărcătoarele
  • Înlăturați tot ceea ce cauzează generația mondială în cascadă
  • Limitați plug-urile Anti Cheat pentru a nu fi excesiv
  • Limitați distanța de vizualizare a jucătorilor server.properties
  • Ștergeți gloanțele ostile după o perioadă de timp stabilită
  • Reporniți zilnic serverul pentru a curăța scurgerile de la Java
  • NICIODĂ să nu reîncărcați serverul, acest lucru provoacă scurgeri și alte probleme
  • Utilizați versiunile FastAsync de plugin-uri precum WorldEdit și VoxelSniper
  • Limitați dimensiunea lumii dvs. astfel încât bucăți noi să nu fie create în mod constant
  • Limitați cantitatea de pluginuri pe care le utilizați. Nu toate plugin-urile sunt bine construite și cu atât aveți mai multe probleme

LagGoggles

O mare porțiune de retard pe serverele modded provine de la entități tile. Acestea sunt entitățile create pentru blocurile care sunt utilizate pentru procesarea funcționalității și evenimentelor blocului. Dacă acestea durează prea mult sau există prea multe, poate crește timpul pericule, reducând TPS-ul serverului total. O modalitate de a vizualiza aceste probleme este utilizarea unui mod numit LagGoggles. Puteți descărca acest mod din CurseForce .

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe