Decidi tu quali servizi possiamo attivare per analisi, personalizzazione e contenuti esterni.
Utilizziamo cookie e tecnologie simili sul nostro sito web per personalizzare i contenuti, integrare media esterni e comprendere meglio l'utilizzo delle singole sezioni.
Cookie necessari
Queste voci garantiscono funzioni di base come sicurezza, stabilità e gestione dei moduli.
Il trattamento dei dati può avvenire con il tuo consenso o sulla base di interessi legittimi. Nelle impostazioni dei cookie puoi negare il consenso a ciascuna categoria facoltativa o autorizzarla singolarmente.
Alcuni servizi trattano dati personali in Paesi terzi. Con il tuo consenso, accetti anche questo trasferimento. Trovi maggiori informazioni nella nostra informativa sulla privacy.
Potrai riaprire e modificare la tua selezione in qualsiasi momento. · 1.0.2
Minecraft: ottimizzazione delle prestazioni del server
Scopri come ottimizzare i server di gioco Minecraft per migliorare le prestazioni e rendere il gameplay più fluido, grazie a consigli efficaci sulle impostazioni → Scopri di più
10 novembre 202621 min di lettura0 Visualizzazioni0 utile
Cosa comporta esattamente l’ottimizzazione?
L’ottimizzazione è un aspetto importante per garantire il corretto funzionamento dei server di gioco Minecraft. Se gestisci un server pubblico, dovresti dedicarle tutto il tempo necessario. Solo con molte prove e test potrai ottenere il risultato migliore. Questa guida, quindi, non va seguita necessariamente alla lettera: vuole essere un aiuto per orientarti nella direzione giusta.
Nella maggior parte dei casi, ottimizzare significa modificare molte impostazioni del server, cambiandone in alcuni casi notevolmente il comportamento. Tra le altre cose, alcune impostazioni vengono ridotte, alleggerendo il carico sul server e migliorandone così le prestazioni. Per evitare di compromettere troppo l’esperienza di gioco complessiva, cerca sempre il giusto equilibrio.
Vanilla
Purtroppo, le possibilità di ottimizzare un server Vanilla sono molto limitate, perché sono disponibili poche impostazioni. Ecco alcuni interventi che possono dare una spinta in più al server Vanilla:
Distanza visiva
Un intervento molto comune consiste nel ridurre la distanza visiva. Il valore predefinito è di 10 chunk, ma molti giocatori preferiscono impostarne decisamente meno, ad esempio 6-8. Alcuni esagerano con il numero di chunk e lo impostano, per esempio, a 32. In questo caso, il server deve caricare ed elaborare tutti quei chunk, con un notevole impatto sulle prestazioni.
Su un server Vanilla puoi modificare la distanza visiva nel file di configurazione "server.properties", cambiando il valore "view-distance". Per non limitare troppo l’esperienza di gioco, ti consigliamo di impostarlo su 5-6: il carico sul server può così diminuire fino al 50%.
Abbiamo già dedicato un articolo a questo argomento nella nostra guida, che trovi qui.
Compressione dei dati
Su un server c’è uno scambio continuo di dati tra il server e i giocatori connessi. I movimenti dei giocatori vengono inviati al server, che li inoltra a sua volta a tutti gli altri. Anche le azioni dei giocatori e gli eventi nel mondo, come le esplosioni, fanno parte dei dati trasmessi continuamente.
Per rendere questo scambio più efficiente, puoi raddoppiare la dimensione dei dati compressi, così il server impiegherà solo il 50% delle risorse per scambiare gli stessi dati con i giocatori. Per farlo, modifica il valore "network-compression-threshold" nel file di configurazione "server.properties" e impostalo su 512. Anche su questo argomento abbiamo un articolo nella nostra guida, che trovi qui.
FAQ
Domande frequenti
La distanza visiva predefinita è di 10 chunk. Ridurla a 5-6 in server.properties (valore view-distance) alleggerisce il carico sul server fino al 50%, senza limitare troppo l’esperienza di gioco.
L’articolo illustra le ottimizzazioni per server Vanilla, Forge, Bukkit, Spigot e Paper Spigot. Paper Spigot offre il maggior numero di impostazioni aggiuntive, tra cui limiti di generazione, raggi di attivazione delle entità, generatori di mob e redstone.
Rispetto a piattaforme come Spigot o Paper Spigot, un server Vanilla offre poche impostazioni. Per questo, le ottimizzazioni si concentrano soprattutto sulla distanza visiva e sulla compressione dei dati.
No. La guida è un aiuto, non una procedura da seguire obbligatoriamente: l’ottimizzazione può cambiare notevolmente il comportamento del server. Dedica del tempo ai test e cerca un buon equilibrio tra prestazioni ed esperienza di gioco.
Feedback
Questo articolo ti è stato utile?
Il tuo feedback ci aiuta a definire le priorità e a migliorare i contenuti.
0 di 0 I feedback hanno giudicato utile questo articolo.
Assistenza personale
Le istruzioni non sono sufficienti?
Il supporto ZAP conosce il tuo prodotto: descrivi brevemente la tua richiesta e ti aiuteremo personalmente.
Navigazione
Minecraft
Forge
Come per Vanilla, le possibilità di intervenire direttamente sul server sono purtroppo piuttosto limitate, perché sono disponibili solo file di configurazione molto piccoli. Tuttavia, è possibile installare mod aggiuntive per alleggerire un po’ il carico sul server.
Precaricamento dei chunk
Un modo per alleggerire il carico sul server è precaricare i chunk. In seguito, quando i giocatori sono online, il server dovrà solo caricare i dati dei chunk già salvati, invece di crearli e generarli da zero. È meglio avviare il processo la sera e lasciarlo in esecuzione durante la notte.
Per farlo, devi installare una mod aggiuntiva. Puoi scaricare una mod particolarmente adatta qui.
Puoi quindi installare la mod sul server come di consueto, seguendo le nostre guide.
Prima di riavviare il server, assicurati che "max-tick-time" sia impostato su "-1" in "server.properties". In caso contrario, il server potrebbe arrestarsi in modo anomalo. Ti consigliamo inoltre di disporre di almeno 8-10 GB di RAM, perché il processo ne richiede molta. Puoi aumentare temporaneamente la RAM durante la notte e poi ridurla di nuovo.
Info
La mod menzionata sopra potrebbe non essere compatibile con la tua versione di Forge. Se ne usi un’altra, il processo potrebbe essere diverso.
Una volta avviato il server con la mod, apri la console. Ti consigliamo di impostare un confine del mondo con un raggio di 16.000 blocchi. Per farlo, esegui i seguenti comandi, nell’ordine indicato:
worldborder center 0 0
worldborder set 16000
Info
Se necessario, sostituisci le coordinate con quelle del centro del tuo mondo, per evitare di "tagliarlo" (ad esempio, se hai già costruito in quella zona).
Dopo aver impostato il confine, puoi avviare il precaricamento vero e proprio. Per farlo, esegui il seguente comando:
pregen gen startWorldBorder
Ora verranno precaricati, uno dopo l’altro, tutti i chunk all’interno del confine. A seconda del numero di mod installate, il processo può durare fino a 8 ore. L’avanzamento viene segnalato regolarmente nella console tramite messaggi informativi. Al termine del processo, anche la console te lo indicherà!
Info
Puoi lasciare la mod installata sul server anche dopo aver completato il processo. Continuerà a ottimizzare i chunk durante il funzionamento e lavorerà anche quando non ci sono giocatori sul server.
Distanza visiva
Un intervento molto comune consiste nel ridurre la distanza visiva. Il valore predefinito è di 10 chunk, ma molti giocatori preferiscono impostarne decisamente meno, ad esempio 6-8. Alcuni esagerano con il numero di chunk e lo impostano, per esempio, a 32. In questo caso, il server deve caricare ed elaborare tutti quei chunk, con un notevole impatto sulle prestazioni.
Puoi modificare la distanza visiva di un server Forge nel file di configurazione "server.properties", cambiando il valore "view-distance". Per non limitare troppo l’esperienza di gioco, ti consigliamo di impostarlo su 5-6: il carico sul server può così diminuire fino al 50%.
Abbiamo già dedicato un articolo a questo argomento nella nostra guida, che trovi qui.
Compressione dei dati
Su un server c’è uno scambio continuo di dati tra il server e i giocatori connessi. I movimenti dei giocatori vengono inviati al server, che li inoltra a sua volta a tutti gli altri. Anche le azioni dei giocatori e gli eventi nel mondo, come le esplosioni, fanno parte dei dati trasmessi continuamente.
Per rendere questo scambio più efficiente, puoi raddoppiare la dimensione dei dati compressi, così il server impiegherà solo il 50% delle risorse per scambiare gli stessi dati con i giocatori. Per farlo, modifica il valore "network-compression-threshold" nel file di configurazione "server.properties" e impostalo su 512. Anche su questo argomento abbiamo un articolo nella nostra guida, che trovi qui.
Bukkit
Distanza visiva
Un intervento molto comune consiste nel ridurre la distanza visiva. Il valore predefinito è di 10 chunk, ma molti giocatori preferiscono impostarne decisamente meno, ad esempio 6-8. Alcuni esagerano con il numero di chunk e lo impostano, per esempio, a 32. In questo caso, il server deve caricare ed elaborare tutti quei chunk, con un notevole impatto sulle prestazioni.
Puoi modificare la distanza visiva di un server Bukkit nel file di configurazione "server.properties", cambiando il valore "view-distance". Per non limitare troppo l’esperienza di gioco, ti consigliamo di impostarlo su 5-6: il carico sul server può così diminuire fino al 50%.
Abbiamo già dedicato un articolo a questo argomento nella nostra guida, che trovi qui.
Compressione dei dati
Su un server c’è uno scambio continuo di dati tra il server e i giocatori connessi. I movimenti dei giocatori vengono inviati al server, che li inoltra a sua volta a tutti gli altri. Anche le azioni dei giocatori e gli eventi nel mondo, come le esplosioni, fanno parte dei dati trasmessi continuamente.
Per rendere questo scambio più efficiente, puoi raddoppiare la dimensione dei dati compressi, così il server impiegherà solo il 50% delle risorse per scambiare gli stessi dati con i giocatori. Per farlo, modifica il valore "network-compression-threshold" nel file di configurazione "server.properties" e impostalo su 512. Anche su questo argomento abbiamo un articolo nella nostra guida, che trovi qui.
Limiti di generazione
In questo passaggio riduciamo leggermente la frequenza generale di generazione dei mob sul server. La differenza rispetto ai valori predefiniti è appena percettibile. Tuttavia, in alcuni casi, ad esempio nelle farm di mob, la farm potrebbe non funzionare come previsto.
Per modificare queste impostazioni, devi intervenire sul file di configurazione "bukkit.yml". Cambia i seguenti valori in "spawn-limits":
monsters: 50 #Predefinito: 70
animals: 10 #Predefinito: 15
water-animals: 3 #Predefinito: 5
ambient: 4 #Predefinito: 15
Info
Se vuoi, puoi naturalmente modificare i valori a tuo piacimento. In caso contrario, quelli indicati sopra rappresentano un ottimo compromesso.
Per ottimizzare ulteriormente la generazione, modifica anche il valore "monster-spawns" nella voce "ticks-per" di "bukkit.yml":
monster-spawns: 2 #Predefinito: 1
Se, ad esempio, si verifica un problema generale con i mostri (che puoi individuare, per esempio, nel report di timing), puoi impostare il valore fino a 5. Osserva il comportamento del server con ogni valore per trovare quello più adatto al tuo server.
Gestione dei chunk
Minecraft utilizza i cosiddetti chunk. Ogni chunk è composto da 16x16 blocchi, che vengono raggruppati per rappresentare visivamente il mondo sul client. Il server lavora quindi solo con i chunk e carica nella RAM quelli necessari. Più chunk vengono caricati ed elaborati continuamente dal server, più risorse sono necessarie, fino a mettere a dura prova il server in alcune situazioni.
Con le impostazioni predefinite, i server non scaricano mai i chunk caricati. Di conseguenza, in alcuni casi la RAM viene utilizzata intensamente e ne serve una quantità enorme. Le prestazioni del server ne risentono notevolmente, perché il carico di elaborazione continua ad aumentare.
Per fare in modo che il server carichi solo i chunk di cui ha bisogno in quel momento, puoi modificare la seguente opzione in "chunk-gc" nel file "bukkit.yml":
period-in-ticks: 300 #Predefinito: 600
Info
Il parametro aggiuntivo precedente "load-threshold" non è più disponibile nelle versioni attuali di Paper/Spigot/Bukkit. Inoltre, Paper limita già "period-in-ticks" a un massimo di 20 tick (1 secondo) lato server: su un server basato su Paper (ad esempio Paper Spigot), quindi, un valore più alto non ha praticamente alcun effetto.
L’opzione "period-in-ticks" determina ogni quanto tempo, in secondi, scaricare i chunk. Se lo desideri, puoi ridurre ulteriormente questo valore, ma tieni presente che potrebbe verificarsi un effetto indesiderato: un ciclo continuo.
In questo caso, un chunk verrebbe scaricato anche se poco dopo tornasse a essere necessario. Il server dovrebbe quindi investire nuovamente risorse e tempo per ricaricarlo. Il processo si ripeterebbe continuamente, mettendo il server più sotto pressione rispetto a lasciare i chunk caricati, ad esempio, per un minuto in più.
Spigot
Distanza visiva
Un intervento molto comune consiste nel ridurre la distanza visiva. Il valore predefinito è di 10 chunk, ma molti giocatori preferiscono impostarne decisamente meno, ad esempio 6-8. Alcuni esagerano con il numero di chunk e lo impostano, per esempio, a 32. In questo caso, il server deve caricare ed elaborare tutti quei chunk, con un notevole impatto sulle prestazioni.
Su un server Spigot puoi modificare la distanza visiva nel file di configurazione "spigot.yml", cambiando il valore "view-distance". Per non limitare troppo l’esperienza di gioco, ti consigliamo di impostarlo su 5-6: il carico sul server può così diminuire fino al 50%.
Info
A seconda delle tue preferenze, puoi anche impostare il valore su 4. Ad esempio, è un’ottima soluzione per ridurre il lag sui server con mondi dedicati alle farm che usano la versione 1.13+.
Compressione dei dati
Su un server c’è uno scambio continuo di dati tra il server e i giocatori connessi. I movimenti dei giocatori vengono inviati al server, che li inoltra a sua volta a tutti gli altri. Anche le azioni dei giocatori e gli eventi nel mondo, come le esplosioni, fanno parte dei dati trasmessi continuamente.
Per rendere questo scambio più efficiente, puoi raddoppiare la dimensione dei dati compressi, così il server impiegherà solo il 50% delle risorse per scambiare gli stessi dati con i giocatori. Per farlo, modifica il valore "network-compression-threshold" nel file di configurazione "server.properties" e impostalo su 512. Anche su questo argomento abbiamo un articolo nella nostra guida, che trovi qui.
Limiti di generazione
In questo passaggio riduciamo leggermente la frequenza generale di generazione dei mob sul server. La differenza rispetto ai valori predefiniti è appena percettibile. Tuttavia, in alcuni casi, ad esempio nelle farm di mob, la farm potrebbe non funzionare come previsto.
Per modificare queste impostazioni, devi intervenire sul file di configurazione "bukkit.yml". Cambia i seguenti valori in "spawn-limits":
monsters: 50 #Predefinito: 70
animals: 10 #Predefinito: 15
water-animals: 3 #Predefinito: 5
ambient: 4 #Predefinito: 15
Info
Se vuoi, puoi naturalmente modificare i valori a tuo piacimento. In caso contrario, quelli indicati sopra rappresentano un ottimo compromesso.
Per ottimizzare ulteriormente la generazione, modifica anche il valore "monster-spawns" nella voce "ticks-per" di "bukkit.yml":
monster-spawns: 2 #Predefinito: 1
Se, ad esempio, si verifica un problema generale con i mostri (che puoi individuare, per esempio, nel report di timing), puoi impostare il valore fino a 5. Osserva il comportamento del server con ogni valore per trovare quello più adatto al tuo server.
Gestione dei chunk
Minecraft utilizza i cosiddetti chunk. Ogni chunk è composto da 16x16 blocchi, che vengono raggruppati per rappresentare visivamente il mondo sul client. Il server lavora quindi solo con i chunk e carica nella RAM quelli necessari. Più chunk vengono caricati ed elaborati continuamente dal server, più risorse sono necessarie, fino a mettere a dura prova il server in alcune situazioni.
Con le impostazioni predefinite, i server non scaricano mai i chunk caricati. Di conseguenza, in alcuni casi la RAM viene utilizzata intensamente e ne serve una quantità enorme. Le prestazioni del server ne risentono notevolmente, perché il carico di elaborazione continua ad aumentare.
Per fare in modo che il server carichi solo i chunk di cui ha bisogno in quel momento, puoi modificare la seguente opzione in "chunk-gc" nel file "bukkit.yml":
period-in-ticks: 300 #Predefinito: 600
Info
Il parametro aggiuntivo precedente "load-threshold" non è più disponibile nelle versioni attuali di Paper/Spigot/Bukkit. Inoltre, Paper limita già "period-in-ticks" a un massimo di 20 tick (1 secondo) lato server: su un server basato su Paper (ad esempio Paper Spigot), quindi, un valore più alto non ha praticamente alcun effetto.
L’opzione "period-in-ticks" determina ogni quanto tempo, in secondi, scaricare i chunk. Se lo desideri, puoi ridurre ulteriormente questo valore, ma tieni presente che potrebbe verificarsi un effetto indesiderato: un ciclo continuo.
In questo caso, un chunk verrebbe scaricato anche se poco dopo tornasse a essere necessario. Il server dovrebbe quindi investire nuovamente risorse e tempo per ricaricarlo. Il processo si ripeterebbe continuamente, mettendo il server più sotto pressione rispetto a lasciare i chunk caricati, ad esempio, per un minuto in più.
Raggio di generazione
I mob possono generarsi solo a determinate distanze dai giocatori. In questo caso riduciamo leggermente la frequenza, per evitare problemi con la generazione dei mob. Questa impostazione è molto importante, perché alcune delle impostazioni di generazione sono già state descritte sopra.
Modifichiamo la seguente impostazione in "world-settings" nel file "spigot.yml":
mob-spawn-range: 3 #Predefinito: 4
Raggio di attivazione delle entità
Qui definiamo quando le entità, ovvero gli animali e i mostri, vengono attivate. In questo modo, ad esempio, gli animali possono muoversi e i mostri individuare i giocatori. In linea di principio, la funzione è attiva per tutti i mob, ma in una sorta di modalità standby. Anche in standby i mob possono muoversi e individuare i giocatori, ma lo fanno, ad esempio, molto lentamente, così il server non deve impiegare molte risorse.
Anche queste modifiche vanno effettuate in "entity-activation-range" nel file "spigot.yml". Ti consigliamo i seguenti valori:
animals: 6 #Predefinito: 32
monsters: 16 #Predefinito: 32
misc: 2 #Predefinito: 16
water: 6 #Predefinito: 6
tick-inactive-villagers: true #Predefinito: true
Ottimizzazione delle tramogge
Le tramogge sono una parte molto importante di Minecraft, ma per i server possono essere una vera spina nel fianco! Per ogni tramoggia posizionata, il server deve controllare 20 volte al secondo se c’è un oggetto da raccogliere. Anche spostare gli oggetti da una tramoggia all’altra o in un baule consuma preziose risorse!
Per migliorare la situazione, aumentiamo gli intervalli di tempo tra le operazioni eseguite dal server. Con i valori indicati, l’operazione verrà eseguita e controllata ogni 3 secondi. Le velocità di trasferimento non cambieranno. Tuttavia, gli orologi di redstone costruiti con le tramogge potrebbero smettere di funzionare correttamente.
Per modificare le impostazioni, cambia i seguenti valori nel file "spigot.yml":
hopper-transfer: 24 #Predefinito: 8
hopper-check: 24 #Predefinito: 8
hopper-amount: 3 #Predefinito: 1
Collisioni
A partire dalla versione 1.9 di Minecraft sono presenti le collisioni, che, ad esempio, impediscono ai giocatori di sovrapporsi. Qui definiamo la frequenza generale delle collisioni tra entità. Questo può mettere a dura prova il server, soprattutto nelle farm di mob con molti mob ammassati in poco spazio.
Per modificare l’impostazione, cambia il seguente valore in "spigot.yml":
max-entity-collisions: 1 #Predefinito: 8
Le collisioni tra mob non hanno effetti significativi, quindi puoi ridurre il valore. Questa impostazione non si applica ai giocatori, ma solo ai mob!
Raggio di fusione
Il raggio di fusione determina quali oggetti e punti esperienza vengono raggruppati, riducendo il numero di entità che il server deve elaborare. Aumentare il raggio può essere utile ai giocatori, soprattutto sui server in cui ci sono molti oggetti a terra. Anche in questo caso, però, è importante trovare il giusto equilibrio: se il server deve controllare un’area troppo ampia, il consumo di risorse aumenta e può verificarsi un nuovo tipo di lag.
Per modificare l’impostazione, cambia i seguenti valori in "merge-radius" nel file "spigot.yml":
item: 4.0 #Predefinito: 2.5
exp: 6.0 #Predefinito: 3.0
Info
Non impostare valori superiori a 8: potrebbe verificarsi il lag descritto sopra!
Paper Spigot
Info
A partire da Paper 1.19 non esiste più un unico file "paper.yml". Il vecchio file è stato suddiviso in più file nella cartella "config": "paper-global.yml" (impostazioni valide per tutto il server) e "paper-world-defaults.yml" (valori predefiniti per tutti i mondi, modificabili per ogni mondo in un file "paper-world.yml" dedicato). I file "bukkit.yml" e "spigot.yml" non sono interessati da questa modifica e continuano a essere utilizzati nello stesso modo. Poiché Paper modifica di tanto in tanto i nomi e i percorsi di alcune impostazioni, in caso di discrepanze ti consigliamo di consultare i commenti nel file di configurazione corrispondente o la documentazione ufficiale di Paper.
Distanza visiva
Un intervento molto comune consiste nel ridurre la distanza visiva. Il valore predefinito è di 10 chunk, ma molti giocatori preferiscono impostarne decisamente meno, ad esempio 6-8. Alcuni esagerano con il numero di chunk e lo impostano, per esempio, a 32. In questo caso, il server deve caricare ed elaborare tutti quei chunk, con un notevole impatto sulle prestazioni.
Su un server Spigot (Paper) puoi modificare la distanza visiva nel file di configurazione "spigot.yml", cambiando il valore "view-distance". Per non limitare troppo l’esperienza di gioco, ti consigliamo di impostarlo su 5-6: il carico sul server può così diminuire fino al 50%.
Info
A seconda delle tue preferenze, puoi anche impostare il valore su 4. Ad esempio, è un’ottima soluzione per ridurre il lag sui server con mondi dedicati alle farm che usano la versione 1.13+.
Compressione dei dati
Su un server c’è uno scambio continuo di dati tra il server e i giocatori connessi. I movimenti dei giocatori vengono inviati al server, che li inoltra a sua volta a tutti gli altri. Anche le azioni dei giocatori e gli eventi nel mondo, come le esplosioni, fanno parte dei dati trasmessi continuamente.
Per rendere questo scambio più efficiente, puoi raddoppiare la dimensione dei dati compressi, così il server impiegherà solo il 50% delle risorse per scambiare gli stessi dati con i giocatori. Per farlo, modifica il valore "network-compression-threshold" nel file di configurazione "server.properties" e impostalo su 512. Anche su questo argomento abbiamo un articolo nella nostra guida, che trovi qui.
Limiti di generazione
In questo passaggio riduciamo leggermente la frequenza generale di generazione dei mob sul server. La differenza rispetto ai valori predefiniti è appena percettibile. Tuttavia, in alcuni casi, ad esempio nelle farm di mob, la farm potrebbe non funzionare come previsto.
Per modificare queste impostazioni, devi intervenire sul file di configurazione "bukkit.yml". Cambia i seguenti valori in "spawn-limits":
monsters: 50 #Predefinito: 70
animals: 10 #Predefinito: 15
water-animals: 3 #Predefinito: 5
ambient: 4 #Predefinito: 15
Info
Se vuoi, puoi naturalmente modificare i valori a tuo piacimento. In caso contrario, quelli indicati sopra rappresentano un ottimo compromesso. Su un server Paper Spigot puoi impostare gli stessi valori anche in "entities.spawning.spawn-limits" nel file "paper-world-defaults.yml", dove avranno la precedenza.
Per ottimizzare ulteriormente la generazione, modifica anche il valore "monster-spawns" nella voce "ticks-per" di "bukkit.yml":
monster-spawns: 2 #Predefinito: 1
Se, ad esempio, si verifica un problema generale con i mostri (che puoi individuare, per esempio, nel report di timing), puoi impostare il valore fino a 5. Osserva il comportamento del server con ogni valore per trovare quello più adatto al tuo server.
Gestione dei chunk
Minecraft utilizza i cosiddetti chunk. Ogni chunk è composto da 16x16 blocchi, che vengono raggruppati per rappresentare visivamente il mondo sul client. Il server lavora quindi solo con i chunk e carica nella RAM quelli necessari. Più chunk vengono caricati ed elaborati continuamente dal server, più risorse sono necessarie, fino a mettere a dura prova il server in alcune situazioni.
Con le impostazioni predefinite, i server non scaricano mai i chunk caricati. Di conseguenza, in alcuni casi la RAM viene utilizzata intensamente e ne serve una quantità enorme. Le prestazioni del server ne risentono notevolmente, perché il carico di elaborazione continua ad aumentare.
Per fare in modo che il server carichi solo i chunk di cui ha bisogno in quel momento, puoi modificare la seguente opzione in "chunk-gc" nel file "bukkit.yml":
period-in-ticks: 300 #Predefinito: 600
Info
Il parametro aggiuntivo precedente "load-threshold" non è più disponibile nelle versioni attuali di Paper/Spigot/Bukkit. Inoltre, Paper limita già "period-in-ticks" a un massimo di 20 tick (1 secondo) lato server: su un server basato su Paper (ad esempio Paper Spigot), quindi, un valore più alto non ha praticamente alcun effetto.
L’opzione "period-in-ticks" determina ogni quanto tempo, in secondi, scaricare i chunk. Se lo desideri, puoi ridurre ulteriormente questo valore, ma tieni presente che potrebbe verificarsi un effetto indesiderato: un ciclo continuo.
In questo caso, un chunk verrebbe scaricato anche se poco dopo tornasse a essere necessario. Il server dovrebbe quindi investire nuovamente risorse e tempo per ricaricarlo. Il processo si ripeterebbe continuamente, mettendo il server più sotto pressione rispetto a lasciare i chunk caricati, ad esempio, per un minuto in più.
Raggio di generazione
I mob possono generarsi solo a determinate distanze dai giocatori. In questo caso riduciamo leggermente la frequenza, per evitare problemi con la generazione dei mob. Questa impostazione è molto importante, perché alcune delle impostazioni di generazione sono già state descritte sopra.
Modifichiamo la seguente impostazione in "world-settings" nel file "spigot.yml":
mob-spawn-range: 3 #Predefinito: 4
Generatori di mob
I generatori di mob sono molto usati, soprattutto sui server City Build, e talvolta sono presenti in gran numero. Generano sempre più mob sul server, il che può causare molti problemi.
Questa opzione modifica leggermente il comportamento di generazione dei generatori di mob, facendo sì che il server li attivi a brevi intervalli. Per farlo, cambia il seguente valore in "tick-rates" nel file "paper-world-defaults.yml":
mob-spawner: 3 #Predefinito: 1
Info
Il valore indicato non cambia troppo il comportamento e ha un impatto minimo sull’esperienza di gioco.
Raggio di attivazione delle entità
Qui definiamo quando le entità, ovvero gli animali e i mostri, vengono attivate. In questo modo, ad esempio, gli animali possono muoversi e i mostri individuare i giocatori. In linea di principio, la funzione è attiva per tutti i mob, ma in una sorta di modalità standby. Anche in standby i mob possono muoversi e individuare i giocatori, ma lo fanno, ad esempio, molto lentamente, così il server non deve impiegare molte risorse.
Anche queste modifiche vanno effettuate in "entity-activation-range" nel file "spigot.yml". Ti consigliamo i seguenti valori:
animals: 6 #Predefinito: 32
monsters: 16 #Predefinito: 32
misc: 2 #Predefinito: 16
water: 6 #Predefinito: 6
tick-inactive-villagers: true #Predefinito: true
Ottimizzazione delle tramogge
Le tramogge sono una parte molto importante di Minecraft, ma per i server possono essere una vera spina nel fianco! Per ogni tramoggia posizionata, il server deve controllare 20 volte al secondo se c’è un oggetto da raccogliere. Anche spostare gli oggetti da una tramoggia all’altra o in un baule consuma preziose risorse!
Per migliorare la situazione, aumentiamo gli intervalli di tempo tra le operazioni eseguite dal server. Con i valori indicati, l’operazione verrà eseguita e controllata ogni 3 secondi. Le velocità di trasferimento non cambieranno. Tuttavia, gli orologi di redstone costruiti con le tramogge potrebbero smettere di funzionare correttamente.
Per modificare le impostazioni, cambia i seguenti valori nel file "spigot.yml":
hopper-transfer: 24 #Predefinito: 8
hopper-check: 24 #Predefinito: 8
hopper-amount: 3 #Predefinito: 1
Collisioni
A partire dalla versione 1.9 di Minecraft sono presenti le collisioni, che, ad esempio, impediscono ai giocatori di sovrapporsi. Qui definiamo la frequenza generale delle collisioni tra entità. Questo può mettere a dura prova il server, soprattutto nelle farm di mob con molti mob ammassati in poco spazio.
Su un server Paper Spigot, questo valore non si trova più in "spigot.yml", ma in "collisions" nel file "paper-world-defaults.yml":
max-entity-collisions: 1 #Predefinito: 8
Le collisioni tra mob non hanno effetti significativi, quindi puoi ridurre il valore. Questa impostazione non si applica ai giocatori, ma solo ai mob!
Raggio di fusione
Il raggio di fusione determina quali oggetti e punti esperienza vengono raggruppati, riducendo il numero di entità che il server deve elaborare. Aumentare il raggio può essere utile ai giocatori, soprattutto sui server in cui ci sono molti oggetti a terra. Anche in questo caso, però, è importante trovare il giusto equilibrio: se il server deve controllare un’area troppo ampia, il consumo di risorse aumenta e può verificarsi un nuovo tipo di lag.
Per modificare l’impostazione, cambia i seguenti valori in "merge-radius" nel file "spigot.yml":
item: 4.0 #Predefinito: 2.5
exp: 6.0 #Predefinito: 3.0
Info
Non impostare valori superiori a 8: potrebbe verificarsi il lag descritto sopra!
Esplosioni
In Paper Spigot sono state riscritte molte componenti dei server di gioco Minecraft per migliorarne le prestazioni. Questo vale anche per le esplosioni! Il software le gestisce in modo più efficiente, evitando lag importanti sul server.
Per farlo, modifica il seguente valore in "environment" nel file "paper-world-defaults.yml":
optimize-explosions: true #Predefinito: false
Bauli
Anche i bauli offrono una piccola opportunità di ottimizzazione. Se un gatto è seduto su un baule, non è possibile aprirlo. Per verificarlo, il server deve controllare tutti i mob in un determinato raggio e vedere se uno di loro è seduto sul baule. È un’operazione che richiede molto tempo e viene eseguita ogni volta che si apre un baule!
Puoi disattivare questa opzione modificando il seguente valore in "entities.behavior" nel file "paper-world-defaults.yml":
Gli inventari vengono usati spesso, ma non sono tutti uguali: anche un baule o un banco da lavoro, ad esempio, è un inventario. Con questa modifica puoi concedere al server un po’ di respiro senza che nessuno se ne accorga! In pratica, imposti il numero di tick dopo il quale il server aggiorna ogni inventario.
Per farlo, modifica il seguente valore in "tick-rates" nel file "paper-world-defaults.yml":
container-update: 3 #Predefinito: 1
Info
Non impostare un valore superiore a 5, altrimenti l’inventario potrebbe diventare instabile. Nelle modalità di gioco come SurvivalGames, in cui i giocatori cercano di accedere ai bauli al centro e prendere gli oggetti migliori, non modificare il valore: lascialo impostato su "1".
Salvataggio dei dati dei chunk
Quando apporti modifiche a un chunk, queste non vengono scritte subito sul disco, ma vengono prima caricate nella RAM. Tuttavia, tutte le modifiche vengono salvate molto spesso, causando talvolta un lag intenso, soprattutto quando il server deve salvare modifiche importanti.
Con questa modifica riduciamo il numero massimo di chunk che possono essere salvati in una singola operazione. La modifica comporta un maggiore utilizzo della RAM in alcune situazioni, perché le modifiche rimangono più a lungo in memoria!
Modifica la seguente impostazione in "chunks" nel file "paper-world-defaults.yml":
La redstone viene usata spesso per costruire circuiti, talvolta enormi. Sui server pubblici è talvolta il punto più debole di quasi il 90% dei server, perché i circuiti di grandi dimensioni possono causare un lag intenso. Qui utilizziamo un’elaborazione alternativa della redstone di Paper Spigot, che la rende quasi innocua mantenendo le stesse funzionalità di Vanilla!
Per farlo, modifica la seguente impostazione in "misc" nel file "paper-world-defaults.yml":
Oltre a "VANILLA", puoi scegliere "EIGENCRAFT" e "ALTERNATE_CURRENT". Secondo Paper, "ALTERNATE_CURRENT" è attualmente l’alternativa più veloce e quella che si discosta meno dal comportamento di Vanilla.
Info
Attenzione! In alcune situazioni, questa impostazione può modificare notevolmente il comportamento della redstone!
Hosting server da 2,49 € / mese, subito online, protezione DDoS inclusa.