Come ridurre il lag del tuo server Minecraft con server.properties
Riduci il lag del tuo server Minecraft gratuito: view-distance, simulation-distance, compressione di rete, Paper e spark spiegati passo dopo passo.
Il tuo server Minecraft gratuito inizia ad andare a scatti appena si collegano alcuni amici? Buone notizie: buona parte del lag si risolve in un unico file, server.properties. Questa guida ti spiega quali impostazioni modificare, quali valori scegliere e come misurare il risultato.
Perché ogni impostazione conta su un server gratuito
Un server gratuito ha risorse limitate: poca memoria, una parte di processore condivisa e uno spazio di archiviazione ridotto. Minecraft però è esigente: calcola il mondo 20 volte al secondo, carica continuamente chunk e muove centinaia di entità. Le impostazioni predefinite sono pensate per una macchina potente. Adattandole al tuo server, puoi ottenere partite fluide senza cambiare nient'altro.
Lag del server o lag di rete: individua prima il problema
Prima di toccare qualsiasi cosa, scopri quale tipo di lag stai affrontando. I due hanno cause e soluzioni diverse.
| Tipo | Sintomi | Indicatore |
|---|---|---|
| Lag del server | I blocchi rotti ricompaiono, i mob si bloccano, le fornaci sono lente, tutti i giocatori ne risentono insieme | TPS sotto 20, MSPT sopra 50 ms |
| Lag di rete | Solo un giocatore va a scatti, viene riportato indietro (rubber-banding), le sue azioni arrivano in ritardo | Ping alto (barre di connessione nella lista Tab) |
TPS e MSPT
Il server fa avanzare il gioco in tick. L'obiettivo è di 20 tick al secondo (TPS), cioè un budget di 50 millisecondi per tick (MSPT). Finché l'MSPT resta sotto i 50 ms, il server mantiene i suoi 20 TPS. Oltre, accumula ritardo e tutti se ne accorgono.
Su Paper o Purpur, due comandi mostrano questi valori direttamente in gioco:
/tps
/mspt
Il ping
Se i TPS restano a 20 ma un giocatore si lamenta, il problema dipende probabilmente dalla sua connessione o dalla distanza dal server. Le impostazioni di questo articolo non cambieranno molto, a parte la compressione di rete.
Le impostazioni di server.properties che contano
Il file server.properties si trova nella cartella principale del server. Arresta il server prima di modificarlo, poi riavvialo per applicare le modifiche.
| Chiave | Predefinito | Consigliato su un server gratuito | Effetto |
|---|---|---|---|
view-distance | 10 | da 6 a 8 | Raggio di chunk inviati ai giocatori |
simulation-distance | 10 | da 4 a 6 | Raggio in cui il mondo viene simulato |
max-players | 20 | In base alle risorse | Giocatori connessi contemporaneamente |
network-compression-threshold | 256 | 256 o 512 | Dimensione oltre la quale i pacchetti vengono compressi |
entity-broadcast-range-percentage | 100 | da 50 a 80 | Distanza di invio delle entità |
sync-chunk-writes | true | true (false con cautela) | Scrittura sincrona dei chunk |
max-tick-time | 60000 | 60000 | Protezione contro un server bloccato |
view-distance: la distanza di visualizzazione
È il raggio, in chunk, della zona inviata a ogni giocatore. È anche l'impostazione più costosa, perché il numero di chunk caricati cresce con il quadrato della distanza. Con un valore di 10, ogni giocatore carica un'area di 21 × 21 = 441 chunk. Con 6 ne carica solo 13 × 13 = 169, circa 2,6 volte meno.
view-distance=6
I giocatori possono scegliere una distanza inferiore nelle loro opzioni, ma mai superiore a quella del server.
simulation-distance: dove il mondo prende vita
Da Minecraft 1.18, la simulazione è separata dalla visualizzazione. simulation-distance stabilisce il raggio in cui le entità si muovono, le coltivazioni crescono e la redstone funziona. Più lontano, i chunk restano visibili ma fermi. Un valore da 4 a 6 basta per la maggior parte dei server tra amici.
simulation-distance=4
Ricorda che le farm automatiche funzionano solo se un giocatore è entro il raggio di simulazione.
max-players: un numero di giocatori realistico
Ogni giocatore carica la propria area di chunk e porta con sé delle entità. Meglio 8 giocatori su un server fluido che 20 su un server che va a scatti. Fissa un limite realistico in base alle risorse del tuo server e aumentalo se i TPS restano stabili.
network-compression-threshold: la compressione di rete
Questa impostazione indica la dimensione, in byte, oltre la quale i pacchetti vengono compressi. La compressione fa risparmiare banda ma consuma processore. Su un server con CPU limitata, un valore più alto come 512 riduce il lavoro di compressione. Il valore -1 disattiva del tutto la compressione: riservalo ai server dietro un proxy (BungeeCord, Velocity) sulla stessa rete.
entity-broadcast-range-percentage: la portata delle entità
Questa percentuale regola la distanza a cui le entità (mob, animali, oggetti a terra, cornici) vengono inviate ai giocatori. Abbassarla tra 50 e 80 riduce i dati trasmessi sui server pieni di animali o decorazioni. I giocatori vedono semplicemente apparire le entità un po' più vicino.
sync-chunk-writes: la scrittura dei chunk
Attiva per impostazione predefinita, fa sì che il server scriva i chunk sul disco in modo sincrono. Protegge il mondo dalla corruzione in caso di crash, ma può rallentare i salvataggi su uno spazio di archiviazione lento. Impostarla su false può rendere il server più fluido, con il rischio di perdere le ultime modifiche in caso di crash. Fallo solo se esegui regolarmente il backup del tuo mondo.
max-tick-time: una protezione, non un'impostazione di prestazioni
Questo valore, in millisecondi, è la durata massima di un tick prima che il server consideri di essere bloccato e si arresti da solo. Il valore predefinito è 60000, cioè un minuto. Non riduce il lag. Lascia il valore predefinito: con -1 la protezione è disattivata e un server bloccato resta fermo invece di arrestarsi.
Esempio di configurazione per un server gratuito
view-distance=6
simulation-distance=4
max-players=10
network-compression-threshold=256
entity-broadcast-range-percentage=75
sync-chunk-writes=true
max-tick-time=60000
Parti da questi valori, gioca qualche sessione con i tuoi amici e poi aumenta view-distance di un punto se il server resta stabile.
Pregenerare il mondo
Generare nuovi chunk è uno dei compiti più pesanti per un server, soprattutto quando i giocatori esplorano velocemente con le elitre. Pregenerare la mappa prima di aprire il server elimina questi picchi: la nostra guida completa al plugin Chunky spiega come fare.
Valuta anche di limitare la dimensione del mondo con un confine, per non riempire lo spazio di archiviazione:
/worldborder center 0 0
/worldborder set 6000
Andare oltre con Paper
Se il tuo server gira ancora in vanilla, passare a Paper (o a Purpur, basato su Paper) è spesso il miglioramento più grande. Questo software ottimizza molte parti del gioco restando compatibile con la maggior parte dei plugin Spigot. Aggiunge anche file di configurazione avanzati, tra cui config/paper-world-defaults.yml, che si applica a tutti i tuoi mondi.
Ecco alcune impostazioni molto usate. I loro nomi possono cambiare da una versione all'altra: verificali nella documentazione della tua versione di Paper.
environment:
optimize-explosions: true # calcolo delle esplosioni più leggero
hopper:
cooldown-when-full: true # una tramoggia piena aspetta prima di riprovare
disable-move-event: false # true alleggerisce le tramogge, ma può disturbare alcuni plugin di protezione
entities:
armor-stands:
tick: false # supporti per armature più leggeri, ma meno reattivi
Modifica una sola impostazione alla volta e misurane l'effetto prima di passare alla successiva. Altrimenti non saprai cosa ha davvero aiutato.
Misurare con spark
spark è uno strumento di profilazione gratuito che mostra con precisione cosa consuma le risorse del tuo server. A seconda della tua versione di Paper, potrebbe essere già integrato; altrimenti installalo come plugin da Modrinth o SpigotMC.
| Comando | Utilità |
|---|---|
/spark tps | TPS, MSPT e utilizzo del processore |
/spark health | Stato generale: memoria, disco, TPS |
/spark profiler start | Avvia l'analisi |
/spark profiler stop | Interrompe l'analisi e genera un link al report |
Avvia il profiler durante un momento di lag, lascialo girare qualche minuto e poi apri il report. Vedrai se il tempo se ne va nelle entità, nella generazione dei chunk o in un plugin specifico.
Riepilogo
- Verifica prima se si tratta di lag del server (TPS, MSPT) o di rete (ping).
- Riduci
view-distanceesimulation-distance. - Fissa un numero di giocatori adatto alle tue risorse.
- Regola la compressione di rete e la portata delle entità.
- Pregenera il tuo mondo e imposta un confine.
- Passa a Paper e misura ogni modifica con spark.
Conclusione
Un server Minecraft gratuito può funzionare in modo perfettamente fluido se le sue impostazioni sono adatte alle sue risorse. Inizia dalla distanza di visualizzazione e di simulazione, che danno il miglioramento più visibile, poi affina con Paper e spark. Procedi a piccoli passi: sono le misurazioni, non le intuizioni, a dover guidare le tue scelte.