Un server Minecraft che si chiude un secondo dopo l'avvio sembra un mistero, e quasi mai lo è. Il server stampa il motivo prima di uscire, in console o in logs/latest.log, e nella stragrande maggioranza dei casi quella riga indica direttamente il problema. Questa guida copre le cinque cause alla base di quasi ogni avvio fallito, come riconoscerle dal messaggio di errore e cosa cambiare.
Leggi il log prima di cambiare qualsiasi cosa
Apri logs/latest.log nella cartella del server e scorri fino in fondo. Le ultime righe, e la prima riga dell'ultimo stack trace, ti dicono quale delle cause qui sotto hai. Tirare a indovinare è ciò che trasforma una riparazione di due minuti in una serata, perché ogni soluzione qui è diversa e nessuna aiuta con le altre.
Su FluxCraft console e file di log sono entrambi nella dashboard, quindi puoi leggere il crash senza SSH né trasferimento di file. Se il server si riavvia in loop, il log del tentativo precedente si trova in logs/ come archivio con timestamp.
| Cosa dice il log | Causa | Sezione qui sotto |
|---|---|---|
| "You need to agree to the EULA" | EULA non accettata | Causa 1 |
| "Unsupported class file major version" o UnsupportedClassVersionError | Versione di Java sbagliata | Causa 2 |
| "Could not reserve enough space for object heap" o OutOfMemoryError | Memoria configurata male | Causa 3 |
| "FAILED TO BIND TO PORT" o "Address already in use" | Porta in uso | Causa 4 |
| Uno stack trace che indica una specifica mod o un plugin | Conflitto tra mod o plugin | Causa 5 |
Causa 1: l'EULA non è stata accettata
Al primissimo avvio il server genera eula.txt, mostra un avviso sull'accettazione della licenza di Mojang ed esce immediatamente. È di gran lunga il motivo più comune per cui un server nuovo di zecca "non funziona", e non è affatto un errore: è il server che aspetta te.
Apri eula.txt, cambia eula=false in eula=true, salva e riavvia. Nient'altro nel file conta. Se usi un host gestito l'EULA viene normalmente accettata per te al momento della distribuzione, ed è per questo che questo problema colpisce soprattutto chi configura un server a mano.
Causa 2: la versione di Java è sbagliata
È il guasto che confonde di più le persone, perché non sembra un problema di versione. Il server genera UnsupportedClassVersionError, oppure segnala un "Unsupported class file major version", e si ferma. Significa che il jar è stato compilato per un Java più recente di quello con cui lo stai eseguendo.
Il requisito è un minimo, non una corrispondenza esatta. Un Minecraft più vecchio gira perfettamente su un Java più recente. Il problema si verifica solo nell'altra direzione, cioè un Minecraft più recente lanciato su un Java più vecchio. I server con mod ereditano il requisito della versione di gioco a cui punta la loro build di Forge, NeoForge o Fabric.
- Verifica cosa hai davvero con "java -version". Su una macchina con più JDK installati, quello nel tuo PATH non è sempre quello che pensi.
- Se l'errore indica la major version 65 e hai Java 17, ti serve Java 21. Installa la build LTS corrispondente e fai puntare esplicitamente lo script di avvio a essa, invece di affidarti al PATH.
- Su un host gestito se ne occupa l'immagine, quindi scegliere la versione server giusta nella dashboard è tutta la soluzione.
| Versione di Minecraft | Java minimo | Classe di versione del file nell'errore |
|---|---|---|
| 26.1 e successive | Java 25 | 69 |
| 1.20.5 to 1.21.11 | Java 21 | 65 |
| 1.18 to 1.20.4 | Java 17 | 61 |
| 1.12 to 1.17 | Java 8 | 52 |
Causa 3: la memoria è configurata male, non semplicemente insufficiente
Due errori di memoria diversi fanno fallire l'avvio e significano cose opposte. "Could not reserve enough space for object heap" all'avvio significa che hai chiesto in -Xmx più RAM di quella che la macchina può darti, quindi la JVM non parte mai. Un OutOfMemoryError durante l'avvio significa che il valore è troppo basso per quello che stai caricando, cosa molto facile da fare con un modpack grande.
Imposta -Xmx su un valore che la macchina ha davvero, lasciando margine per il sistema operativo e l'overhead della JVM invece di allocare ogni byte. Su una macchina da 4 GB, -Xmx3G è sensato e -Xmx4G no. Vanilla richiede almeno 2 GB; un modpack medio ne vuole 8 GB e uno pesante 16 GB o più.
Un errore che spesso ci si procura da soli è copiare uno script di avvio da un tutorial scritto per un'altra macchina. Se il tuo script dice -Xmx8G e la tua macchina ha 4 GB, il server non partirà mai, a prescindere da cos'altro sistemi.
Causa 4: la porta è già in uso
"FAILED TO BIND TO PORT" o "Address already in use" significa che qualcos'altro occupa la porta, e nove volte su dieci quel qualcosa è un'istanza precedente del tuo stesso server che non si è spenta correttamente. Cerca un processo java vagante e terminalo prima di riavviare.
L'altro caso è due server configurati sulla stessa porta. Java Edition usa per impostazione predefinita TCP 25565 e Bedrock UDP 19132, quindi se fai girare entrambi su una stessa macchina non collidono, ma due server Java sì. Cambia server-port in server.properties per il secondo.
Su un host gestito ogni distribuzione ha la propria porta, quindi questa classe di guasti scompare. È un problema dello self-hosting.
Causa 5: una mod o un plugin impedisce l'avvio
Se il log termina con uno stack trace che nomina un file in plugins/ o mods/, l'hai trovato. Le cause più comuni sono un plugin costruito per una versione diversa di Minecraft, una mod che manca di una dipendenza, o due mod che non possono coesistere. Anche il software del server conta: un plugin Bukkit non gira su vanilla, e una mod Forge non gira su Fabric.
Quando il trace non indica nulla di utile, dividi a metà. Sposta tutto fuori dalla cartella, verifica che il server parta pulito, poi rimetti metà delle cose e riavvia. Quattro o cinque round così isolano qualsiasi conflitto, per quanto grande sia il pack, ed è molto più veloce che leggere i changelog.
Dopo un upgrade della versione di Minecraft, dai per scontato che ogni plugin abbia bisogno di un aggiornamento corrispondente. Aggiornare il jar del server lasciando i plugin sulla vecchia versione è il modo più comune in assoluto in cui un server funzionante smette di avviarsi.
Quando il server parte ma nessuno riesce a entrare
Questo è un problema diverso e il log sarà pulito. Un server che si avvia fino a "Done" è in esecuzione; se i giocatori non riescono a raggiungerlo il problema riguarda l'indirizzo, l'inoltro della porta o online-mode. Verifica di dare alle persone l'indirizzo completo, porta inclusa, e che la porta inoltrata corrisponda a server-port in server.properties.
Su FluxCraft il tuo server ha un proprio indirizzo pubblico su un dominio yourserver.app.runonflux.io, quindi non c'è nessun router di mezzo e nulla da inoltrare.
Una checklist da seguire
In ordine, perché ogni passaggio esclude quelli successivi:
- Apri logs/latest.log e leggi le ultime venti righe. Confrontale con la tabella in cima a questa pagina.
- Verifica che eula.txt contenga eula=true.
- Esegui "java -version" e confrontalo con la tabella delle versioni qui sopra.
- Verifica che -Xmx nello script di avvio sia ampiamente sotto la RAM fisica della macchina.
- Cerca un processo java vagante che occupa la porta, e verifica che nessun secondo server la condivida.
- Se nel trace è indicata una mod o un plugin, rimuovilo. Se non viene indicato nulla, dividi a metà la cartella e testa.
- Dopo un upgrade di versione, aggiorna ogni plugin e mod a una build corrispondente prima di dare la colpa a qualsiasi altra cosa.
Un server che parte ogni volta
La versione Java giusta, l'EULA accettata, la memoria impostata e la porta aperta per te. Scegli un livello di RAM e distribuisci in meno di 30 secondi, con console e log a un clic di distanza. Prima settimana gratis.
Domande frequenti
Perché il mio server Minecraft non si avvia?
Quasi sempre è una di cinque cose: l'EULA non è stata accettata, la versione di Java è troppo vecchia per il jar del server, -Xmx chiede più memoria di quella che la macchina ha, un altro processo occupa la porta, oppure un plugin o una mod genera errori durante il caricamento. Le ultime righe di logs/latest.log indicano quale.
Cosa significa "Unsupported class file major version"?
Il jar del server è stato compilato per una versione di Java più recente di quella che lo sta eseguendo. La major version 69 indica Java 25, 65 indica Java 21, 61 indica Java 17 e 52 indica Java 8. Installa la versione corrispondente e fai puntare direttamente lo script di avvio a essa, invece di affidarti al PATH.
Il mio server si chiude subito senza errori. Cosa c'è che non va?
Al primo avvio è quasi sempre l'EULA. Il server scrive eula.txt, mostra un avviso sull'accettazione della licenza di Mojang ed esce. Imposta eula=true e riavvia. Se non è il primo avvio, leggi logs/latest.log, perché qualcosa viene stampato anche se la finestra si chiude troppo in fretta per vederlo.
Come risolvo "Could not reserve enough space for object heap"?
Abbassa il valore di -Xmx nello script di avvio. Quell'errore significa che hai chiesto alla JVM più memoria di quella che la macchina può fornire, quindi non si avvia mai. Lascia margine per il sistema operativo: su una macchina da 4 GB, -Xmx3G funziona e -Xmx4G no.
Come trovo quale mod fa crashare il mio server?
Leggi prima lo stack trace in fondo a latest.log, perché di solito indica il file. Se non lo fa, dividi a metà: svuota la cartella mods, verifica un avvio pulito, poi rimetti metà delle mod alla volta. Quattro o cinque riavvii isolano qualsiasi conflitto, indipendentemente dalle dimensioni del pack.
Il mio server ha smesso di avviarsi dopo l'aggiornamento di Minecraft. Perché?
Plugin e mod sono costruiti per una specifica versione di Minecraft e non si adattano automaticamente alle successive. Aggiornare il jar del server senza aggiornarli è il modo più comune in cui un server funzionante si rompe. Aggiorna ogni plugin e mod a una build corrispondente alla nuova versione, e verifica che anche il requisito di Java sia cambiato.
Cosa significa "FAILED TO BIND TO PORT"?
Qualcosa è già in ascolto sulla porta che il server vuole usare. Di solito è un'istanza precedente dello stesso server che non si è spenta; termina il processo java vagante. Se fai girare due server Java sulla stessa macchina, cambia server-port in server.properties per il secondo.