In questa guida descriverò come realizzare un server di gioco per Minecraft. Nello specifico sarà necessario avere:

  1. Un Raspberry PI (possibilmente la versione 2 o 3, poiché sono ottime per fare un server Minecraft. Ho provato a farlo anche con altre versioni ma le prestazioni erano veramente scarse e il gioco era ingiocabile);
  2. L’ultima versione di Java (che è già integrato in Raspbian, quindi non dovete far nulla);
  3. Il software Spigot, una versione di Bukkit (noto software per realizzare server Minecraft) ottimizzata per ottenere prestazioni migliori.

Per prima cosa assicuriamoci che Java sia installato sul Raspberry PI, utilizzando il comando:

java -version

Se la risposta è simile a questa:

dragone2@raspberrypi ~ $ java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)

Significa che Java è installato e siamo pronti per continuare. Comunque sia, come detto in precedenza, Java è integrato in Raspbian da circa 1 anno o poco più, quindi non starò a spiegarvi come installarlo.

Passiamo ora all’installazione di Spigot, software che ci permetterà di realizzare il nostro server Minecraft. Attualmente il progetto Bukkit ha subito problemi a causa del copyright, quindi lo sviluppo è stato parzialmente interrotto e ci sono state problematiche. Comunque sia sono riusciti a risolvere la faccenda implementando parti di codice open source e qualcuno ha messo a disposizione una build di Spigot (e anche Bukkit) compatibile con l’ultima versione di Minecraft (nel momento in cui vi scrivo la 1.12). Potete scaricare tale versione utilizzando questo link: CLICK QUI.

Nello specifico, i passi da seguire per installare Spigot su Raspberry PI sono i seguenti:

mkdir Minecraft
cd Minecraft
wget <link-all'ultima-versione-di-spigot> e cioè:
wget http://get.getbukkit.com/13114107/spigot-112jar

In sostanza i comandi descritti in precedenza fanno questo:

  1. Crea una cartella di nome Minecraft nella home del nostro utente (pi, se non avete cambiato utente);
  2. Entra in tale cartella;
  3. Scarica il file e lo salva nella cartella dove siete attualmente, quindi in Minecraft (/home/pi/Minecraft/).

Adesso che abbiamo tutto il necessario avviamo Spigot, per i possessori di Raspberry PI 2, tramite il comando:

java -Xms512M -Xmx512M -jar spigot-1.12.jar nogui

Per gli altri (modello B e B+):

java -Xms256M -Xmx256M -jar spigot-1.12.jar nogui

Dopo aver atteso che il server si sia completamente avviato, fermatelo digitando il comando:

stop

E assicuratevi che le impostazioni del server siano più o meno le seguenti (sono ottimizzate), modificabili con il comando:

nano server.properties
#Minecraft server properties
#Thu Mar 19 19:16:45 CET 2015
spawn-protection=16
max-tick-time=-1
generator-settings=
force-gamemode=false
allow-nether=false
gamemode=0
enable-query=false
player-idle-timeout=0
difficulty=3
spawn-monsters=true
op-permission-level=4
resource-pack-hash=
announce-player-achievements=true
pvp=true
snooper-enabled=true
level-type=DEFAULT
hardcore=false
enable-command-block=false
max-players=5
network-compression-threshold=256
max-world-size=29999984
server-port=25565
debug=false
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=4
resource-pack=
spawn-animals=true
white-list=false
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
enable-rcon=false
motd=Server Minecraft by Risposte Informatiche

Fatto ciò premiamo la combinazione [Ctrl] + [X] e rispondiamo affermativamente alla domanda che ci verrà posta da parte dell’editor testuale. A questo punto, riavviate il server Minecraft digitando nuovamente il comando descritto in precedenza. Nel caso in cui ci fossero problemi, sappiate che è necessario che nel file di testo “eula.txt” contenuto nella stessa cartella sia impostata a true la voce eula. In sostanza deve essere così:

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/min$
#Tue Feb 24 14:20:35 CET 2015
eula=true

Potete modificare questo file sempre nello stesso modo descritto in precedenza per server.properties, con l’utilizzo del comando:

nano eula.txt

Non vi resta quindi che riprovare ad avviare il server.

Se voleste comunque giocare a Minecraft e ottenere un server con prestazioni ottime ma senza le ultime funzionalità, esiste la possibilità di installare il server Cuberite, scritto in C++ e quindi molto più performante (basato su MC-Server). Lo potete trovare qui: CLICK QUI.

Da notare che nel caso in cui non funzionasse (bisogna scaricare la versione ARM, c’è scritto “Raspberry PI” tra l’altro), potete provare a utilizzare delle build differenti, scaricabili nella sezione Downloads del sito.

Articolo aggiornato il: 23/07/2017 – Aggiornamento links e riferimento a Cuberite (ex MC-Server).

12 Commenti

  • Emanuele Pace
    Il 12 Febbraio 2017 21:05 0Likes

    Come faccio a far entrare i miei amici sul server ?
    Anche se apro la porta del router 25565 Non riesco ad entrare sul server da un pc non connesso alla stessa rete del raspberri pi 3 ne con l` ip privato ne con quello pubblico anche se alla fine aggiungi “:25565”

    • Dragone2
      Il 12 Febbraio 2017 21:24 0Likes

      Ciao Emanuele,
      Il server Minecraft lo hai avviato correttamente? O compare qualche messaggio con scritto ERROR? Ti ricordo che se chiudi la console il server viene automaticamente terminato, non rimane aperto in background.

  • Emanuele Pace
    Il 13 Febbraio 2017 21:46 0Likes

    Si se mi connetto con l `ip privato da un pc collegato alla rete del raspberri riesco ad entrare ma da un pc collegato ad un altra rete no anche se apro la porta 25565 del ruter

    • Dragone2
      Il 13 Febbraio 2017 22:35 0Likes

      Ciao Emanuele,
      Puoi darmi qualche dettaglio in più in merito al router che hai e la procedura che segui per aprire la porta 25565 sul router?
      Spero che tu abbia lasciato vuoto il campo:
      server-ip=
      Perché di default non serve, se magari hai inserito il tuo indirizzo IP locale toglilo.

  • Emanuele Pace
    Il 16 Febbraio 2017 18:34 0Likes

    Io ho un router tp-link e ho aperto su virtual server la porta 25565 in TPC e UDP e posso entrare dal mio pc collegato all router con raspberry ma da un pc non collegato non sullo stesso router del raspberri non riesco ad entrare inserendo nell indirizzo l ip del mio router pubblico

    • Dragone2
      Il 16 Febbraio 2017 19:17 0Likes

      Hai impostato un IP statico per il Raspberry PI?
      Hai specificato correttamente la Porta interna/Porta esterna (oppure Porta iniziale/Porta finale)? Devi inserire 25565 in entrambi campi.
      Hai specificato correttamente l’indirizzo IP del Raspberry PI in IP destinazione (oppure Indirizzo IP server)?
      Controlla questi dati, il problema è per forza lì.

  • GL
    Il 3 Ottobre 2018 12:37 0Likes

    Mi potresti spiegare come impostare un ip statico, perché non so come si fa

    • Dragone2
      Il 3 Ottobre 2018 19:22 0Likes

      Ciao, puoi impostare un IP statico modificando il file /etc/dhcpd.conf:
      sudo nano /etc/dhcpcd.conf
      Dopodiché dovrai inserire in fondo al file, in base alla scheda di rete che utilizzi (non so se usi il Raspberry PI tramite cavo ethernet o con connessione wireless) una di queste opzioni (eth0 per cavo ethernet o wlan0 per scheda wireless):
      #interface NOME-INTERFACCIA
      interface eth0
      #static ip_address=INDIRIZZO-IP/24
      static ip_address=192.168.0.10/24
      #static routers=INDIRIZZO-IP-DEL-ROUTER
      static routers=192.168.0.1
      #static domain_name_servers=INDIRIZZO-IP-DEL-ROUTER
      static domain_name_servers=192.168.0.1

      Oppure per scheda wireless:
      interface wlan0
      static ip_address=192.168.0.200/24
      static routers=192.168.0.1
      static domain_name_servers=192.168.0.1

      Questo assumendo che l’indirizzo IP del tuo modem/router sia 192.168.0.1 e che tu voglia utilizzare 192.168.0.10 per il collegamento via cavo e 192.168.0.200 per quello wireless.
      Puoi ottenere tutte le informazioni sulla tua rete (tra cui il nome dell’interfaccia di rete, poiché non è detto che siano eth0 o wlan0) tramite:
      ifconfig.

  • GL
    Il 3 Ottobre 2018 20:12 0Likes

    io ho controllato tutto, ma ho lo stesso problema di Emanuele:
    io se voglio entrare sul server di minecraft posso solo da casa mia, il mio amico da casa sua non riesce

    • Dragone2
      Il 3 Ottobre 2018 22:31 0Likes

      Dopo aver impostato un IP statico al tuo Raspberry PI, devi preoccuparti di aprire la porta TCP 25565 sul tuo modem/router (sezione ‘Firewall’ del pannello di gestione via web del modem/router), dovrebbe essere possibile accedervi da http://192.168.0.1 o http://192.168.1.1 o http://192.168.0.254 in base al modello di modem/router che utilizzi per collegarti a internet.
      Una volta aperta questa porta, dovrai comunicare il tuo indirizzo IP pubblico, che puoi ricavare da https://it.vpnmentor.com/tools/ipinfo/ ai tuoi amici.

  • GL
    Il 7 Ottobre 2018 9:00 0Likes

    io ho cambiato il nome con il servizio DNS, devo fare qualcosa di diverso?

    • Dragone2
      Il 7 Ottobre 2018 14:57 0Likes

      Ciao, come ti ho già detto devi aprire la porta 25565 TCP sul tuo modem/router e fare in modo che inoltri il traffico all’indirizzo IP che hai assegnato al tuo Raspberry PI. Il servizio DNS ti serve solamente se vuoi fare in modo che da fuori le persone possano accedere senza dover sapere quale indirizzo IP pubblico stai usando attualmente. Dovrebbe essere un’operazione semplice, si tratta solo di aggiungere la regola nella sezione Firewall del tuo modem/router, specificando appunto i 3 parametri che ti ho detto, Porta 25565, Protocollo TCP e Indirizzo IP del Raspberry PI. Dovresti avere una guida a disposizione per farlo, online comunque trovi un manuale, basta che cerchi il tuo modello di modem/router.