Salta al contenuto principale
Image
Minecraft dedicated server

Installare e configurare un server dedicato Minecraft ad uso personale può essere un'opzione interessante sia per giocare con gli amici in una rete locale (LAN) - potendo sfruttare anche hardware non aggiornato - sia per giocare e sperimentare via internet attraverso l'installazione in remoto su un virtual server, ma con l'avvertenza che in tal caso sono indispensabili adeguate competenze sistemistiche e di networking per garantire la sicurezza del virtual server (poiché sarà inevitabilmente oggetto di "port scanning" da parte di bot malevoli). Considerando inoltre il costo dei virtual server, se si vuole solamente giocare via internet può essere più conveniente affittare un server Minecraft da uno dei numerosi provider che offrono questo servizio o direttamente da Minecraft che offre la possibilità di attivare i Minecraft Realms dall'interfaccia di avvio del gioco.

In questo articolo ci occupiamo del server Minecraft versione Bedrock, in quanto compatibile con il "cross-play" tra piattaforme diverse, e più specificatamente della versione per Linux Ubuntu, in quanto l'installazione di un sistema operativo Linux necessita di minori risorse hardware rispetto a Windows. L'installazione di Linux in modalità sever, ovvero senza interfaccia grafica, constente inoltre di risparmiare ulteriori risorse e utilizzare anche hardware piuttosto datato. I requisiti minimi raccomandati per il server Minecraft Bedrock sono: 1 Gb di Ram e processori 64 bit Intel o Amd con almeno due "core".

Il sistema operativo Linux Ubuntu server è disponibile per il download a questo indirizzo web ed, essendo un prodotto "open sources", è utilizzabile gratuitamente. Il sever dedicato Minecraft è disponibile per il download sul sito ufficiale minecraft.net.

E' necessario evidenziare che anche per quanto riguarda i server, le versioni Minecraft bedrock e java non sono compatibili tra loro. In pratica, per accedere a un server dedicato bedrock occorre la versione bedrock di Minecraft mentre per accedere a un server dedicato java occorre la versione java di Minecraft.

Come già accennato, la versione bedrock di Minecraft supporta il cross-play tra piattaforme diverse, per cui è possibile accedere al server dedicato da diversi dispositivi digitali dotati dell'app Minecraft, inserendo l'indirizzo IP del server nel caso di personal computer, smartphone e tablet oppure cliccando sul server dedicato che appare nel tab "Amici", "Partite LAN" (quindi esclusivamente in rete locale) nel caso delle console game.

Per quanto riguarda la manutenzione del server dedicato, è necessario mantenere l'allineamento tra il numero di versione del server Minecraft e il numero di versione dell'app installata sui vari dispositivi digitali, aggiornando il software server ogni qualvolta viene rilasciato un aggiornamento di Minecraft, poiché questo viene generalmemente installato in automatico dai "digital store" connessi ai vari smartphone, tablet, console e PC.

Il primo passo, una volta accertata la compatibilità del proprio hardware con le specifiche minime consigliate per Ubuntu server, è procedere con l'installazione del sistema operativo Linux. In rete sono disponibili numerose guide su come installare Ubuntu server mentre la procedura guidata d'installazione è abbastanza intuitiva. Non è necessario attivare servizi server specifici, a parte OPENSSH server che può essere utile per gestire il server Linux da remoto (potendo anche scollegarlo da monitor, mouse e tastiera) ed eventualmente SAMBA file server, utile per trasferire file da Windows su una cartella condivisa invece che utilizzare un client FTP.

Se non lo avete già fatto in fase di installazione di Ubuntu, è opportuno configurare un indirizzo IP fisso di rete locale direttamente sul sever linux o indirettamente assegnando un indirizzo IP statico nelle impostazioni DHCP del vostro modem-router, in modo che il server dedicato Minecraft sia raggiungibile sempre allo stesso indirizzo IP. Trovate online diverse guide che illustrano passo passo come modificare manualmente il file di configurazione della scheda di rete in assenza di interfaccia grafica.

Se avete attivato il servizio SSH per gestire da remoto il server, potete accedervi e impartire comandi tramite un client ssh (ad esempio PuTTY). Per trasferire file, invece, potete utilizzare un client SFTP (ad esempio FileZilla) oppure il copia e incolla da Windows qualora abbiate attivato il servizio Samba.

Se invece accedete al server Ubuntu attraverso il login da testiera, potete scaricare il server dedicato Minecraft direttamente dalla shell CLI (Command Line Interface o interfaccia a riga di comando) con il comando wget oppure curl. Anche in questo caso trovate online numerose guide su come utilizzare questi comandi, ma prima dovete visualizzare nella barra di stato di un browser l'url esatta del file da scaricare visitando la pagina di download del sito ufficiale minecraft.net e posizionando il cursore sul pulsante di download, dopo averlo attivato con il check sull'accettazione dei termini legali di licenza e di privacy. Infatti, il nome del file da scaricare cambia ogni volta che viene rilasciata una nuova versione di Minecraft.

Una volta scaricato il file, create una nuova directory denominata "minecraft" ad esempio nella directory /opt con il comando "sudo mkdir /opt/minecraft/". Appropriatevi della cartella appena creata con il comando "sudo chown [nomeutente] /opt/minecraft/" sostituendo [nomeutente] con il nome di login che avete scelto durante l'installazione di Ubuntu server. Create una sottodirectory dentro la cartella "minecraft" con il comando "mkdir /opt/minecraft/server". Scompattate il file zip nella directory appena creata: "unzip nomefile.zip -d /opt/minecraft/server". Se il comando unzip non è presente installate il pacchetto zip seguendo una delle guide online. Potete visualizzare l'elenco di file e cartelle create con il comando "ls -al /opt/minecraft/server". Cambiate directory con il comando "cd /opt/minecraft/server". Rendete eseguibile il file bedrock_server con il comando "chmod ug+x bedrock_server". Avviate il server minecraft seguendo le istruzioni contenute nel file bedrock_server_how_to.html contenuto nella suddetta cartella ovvero "LD_LIBRARY_PATH=. ./bedrock_server". Se vi collegate all'indirizzo IP del server da un Minecraft installato su un dispositivo digitale vedrete apparire alcune informazioni sulla vostra connessione al server. Per chiudere il server minecraft e tornare alla shell CLI digitate "stop" e invio.

Ovviamente la stessa procedura può essere effettuata da remoto con una connessione ssh, tuttavia sono necessari alcuni accorgimenti per poter chiudere il client ssh una volta avviato il server minecraft. In pratica occorre installare il comando "screen" che consente di avviare il server minecraft da una schermata secondaria, quindi tornare alla schermata principale per chiudere la connessione ssh.

Dopo aver installato screen (trovate on line le guide), fate il login dal terminale ssh e digitate "screen", invio. Si apre una pagina con le informazioni di licenza che potete scorrere con la barra spaziatrice o con invio per trovarvi di nuovo sul prompt dei comandi. Spostatevi nella directory del server Minecraft (cd /opt/minecraft/server) e digitate il comando per avviare il server Minecraft (LD_LIBRARY_PATH=. ./bedrock_server). A questo punto dovete staccarvi dalla finestra creata da screen: digitate prima "Ctrl+A" e poi "d" per tornare alla finestra del terminale dalla quale avevate lanciato il comando screen. Infatti, digitando "screen -ls" il sistema vi informa che c'è una finestra attiva ma staccata (Detached). Potete quindi uscire da ssh con il comando "exit" mentre il server Minecraft resterà in esecuzione. Per terminare il server Minecraft accedete di nuovo al server Ubuntu con SSH e digitate "screen -r" per ricollegarvi al terminale nel quale è in esecuzione il server Minecraft. Digitate "stop" e invio per arrestarlo. Per uscire da screen digitate "Ctrl+A" poi "k" e confermate con "y". Digitate "exit" e invio per chiudere il terminale SSH oppure "sudo poweroff" per spegnere il server Linux Ubuntu.

Screen può essere utilizzato anche per far avviare in automatico il server Minecraft in background all'accensione del server Linux Ubuntu. In breve, occorre creare un file da inserire nel sistema di avvio e arresto automatico delle applicazioni di Ubuntu (Systemd) e due file di script per lo start e lo stop del server Minecraft. Per creare i file direttamente dalla riga di comando, potete utilizzare l'editor "nano". Spostatevi nella directory del Systemd digitando "cd /etc/systemd/system/" quindi digitate il comando "sudo nano minecraft.service" per creare un file denominato minecraft.service nel quale inserire, ad esempio, le seguenti istruzioni (consultate le guide online su come creare file per systemd):

[Unit]
Description=Bedrock Minecraft server
After=network.target

[Service]
User=nomeutente
WorkingDirectory=/opt/minecraft/server
Type=forking
ExecStart=/bin/bash /opt/minecraft/start.sh
ExecStop=/bin/bash /opt/minecraft/stop.sh
GuessMainPID=no
TimeoutStartSec=600

[Install]
WantedBy=multi-user.target

avendo l'accortezza di sostituire il nomeutente dopo "User=" con il vostro nome utente, quello utilizzato per il login su Ubuntu e per assegnare i permessi di proprietario alla cartella Minecraft, prima di salvare il file con "Ctrl+O", invio e "Ctrl+X".

A questo punto, spostatevi nella cartella /opt/minecraft dove dovete creare i due file di script a cui viene rimandata l'esecuzione dello start e dello stop del server Minecraft, ovvero start.sh e stop.sh.

Digitate "nano start.sh" e inserite, ad esempio, le seguenti istruzioni (consultate le guide online su come creare file di Bash scripting):

#!/bin/bash
screen -dmS minecraftSrv /bin/bash -c "LD_LIBRARY_PATH=/opt/minecraft/server /opt/minecraft/server/bedrock_server"
echo "Minecraft server started"
exit 0

quindi salvate il file e create il file "nano stop.sh" nel quale inserire, ad esempio, le seguenti istruzioni (consultate le guide online su come creare file di Bash scripting):

#!/bin/bash
screen -Rd minecraftSrv -X stuff "stop$(printf '\r')"
# Wait up to 20 seconds
StopChecks=0
while [ $StopChecks -lt 20 ]; do
 if ! screen -list | grep -q "minecraftSrv"; then
  break
 fi
 sleep 1;
 StopChecks=$((StopChecks+1))
done
# Kill screen terminal
if screen -list | grep -q "minecraftSrv"; then
 screen -S minecraftSrv -X quit
fi
echo "Minecraft server stopped"
exit 0

Rendete eseguibili i due script con "chmod ug+x start.sh stop.sh" e spostatevi nella cartella server "cd server" per provare il funzionamento dei due script digitando ../start.sh e verificando con "screen -ls" se il server Minecraft è stato avviato (dovrebbe essere presente un terminale screen minecraftSrv Detached) e poi ../stop.sh e verificando con "screen -ls" se il server Minecraft è stato arrestato (nessun terminale screen).

Dopo aver verificato il funzionamento manuale dei due script verificate il funzionamento del file minecraft.service che avete creato in precedenza impartendo i comandi: "sudo systemctl start minecraft.service", "sudo systemctl status minecraft.service" e poi "Ctrl+c" e infine "sudo systemctl stop minecraft.service".

Se tutto funziona abilitate l'avvio automatico del server Minecraft con il comando "sudo systemctl enable minecraft.service".

Non resta altro che illustrare una procedura per aggiornare il server Minecraft ogni qualvolta viene aggiornato Minecraft.

Per vostra informazione, a questo indirizzo web: https://github.com/TheRemote/MinecraftBedrockServer è possibile reperire un programma che consente di installare un server dedicato Minecraft Bedrock su Ubuntu con le opzioni di avvio e aggiornamento automatico.

Per l'aggiornamento manuale del server, invece, illustriamo la procedura nel prossimo articolo assieme agli aspetti principali della configurazione e gestione del server dedicato Minecraft.