In questa guida descriverò come realizzare un server di gioco per Minecraft. Nello specifico sarà necessario avere:
- 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);
- L’ultima versione di Java (che è già integrato in Raspbian, quindi non dovete far nulla);
- 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:
- Crea una cartella di nome Minecraft nella home del nostro utente (pi, se non avete cambiato utente);
- Entra in tale cartella;
- 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.
12 Commenti
Emanuele Pace
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
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
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
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
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
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
Mi potresti spiegare come impostare un ip statico, perché non so come si fa
Dragone2
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
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
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
io ho cambiato il nome con il servizio DNS, devo fare qualcosa di diverso?
Dragone2
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.