Come creare un Server Minecraft su Ubuntu 22.04

Contenuto1 Introduzione2 Prerequisiti3 Step 1 – Installare i Pacchetti Software necessari4 Step 2 – Configurare il Firewall5 Step 3 – Scaricare il Server Minecraft6 Step 4 – Avviare e Configurare […]

Avatar di gbfactory
gbfactory 14 Novembre 2022

Introduzione

Minecraft è un videogioco sandbox open world sviluppato da Mojang Studio e pubblicato nel 2009 e al momento della stesura di questo articolo è il videogioco che ha venduto più copie di sempre. In questo tutorial vedremo come creare un server Minecraft su Ubuntu 22.04 per poter giocare online insieme ad amici e altri giocatori. Nello specifico, vedremo come installare tutti i pacchetti necessari per l'esecuzione di Minecraft, configureremo il server e poi lo metteremo in funzione.

Prerequisiti

Per seguire questa guida avrai bisogno di:

  • Un server con un'installazione pulita di Ubuntu 22.04 configurato adeguatamente con un utente sudo e la connessione SSH abilitata. Per questi requisiti puoi seguire la guida sulla configurazione iniziale di un server Ubuntu. Tieni presente che eseguire Minecraft richieste prestazioni elevate da parte del server, dovrai quindi acquistare un server adeguato.
  • Il gioco Minecraft Java Edition installato sul tuo PC.

Step 1 - Installare i Pacchetti Software necessari

Dopo aver eseguito la configurazione iniziale del server, la prima cosa da fare è installare Java, necessario per poter far funzionare Minecraft. Di default Ubuntu 22.04 non rende disponibile una versione di Java abbastanza aggiornata per poter eseguire le ultime versioni di Minecraft. Fortunatamente, i nuovi pacchetti Java possono essere installato aggiungendo i rispettivi PPA (Personal Package Archives) al proprio elenco di fonti da cui scaricare i pacchetti. Possiamo farlo con il seguente comando:

sudo add-apt-repository ppa:openjdk-r/ppa

Subito dopo andiamo ad aggiornare l'elenco delle fonti di pacchetti per rendere operativo questa aggiunta:

sudo apt update

Premiamo Y quando richiesto per confermare e quando ci viene chiesto di riavviare alcuni servizi, premiamo INVIO per accettare i valori predefiniti e continuare.

Infine possiamo installare l'OpenJDK di Java versione 17, più nello specifico il JRE headless. Questa non è altro che una versione di Java ridotta al minimo che non include il supporto le applicazioni con interfaccia grafica, l'ideale per eseguire applicazioni Java su un server:

sudo apt install openjdk-17-jre-headless

Ci servirà poi un programma chiamato screen per creare delle sessioni del server "separate" da quella principale. Infatti, con screen possiamo creare una sessione del terminale e poi uscire da essa, lasciando comunque in esecuzione il processo che abbiamo avviato. Questo è fondamentale dato che, senza screen, dopo aver avviato il server e chiuso il terminale, il processo verrebbe arrestato e di conseguenza il server Minecraft spento. Installiamo screen con il comando:

sudo apt get install screen

Ora che abbiamo tutti i pacchetti necessari installati sul nostro server, possiamo passare alla configurazione del firewall per consentire al traffico di Minecraft di entrare e uscire dal server.

Step 2 - Configurare il Firewall

Durante la guida di configurazione iniziale del server, abbiamo configurato il firewall del server per consentire solamente il traffico SSH. Ora dobbiamo consentire al traffico di passare anche per la porta 25565, ovvero la porta predefinita che Minecraft utilizza per le sue connessioni. Aggiungiamo la regola al firewall utilizzando il seguente comando:

sudo ufw allow 25565

Ora che anche il nostro firewall è configurato correttamente, possiamo procedere scaricando il software del server direttamente dal sito ufficiale di Minecraft.

Step 3 - Scaricare il Server Minecraft

Per scaricare l'ultima versione del server Minecraft dovremo recarci sul sito web ufficiale di Minecraft, nella pagina dedicata al server, e copiare il link sotto la dicitura Scarica minecraft_server.X.X.X.jar, dove X.X.X rappresenta l'ultima versione del server disponibile al momento.

Procediamo utilizzando il comando wget con il link copiato in precedenza per scaricare il file jar del server sulla nostra macchina:

wget https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar

L'applicazione del server sarà quindi scaricata come server.jar, e ora che abbiamo il file possiamo iniziare a configurare il nostro server Minecraft.

Step 4 - Avviare e Configurare il Server Minecraft

Con il nostro jar del server appena scaricato alla mano, la prima cosa da fare è banalmente eseguirlo. Iniziamo creando una nuova sessione screen eseguendo con il seguente comando:

screen

Dopo aver letto il messaggio informativo e aver premuto la barra spaziatrice, screen ci presenterà una normale sessione del terminale, da cui però potremmo sganciarci, questo ci consentirà quindi di eseguire un comando al suo interno e lasciarlo in esecuzione.

Avviamo quindi per la prima volta il nostro server Minecraft inserendo la seguente stringa nella sessione del terminale avviata con screen:

java -Xms1024M -Xmx1024M -jar server.jar nogui

Prima però soffermiamoci brevemente su tutti i parametri che stiamo passando al comando per caprie cosa sono e a cosa servono:

  • Xms1024M - dice al server di avviarsi con 1024MB (1GB) di RAM. Possiamo aumentare questo valore se desideriamo che al nostro server venga dedicata più RAM. Sono accettati valori con M per Megabytes e G per Gigabytes.
  • Xms1024M - dice al server il tetto di RAM che potrà utilizzare al massimo. In questo caso è sempre di 1G, ma anche qui il valore può essere aumentato.
  • jar - indica il file jar del server da eseguire.
  • nogui - dice al server di non avviare l'interfaccia grafica dato che non abbiamo la GUI a disposizione sul nostro server.

Quando invieremo il nostro comando per la prima volta, vedremo subito un errore che interromperà l'esecuzione del server:

[12:54:10 WARN]: Failed to load eula.txt
[12:54:10 INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

Questi errori sono dovuti al fatto che il server non ha potuto trovare due file indispensabili per la sua esecuzione: il file dell'EULA (End User License Agreement), ovvero eula.txt, e il file di configurazione server.proprieties. Dato che questi file vengono generati durante il primo avvio, il server viene subito fermato, anche per consentire all'utente di leggere e accettare l'EULA del gioco in modo inequivocabile.

Iniziamo aprendo il file eula.txt con un editor di testo, in questo caso nano, utilizzando il seguente comando:

nano eula.txt

All'interno di questo file avremo accesso al link a cui leggere l'EULA del gioco che possiamo copiare e aprire con un browser sul nostro computer.

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
#Mon Aug 01 12:56:33 CEST 2022
eula=true

Dopo aver completato la lettura dell'EULA possiamo tornare sul file e, all'ultima riga, sostituire eula=false con eula=true. Poi chiudiamo il file salvando i cambiamenti, che in nano si può fare premento Ctrl + X per uscire, Y per salvare e infine Invio per confermare.

Una volta aver sistemato l'EULA possiamo passare al file server.properties, che contiene al suo interno tutti i parametri per configurare il server Minecraft. Sulla Wiki ufficiale di Minecraft è possibile leggere una descrizione dettagliata di tutte le proprietà contenute al suo interno, ma in ogni caso approfondiremo brevemente alcuni dei parametri principali:

  • difficulty - utilizzato per selezionare la difficoltà del gioco, le opzioni sono peaceful, easy (predefinito), normal e hard.
  • gamemode - utilizzato per selezionare la modalità di gioco, le opzioni sono survival (predefinito), creative, adventure e spectator.
  • level-name - utilizzato per impostare il nome della cartella del mondo di Minecraft che verrò caricato sul server. Modificare questo nome potrebbe essere utile per caricare livelli personalizzati.
  • motd - il messaggio mostrato al giocatore nella lista dei server Minecraft sotto il nome che ha scelto per memorizzare il server.
  • pvp - abilita il PvP (Player Versus Player), di default è importato a true e i giocatori potranno entrare in combattimento tra loro facendosi danno a vicenda.

Anche questo file può essere aperto e modificato con un qualsiasi editor di testo. Tutti i cambiamenti andranno però fatti prima di avviare il server.

Ora avviamo nuovamente il server inserendo lo stesso comando all'interno della sessione del terminale. In questo caso andiamo però ad aumentare il tetto di memoria RAM a cui il server può accedere:

java -Xms1024M -Xmx2G -jar server.jar nogui

Trascorsi alcuni secondi il nostro server inizierà ad avviarsi, e dovremmo vedere in console un output simile a questo:

[12:55:04 INFO]: Starting minecraft server version 1.19.2
[12:55:04 INFO]: Loading properties
[12:55:05 INFO]: Default game type: SURVIVAL
[12:55:05 INFO]: Generating keypair
[12:55:05 INFO]: Starting Minecraft server on *:25565

Quando il server avrà completato l'avvio e sarà pronto all'uso verrà stampata la seguente stringa in console:

[12:57:06 INFO]: Done (1.457s)! For help, type "help"

Il server è ora in esecuzione! Noi dalla console abbiamo accesso al "pannello di amministrazione", da cui possiamo eseguire qualsiasi comando, il più semplice dei quali è help, che se eseguito ci presenterà tutti gli altri comandi di amministrazione interni a Minecraft che possiamo eseguire.

Ora impareremo a utilizzare screen per mantenere il nostro server Minecraft in esecuzione anche quando decidiamo di uscire dal terminale, poi concluderemo aprendo il gioco e accedendo al server.

Step 5 - Mantenere il Server in Esecuzione con Screen

Con il server ora in esecuzione, dobbiamo assicurarci di poter chiudere il terminale SSH senza che il processo si arresti, fermando di conseguenza il server. Dato che in precedenza abbiamo utilizzato screen per aprire una nuova sessione del terminale, possiamo ora sganciarci da questa sessione premendo i tasti Ctrl + A + D. Ora dovremmo essere tornati alla nostra console originaria:

​​ubuntu@minecraft:~$ screen
[detached from 3769.pts-0.minecraft]
$

Per controllare tutte le sessioni del terminale attualmente attive digitiamo il comando:

screen -list

Che ci stamperà a schermo le sessioni con il relativo ID, che ci servirà per poter accedere nuovamente a una determinata sessione:

There is a screen on:
        3769.pts-0.minecraft	(01/08/22 12:57:33)	(Detached)
1 Socket in /run/screen/S-root.

Per accedere nuovamente ad una sessione da cui ci siamo disconnessi passiamo il parametro -r al comando screen, seguito dall'ID della sessione desiderata, in questo modo:

screen -r 3769

Quando vuoi uscire dal terminale, assicurati di sganciarti dalla sessione con Ctrl + A + D prima di uscire definitivamente dalla sessione SSH.

Step 6 - Entrare nel server dal Client Minecraft

Il nostro server è in esecuzione in una sessione del terminale da cui possiamo sganciarci in ogni momento, siamo quindi pronti per accedere al mondo online dal Client di Minecraft installato sul nostro PC per iniziare finalmente a giocare.

Avviamo la nostra copia di Minecraft Java Edition e selezioniamo l'opzione Multigiocatore dal menu principale:

Come creare un Server Minecraft su Ubuntu 22.04

E poi dovremo aggiungere un server alla nostra lista per poi poterci connettere con velocità. Premiamo quiindi il pulsante Aggiungi un server:

Come creare un Server Minecraft su Ubuntu 22.04

In questa schermata che ci viene visualizzata possiamo scegliere un nome da visualizzare sul nostro server quando sarà aggiunto alla lista, e poi dovremo specificare l'indirizzo IP del server. Questo indirizzo è lo stesso del nostro server, che abbiamo anche utilizzato per tutte le operazioni SSH.

Come creare un Server Minecraft su Ubuntu 22.04

Una volta aver specificato le informazioni e aver premuto su Fatto, verrà nuovamente visualizzata la lista dei server, tra i quali ora vedremo anche il nostro.

Come creare un Server Minecraft su Ubuntu 22.04

Da ora in poi il nostro server apparirà in questa lista, almeno fino a quando non lo rimuoveremo, e potremo sempre connetterci per giocare premendo sul pulsante Unisciti al server. Dopo il caricamento del server saremo pronti a giocare con gli altri giocatori!

Come creare un Server Minecraft su Ubuntu 22.04

Conclusione

Al termine di questa guida abbiamo un server Minecraft funzionante in esecuzione su Ubuntu 22.04 per tutti gli amici e i giocatori che desiderino unirsi a noi per una partita!