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 .



Crearea unui server Teamspeak 3 pe Ubuntu 14 pe 64 de biți

Crearea unui server Teamspeak 3 pe Ubuntu 14 pe 64 de biți

Prezentare generală Dacă lucrați la un proiect de colaborare mare cu echipa dvs. de dezvoltare sau ucideți un șef în cel mai nou joc de rol, sunteți gata

Cum să configurați serverul Left 4 Dead 2 pe Ubuntu

Cum să configurați serverul Left 4 Dead 2 pe Ubuntu

În acest tutorial, veți învăța cum să configurați un server Left 4 Dead 2 pe Ubuntu. Acest ghid a fost testat pe serverul Ubuntu 15.10. Condiții preliminare Actualizare th

Cum se instalează Starbound Server pe CentOS 7

Cum se instalează Starbound Server pe CentOS 7

Folosind un sistem diferit? În acest tutorial, voi explica cum să configurați un server Starbound pe CentOS 7. Condiții preliminare Trebuie să dețineți acest joc pe dvs.

Configurați un server multiplayer SA-MP San Andreas pe CentOS 6

Configurați un server multiplayer SA-MP San Andreas pe CentOS 6

Bine ați venit la un alt tutorial Vultr. Aici, veți învăța cum să instalați și să rulați un server SAMP. Acest ghid a fost scris pentru CentOS 6. Condiții preliminare pe care le veți obține

Instalarea serverului online Ragnarok pe Ubuntu 14.04 x64

Instalarea serverului online Ragnarok pe Ubuntu 14.04 x64

În acest articol, vom configura un server Ragnarok Online pe Ubuntu 14.04 x64. Puteți fi conectat ca root sau un utilizator cu privilegii de utilizator. Aceasta

Configurarea unui server Half Life 2 pe CentOS 6

Configurarea unui server Half Life 2 pe CentOS 6

Acest tutorial va acoperi procesul de instalare a unui server de joc Half Life 2 pe CentOS 6 System. Pasul 1: Instalarea condițiilor preliminare Pentru a configura ou

Cum se instalează Unturned 2.2.5 pe CentOS 6

Cum se instalează Unturned 2.2.5 pe CentOS 6

În acest ghid, veți afla cum puteți configura un server Unturned 2.2.5 pe un Vultr VPS care rulează CentOS 6. Notă: Aceasta este o versiune editată a Unturned care nu funcționează.

Cum se instalează un server FiveM pe Ubuntu 19.04

Cum se instalează un server FiveM pe Ubuntu 19.04

Cerințe preliminare Un sistem Linux care rulează Ubuntu 19.04 cu cel puțin 1 nucleu al procesorului și 2 GB memorie Utilizator non-root pe sistem Înainte de a începe să vă asigurăm

Configurarea Counter Strike: Source pe Debian

Configurarea Counter Strike: Source pe Debian

În acest ghid, vom stabili un Counter Strike: Server de joc sursă pe Debian 7. Aceste comenzi au fost testate pe Debian 7, dar ar trebui să funcționeze o

Cum să configurați un server Tekkit Classic pe Ubuntu 16.10

Cum să configurați un server Tekkit Classic pe Ubuntu 16.10

Folosind un sistem diferit? Ce este Tekkit Classic? Tekkit Classic este un modpack pentru jocul pe care toată lumea îl cunoaște și îl iubește; Minecraft. Conține o parte din ver

Cum se instalează SA-MP San Andreas Multiplayer pe CentOS 7

Cum se instalează SA-MP San Andreas Multiplayer pe CentOS 7

În acest tutorial veți învăța cum să configurați un server SA-MP (San Andreas Multiplayer) pe CentOS 7. Condiții preliminare Permite să vă asigurați că sistemul este complet actualizat

Cum se instalează Teamspeak 3 Server pe Ubuntu 16.04 pe 64 de biți

Cum se instalează Teamspeak 3 Server pe Ubuntu 16.04 pe 64 de biți

Folosind un sistem diferit? Prezentare generală Rău de a utiliza Discord / Skype? Ești obosit să nu ai controlul complet al serverului tău? Sau poate din cauza lipsei o

Cum se instalează ARK Survival Evolved (ArkSE) pe CentOS 7

Cum se instalează ARK Survival Evolved (ArkSE) pe CentOS 7

În acest tutorial, aflați cum puteți configura un server ARK Survival pe CentOS 7. Condiții preliminare ARK necesită o cantitate mare de memorie. Recomand utilizarea unui V

Cum se instalează un Counter-Strike: Global Offensive Server pe Windows

Cum se instalează un Counter-Strike: Global Offensive Server pe Windows

Introducere În acest ghid, veți învăța cum să instalați un server Counter-Strike: Global Offensive pe Windows. Condiții preliminare Înainte de a începe, tu

Cum se instalează Cuberite pe un server CentOS 6 sau 7

Cum se instalează Cuberite pe un server CentOS 6 sau 7

Introducere Ce este Cuberitul? Cuberite este o implementare scalabilă, open-source a serverului Minecraft, care este scrisă în C ++. Are un plugin ușor de utilizat

Instalarea unui server Counter-Strike: Global Offensive (CSGO) pe Arch Linux

Instalarea unui server Counter-Strike: Global Offensive (CSGO) pe Arch Linux

Acest tutorial explică modul de configurare a unui server Counter-Strike: Global Offensive pe Arch Linux. Acest tutorial presupune că v-ați autentificat cu o utilizare standard

Cum se instalează serverul Left 4 Dead pe CentOS 7

Cum se instalează serverul Left 4 Dead pe CentOS 7

În acest ghid, Voi explica cum să instalați și configurați un server L4D pe CentOS 7. Instalarea Left 4 Dead Înainte de a începe, trebuie să ne asigurăm că

Instalarea unui server Reflex pe Windows

Instalarea unui server Reflex pe Windows

Introducere Reflex este un Arena FPS competitiv, nou-venit, de Turbo Pixel Studios. Acest tutorial vă va arăta cum să vă configurați propriul server Reflex

Cum se instalează PufferPanel (Panou de control gratuit Minecraft) pe CentOS 7

Cum se instalează PufferPanel (Panou de control gratuit Minecraft) pe CentOS 7

Introducere În acest tutorial, instalați PufferPanel pe Vultr VPS-ul nostru. PufferPanel este un panou de control liber de utilizat pentru a vă gestiona

Cum se instalează Unturned 2.2.5 pe Debian 8

Cum se instalează Unturned 2.2.5 pe Debian 8

În acest ghid, veți învăța cum să configurați un server Unturned 2.2.5 pe un Vultr VPS care rulează Debian 8. Notă: Aceasta este o versiune editată a Unturned care nu funcționează.

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

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.

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.

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.

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?

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.

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