Questa guida installa un server Minecraft Java Edition (Vanilla o Paper) su Windows o su un VPS Linux Ubuntu/Debian, apre la porta 25565 e lo avvia automaticamente. Calcola 20-40 minuti; contano soprattutto la RAM (minimo 4 GB consigliati per pochi giocatori, di più con i plugin) e una versione di Java adatta a quella del gioco.
Installazione passo dopo passo
Scegli il software: Vanilla (ufficiale Mojang) o Paper (plugin, prestazioni migliori).
Installa la versione di Java richiesta dalla tua versione di Minecraft.
Crea una cartella dedicata e inseriscici il .jar del server.
Avvia il server una volta con java -Xms -Xmx -jar … --nogui; si ferma chiedendo di accettare l'EULA.
Modifica eula.txt (eula=true) e riavvia: il mondo viene generato e server.properties creato.
Prova in locale: Multigiocatore > Aggiungi server > localhost.
Configura server.properties (online-mode, white-list, motd, max-players) con i nostri strumenti.
Apri la porta 25565/TCP su firewall della macchina, del provider e del router.
Crea un servizio systemd (Linux) per l'avvio automatico e il ripristino dopo i crash.
Pianifica backup e riavvii, poi aggiungi il tuo server su game-rank.com.
1. Requisiti
I requisiti variano molto con giocatori e plugin; le cifre di RAM sono indicative, e la documentazione PaperMC consiglia 6-10 GB per applicare le sue flag, indipendentemente dal numero di giocatori.
- Java: secondo PaperMC, l'attuale Paper richiede Java 25 o superiore; le versioni da 1.20 a 1.21.11 usano Java 21 e da 1.17 a 1.19 Java 17. Controlla la pagina Getting started di PaperMC per la tua versione.
- SO: Windows 10/11, Windows Server o Linux (Ubuntu/Debian in questa guida); CPU: conta soprattutto la prestazione single-core (il gioco è per lo più single-thread).
- RAM indicativa: 2-4 GB per pochi giocatori senza plugin; 6-10 GB o più per una community (vedi Aikar's flags). Lascia 1-1,5 GB al sistema. Disco: SSD, alcuni GB più la dimensione del mondo.
- Account: per ospitare non serve una chiave di licenza, ma i giocatori con online-mode=true devono possedere Minecraft Java. Devi accettare l'EULA di Minecraft.
2. Installazione locale (Windows)
Scarica il jar Vanilla da minecraft.net (pagina di download del server) o Paper da papermc.io/downloads in una cartella vuota come C:\minecraft. Crea start.bat con il contenuto qui sotto (adatta nome del jar e RAM, o generalo con il nostro strumento «launch-flags»), eseguilo, imposta eula=true in eula.txt ed eseguilo di nuovo. Connettiti con l'indirizzo localhost.
@echo off
cd /d C:\minecraft
java -Xms4G -Xmx4G -jar paper.jar --nogui
pause3. Installazione su VPS Linux (Ubuntu/Debian)
Crea un utente dedicato non root, installa Java (il pacchetto openjdk deve corrispondere alla versione richiesta; se la tua distribuzione non offre quella voluta, usa il repository di un fornitore JDK come Adoptium) e scarica il jar da papermc.io/downloads (copia il link della build desiderata). Sostituisci <URL_DEL_JAR> con quel link.
sudo adduser --system --group --home /opt/minecraft minecraft
sudo apt update && sudo apt install -y openjdk-21-jre-headless curl
sudo -u minecraft mkdir -p /opt/minecraft
sudo -u minecraft curl -L -o /opt/minecraft/paper.jar "<JAR_URL>"
# Generate start.sh with the launch-flags tool, then:
sudo chmod +x /opt/minecraft/start.sh
cd /opt/minecraft && sudo -u minecraft ./start.sh # first run, then set eula=true in eula.txt4. Porte da aprire
Valori predefiniti secondo il wiki di Minecraft (server.properties). Per cambiare una porta: server-port, query.port, rcon.port. Se la cambi, apri la nuova porta.
- 25565/TCP — connessione dei giocatori (server-port). Da aprire.
- 25565/UDP — richieste «query» (enable-query=false di default; query.port è una porta UDP). Aprila solo se lo attivi.
- 25575/TCP — RCON (enable-rcon=false di default). Non esporlo mai a Internet; tienilo locale o dietro una VPN.
- Firewall del provider (OVH, Hetzner, Scaleway… «security group» / firewall di rete): consenti 25565/TCP anche lì, oltre al firewall di sistema.
- Hosting locale: inoltra 25565/TCP dal router all'IP locale del PC (NAT). Test: dall'esterno (rete mobile), aggiungi il tuo IP pubblico in Minecraft o esegui «nc -vz IP 25565».
# Linux (ufw)
sudo ufw allow 25565/tcp
sudo ufw status
# Windows (PowerShell administrateur / admin)
# netsh advfirewall firewall add rule name="Minecraft Java" dir=in action=allow protocol=TCP localport=255655. Avvio automatico (servizio systemd)
Salva questo file come /etc/systemd/system/minecraft.service poi: sudo systemctl daemon-reload && sudo systemctl enable --now minecraft. All'arresto systemd invia SIGTERM: il server Java lo intercetta e salva il mondo correttamente. Disattiva il ciclo di riavvio di start.sh (se ne occupa Restart=on-failure). Per una console interattiva usa screen/tmux o RCON; su Windows basta un'attività pianificata «all'avvio» che esegue start.bat. Alternativa: Docker con il nostro strumento docker-compose.
[Unit]
Description=Minecraft Java server
After=network-online.target
Wants=network-online.target
[Service]
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/opt/minecraft/start.sh
Restart=on-failure
RestartSec=10
TimeoutStopSec=120
[Install]
WantedBy=multi-user.target6. Aggiornamenti, backup e riavvii
Aggiornamento: ferma il server, fai il backup, sostituisci il .jar con la nuova versione (stesso nome, o aggiorna start.sh) e riavvia; verifica che la versione di Java sia ancora compatibile. Con Paper, leggi le note di rilascio prima di un salto di versione maggiore. Lo script qui sotto archivia il mondo a server fermo (più sicuro di una copia a caldo); pianificalo con cron, ad esempio ogni notte alle 4:00, ed elimina i vecchi archivi.
#!/bin/bash
# /opt/minecraft/backup.sh (run as root via cron: 0 4 * * * /opt/minecraft/backup.sh)
set -e
systemctl stop minecraft
mkdir -p /opt/minecraft-backups
tar -czf /opt/minecraft-backups/world-$(date +%F).tar.gz -C /opt/minecraft world world_nether world_the_end
systemctl start minecraft
find /opt/minecraft-backups -name 'world-*.tar.gz' -mtime +14 -delete7. Pubblicare il tuo server
Quando il server è raggiungibile dall'esterno, aggiungilo su game-rank.com/jeux/minecraft (sito del proprietario di questi strumenti) perché i giocatori lo trovino. Indica un indirizzo stabile (dominio o IP fisso) e la porta se non è 25565.
8. Risoluzione dei problemi
- «You need to agree to the EULA»: imposta eula=true in eula.txt e riavvia.
- UnsupportedClassVersionError / «class file version»: il tuo Java è troppo vecchio per questo jar. Installa la versione richiesta (vedi Requisiti) e verifica con «java -version».
- «Failed to bind to port»: la porta 25565 è già in uso (altro server o vecchia istanza). Termina l'altro processo o cambia server-port.
- I giocatori locali si collegano ma quelli da Internet no: manca una regola nel firewall di sistema, del provider o l'inoltro di porta; verifica anche di non essere dietro CGNAT (router dell'operatore senza IP pubblico) — in tal caso usa un VPS.
- «Can't keep up!» e lag: il server è sovraccarico. Usa Paper, applica le Aikar's flags, riduci view-distance e simulation-distance e controlla i TPS con il profiler spark.
Domande frequenti
- Vanilla o Paper?
- Vanilla è il software ufficiale di Mojang. Paper è un server della community che supporta i plugin e migliora le prestazioni; è la scelta abituale per una community. Entrambi usano lo stesso server.properties.
- I giocatori Bedrock possono unirsi?
- Non direttamente: Java e Bedrock usano protocolli diversi. Esistono soluzioni della community (non ufficiali, da valutare a parte); altrimenti configura un server Bedrock dedicato (vedi la guida Bedrock di questo sito).
- Devo mantenere online-mode=true?
- Sì, tranne dietro un proxy (Velocity/BungeeCord) configurato correttamente. Impostarlo su false disattiva la verifica degli account: chiunque può impersonare un nome, anche quello di un operatore.
- Quanti giocatori regge il mio server?
- Dipende soprattutto da CPU single-core, distanza di rendering, plugin e dimensione del mondo. Non esiste una cifra ufficiale: aumenta gradualmente controllando i TPS (20 = ideale) e la RAM.

