Diagnosi di Minecraft Server Lag e TPS basso

Come funziona Minecraft (Quali sono le cause del ritardo?)

La chiave per capire cosa sta causando il ritardo è capire come funziona Minecraft. Tutti i software server Minecraft funzionano tutti in modo simile con un problema chiave: non ci sono limiti multi-thread o di timing per il loop di gioco principale. Quando il server passa a tic, esegue ogni aggiornamento TileEntity, aggiornamento entità, aggiornamento blocchi, eventi e altri processi fino al completamento. Tutto ciò si verifica su un thread e il ciclo successivo non può iniziare fino a quando quello corrente non termina. Il mondo non si aggiornerà, i giocatori non si muoveranno e le entità saranno congelate sul posto. Idealmente ogni tic dovrebbe richiedere non più di 50ms per mantenere 20 Tic al secondo (TPS). Questo può arrivare a 55,55 ms per 18 TPS con problemi minimi. Qualsiasi inferiore a questo e inizierai a vedere il ritardo.

Cause tipiche di ritardo

Ci sono molte cose che possono causare ritardi, ma alcuni di essi saranno probabilmente i colpevoli della maggior parte dei server.

  • Utilizzo dei file : qualsiasi plugin che legge costantemente dai file del lettore, in particolare su eventi come movimento, danno o interazione. Alcuni esempi potrebbero essere alcuni flag PVP o plugin Glow che leggeranno continuamente dai file del lettore.
  • File flat come database : quando si hanno plug-in che utilizzano file di grandi dimensioni per tenere traccia di molti dati che ripetono quel file o in memoria, a seconda di come vengono archiviati, impiegherà molto tempo. Molti plugin fanno questo e non prendono precauzioni contro il modo in cui, quando i database si gonfiano, il tempo di elaborazione influenzerà il server. Lo vedrai molto quando si caricano grandi configurazioni MagicSpells o si utilizzano sistemi di autorizzazioni che utilizzano YAML invece di un database appropriato come PEX e GroupManager.
  • Troppe operazioni : quando un plugin genera troppe entità o tenta di eseguire attività complesse su eventi come il movimento, inizierai a vedere un ritardo. Anche se ogni esecuzione richiede meno di 1 ms, quando si elabora un evento 20k volte al secondo diventa esponenziale. I plugin che possono causare questo sono plugin di modifica del mondo come VoxelSniper e WorldEdit; o plugin di protezione come Anti Cheats e World Protections.
  • Troppi blocchi caricati : un blocco è 16*16*256. Questo potrebbe non sembrare molto, ma se moltiplicato significa che ci sono 65.536 blocchi per blocco. Ogni giocatore può avere più di 200 pezzi caricati attorno a loro, a seconda della configurazione. Quello è verso l'alto di 13.107.200 blocchi. Questo occupa molta memoria. Inoltre, se anche l'1% di questi sono TileEntities con 131.072 TileEntities caricati che devono aggiornare ogni tic. Le mod sono famose per avere tempi di elaborazione lenti su TileEntities.
  • Cascading WorldGen : Questo è quando un plugin o una mod genera strutture al di fuori del blocco che gli viene dato. Questo fa sì che il prossimo blocco venga caricato, generato e quindi riattivato nuovamente se inizia anche a far traboccare le strutture nel blocco successivo. Questo è un cattivo design per conto dei creatori e qualsiasi plug-in o mod che lo fa dovrebbe essere rimosso immediatamente.
  • Entità affiancate : vedere la sezione LagGoggles di seguito.

Trovare la causa del ritardo è generalmente una procedura semplice al giorno d'oggi poiché la maggior parte del software server Minecraft è costruita con strumenti di profilazione inclusi.

Rapporti di temporizzazione per Spigot / PaperSpigot

Per ottenere un rapporto sugli orari dettagliato è possibile utilizzare il comando seguente.

/timings on

Ti consigliamo di attendere qualche minuto e lasciarlo ritardare mentre i tuoi tempi sono in esecuzione. Dopo un po ', genera il rapporto.

/timings paste

Questo ti darà un link a un sito web con una bella suddivisione del rapporto con opzioni facili per setacciare tutti i dati che stai ricevendo. Puoi saperne di più su come leggerli nel wiki dei tempi di Spigot .

In seguito vorrai disattivare i tempi, poiché non desideri che i dati spazzatura ostruiscano la lettura successiva e i tempi aggiungono ulteriore tempo al tic.

/timings off

Rapporti sui tempi per Sponge

Per ottenere un rapporto sugli orari dettagliato è possibile utilizzare il comando seguente.

/sponge timings on

Ti consigliamo di attendere qualche minuto e lasciarlo ritardare mentre i tuoi tempi sono in esecuzione. Dopo un po ', genera il rapporto.

/sponge timings report

Questo ti darà un link a un sito web con una bella suddivisione del rapporto con opzioni facili per setacciare tutti i dati che stai ricevendo. Dato che il sistema di cronometraggio di Sponge è basato su quello di Spigot, puoi imparare di più su come leggerli nel wiki dei tempi di Spigot .

In seguito vorrai disattivare i tempi, poiché non desideri che i dati spazzatura ostruiscano la lettura successiva e i tempi aggiungono ulteriore tempo al tic.

/sponge timings off

È inoltre possibile ripristinare i tempi.

/sponge timings reset

I passaggi per ridurre il ritardo

  • Usa gli argomenti appropriati per il tuo file di script per avviare Minecraft. Ulteriori informazioni sugli argomenti Java appropriati qui
  • Utilizzare LuckPerms o un gestore autorizzazioni che utilizza un database corretto anziché un file flat
  • Evitare del tutto i caricatori di pezzi
  • Rimuovi tutto ciò che provoca la generazione a cascata del mondo
  • Limitare i plug-in Anti Cheat per non essere troppo zelanti
  • Limita la distanza di visualizzazione dei giocatori in server.properties
  • Elimina i mob ostili dopo un determinato periodo di tempo
  • Riavvia il server quotidianamente per eliminare le perdite da Java
  • Non ricaricare MAI il server, ciò causa perdite e altri problemi
  • Usa le versioni FastAsync di plugin come WorldEdit e VoxelSniper
  • Limita le dimensioni del tuo mondo in modo che nuovi pezzi non vengano costantemente creati
  • Limita la quantità di plugin che usi. Non tutti i plug-in sono costruiti bene e più hai, più problemi incontrerai

LagGoggles

Una gran parte del ritardo sui server modificati proviene da entità tile. Queste sono le entità create per i blocchi che vengono utilizzate per elaborare la funzionalità e gli eventi del blocco. Se questi impiegano troppo tempo o ce ne sono troppi, può aumentare il tempo per abbattimento del TPS totale del server. Un modo per visualizzare questi problemi è usare una mod chiamata LagGoggles. Puoi scaricare questa mod da CurseForce .



Leave a Comment

Installazione di McMyAdmin su Ubuntu 14.10

Installazione di McMyAdmin su Ubuntu 14.10

McMyAdmin è un pannello di controllo del server Minecraft utilizzato per amministrare il tuo server. Sebbene McMyAdmin sia gratuito, ci sono più edizioni, alcune delle quali sono pai

Come installare il server Left 4 Dead 2 su Ubuntu

Come installare il server Left 4 Dead 2 su Ubuntu

In questo tutorial, imparerai come configurare un server Left 4 Dead 2 su Ubuntu. Questa guida è stata testata sul server Ubuntu 15.10. Prerequisiti Aggiornamento th

Come installare Just Cause 2 (JC2-MP) Server su CentOS 7

Come installare Just Cause 2 (JC2-MP) Server su CentOS 7

In questo tutorial imparerai bene come configurare un server multiplayer Just Cause 2. Prerequisiti Assicurarsi che il sistema sia completamente aggiornato prima di iniziare

Come installare Starbound Server su CentOS 7

Come installare Starbound Server su CentOS 7

Usando un sistema diverso? In questo tutorial, spiegherò come impostare un server Starbound su CentOS 7. Prerequisiti Devi possedere questo gioco su di te

Come installare Unturned su Linux

Come installare Unturned su Linux

Usando un sistema diverso? Introduzione In questa guida, imparerai come impostare e installare un server Unturned su Linux. Unturned è una sopravvissuta popolare

Installazione di un server Reflex su Windows

Installazione di un server Reflex su Windows

Introduzione Reflex è unarena FPS competitiva emergente di Turbo Pixel Studios. Questo tutorial ti mostrerà come configurare il tuo server Reflex

Come installare PufferPanel (pannello di controllo gratuito di Minecraft) su CentOS 7

Come installare PufferPanel (pannello di controllo gratuito di Minecraft) su CentOS 7

Introduzione In questo tutorial, è necessario installare PufferPanel sul nostro VPS Vultr. PufferPanel è un pannello di controllo open source e gratuito per la gestione

Installa 7 Days to Die Server su Ubuntu 14

Installa 7 Days to Die Server su Ubuntu 14

In questa guida, imparerai come configurare il tuo server 7 Days to Die (7D2D) su Ubuntu. Si prega di notare che questo gioco è ancora un accesso anticipato e che th

Installa PaperSpigot su Ubuntu

Installa PaperSpigot su Ubuntu

PaperSpigot è un fork di Spigot ad alte prestazioni che mira a correggere le incoerenze di gioco e meccaniche. La carta contiene numerose caratteristiche e modifiche uniche

Come installare Counter-Strike 1.6 Server su Linux

Come installare Counter-Strike 1.6 Server su Linux

Questa guida ti mostrerà come impostare un server Counter-Strike: 1.6 su Linux. I passaggi qui funzioneranno per la maggior parte delle distro Linux che supportano SteamCMD. Primo

Come installare Unturned 2.2.5 su CentOS 6

Come installare Unturned 2.2.5 su CentOS 6

In questa guida, imparerai come configurare un server Unturned 2.2.5 su un VPS Vultr che esegue CentOS 6. Nota: questa è una versione modificata di Unturned che non

Installa un server Team Fortress 2 su Arch Linux

Installa un server Team Fortress 2 su Arch Linux

Questo tutorial spiega come configurare un server Team Fortress 2 su Arch Linux. Presumo che tu abbia effettuato laccesso con un account utente non root con accesso sudo

Come installare un server Tekkit Classic su Ubuntu 16.10

Come installare un server Tekkit Classic su Ubuntu 16.10

Usi un sistema diverso? Che cosè Tekkit Classic? Tekkit Classic è un modpack per il gioco che tutti conoscono e amano; Minecraft. Contiene alcuni dei ver

Installa un server Minecraft PE su CentOS 6

Installa un server Minecraft PE su CentOS 6

Questo articolo ti insegnerà come configurare un server Minecraft Pocket Edition su CentOS 6. Configurare un server Minecraft PE è abbastanza semplice. Innanzitutto, installare th

Come installare il server Teamspeak 3 su Ubuntu 16.04 a 64 bit

Come installare il server Teamspeak 3 su Ubuntu 16.04 a 64 bit

Usi un sistema diverso? Panoramica Sei stanco di usare Discord / Skype? Stanco di non avere il controllo completo del tuo server? O forse è a causa della mancanza di o

Come installare ARK Survival Evolved (ArkSE) su CentOS 7

Come installare ARK Survival Evolved (ArkSE) su CentOS 7

In questo tutorial, imparerai bene come impostare un server di sopravvivenza ARK su CentOS 7. Prerequisiti ARK richiede una grande quantità di memoria. Consiglio di usare una V

Come installare un Counter-Strike: Global Offensive Server su Windows

Come installare un Counter-Strike: Global Offensive Server su Windows

Introduzione In questa guida, imparerai come installare un server Counter-Strike: Global Offensive su Windows. Prerequisiti Prima di iniziare, youl

Configurare Counter Strike: Global Offensive su Debian

Configurare Counter Strike: Global Offensive su Debian

In questa guida, installeremo un server di gioco Counter Strike: Global Offensive su Debian 7. Questi comandi sono stati testati su Debian 7 ma dovrebbero anche

Come installare Unturned 2.2.5 su Ubuntu 16.04

Come installare Unturned 2.2.5 su Ubuntu 16.04

Usi un sistema diverso? Introduzione In questa guida, imparerai come configurare un server Unturned 2.2.5 su un Vultr VPS con Ubuntu 16.04. Nota: Thi

Come installare un server Minecraft su Ubuntu 18.04

Come installare un server Minecraft su Ubuntu 18.04

Minecraft è ancora uno dei giochi più popolari al mondo. Se giochi, probabilmente giochi sempre sui server. Questa guida ha lo scopo di insegnare a te

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.