Introduzione
Minecraft è uno dei giochi più popolari di tutti i tempi. È un videogioco sandbox in cui i giocatori esplorano mondi infiniti e costruiscono strutture diverse da semplici case a grattacieli imponenti.
Questo tutorial spiega come creare un server Minecraft su Ubuntu 20.04 LTS Focal Fossa. Useremo Systemd per eseguire il server Minecraft e l'utility mcrcon
per la connessione all'istanza in esecuzione. Ti mostreremo anche come creare un cronjob che esegua backup regolari del server.
Se desideri installare Minecraft su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Prerequisiti
Secondo il sito ufficiale di Minecraft, si consigliano 4 GB di RAM come configurazione minima per una configurazione tipica.
Installa i pacchetti richiesti per compilare lo strumento mcrcon
:
sudo apt update
sudo apt install git build-essential
Installare Java Runtime Environment
Minecraft richiede Java 8 o versioni successive. Il server Minecraft non ha bisogno di un'interfaccia utente grafica, quindi installeremo la versione headless di Java. Questa versione è più adatta per le applicazioni server poiché ha meno dipendenze e utilizza meno risorse di sistema.
Eseguire il comando seguente per installare il pacchetto OpenJRE 11 senza testa:
sudo apt install openjdk-11-jre-headless
Verifica l'installazione stampando la versione java:
java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
Creare l'utente Minecraft
Per motivi di sicurezza, Minecraft non deve essere eseguito con l'utente root. Noi creare un nuovo utente di sistema e di gruppo con la home directory /opt/minecraft
. L'utente disporrà delle autorizzazioni minime necessarie per eseguire il server Minecraft:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Non imposteremo una password per questo utente. In questo modo, l'utente non sarà in grado di accedere tramite SSH e non potrà essere compromesso. Per passare all'utente minecraft
, devi accedere al server come root o utente con privilegi sudo.
Installare Minecraft su Ubuntu
Prima di iniziare con il processo di installazione, passa all'utente minecraft
:
sudo su - minecraft
Eseguire il comando seguente per creare tre nuove directory all'interno della home directory dell'utente:
mkdir -p ~/{backups,tools,server}
- La directory
backups
memorizzerà i backup del tuo server Minecraft. È possibile sincronizzare questa directory con il server di backup remoto. - La directory
tools
conterrà il clientmcrcon
e lo script di backup. - La directory
server
conterrà l'attuale server Minecraft e i suoi dati.
Download e compilazione di mcrcon
RCON è un protocollo che ti consente di connetterti ai server Minecraft ed eseguire comandi. mcron è un client RCON scritto in C.
Scaricheremo il codice sorgente da GitHub e creeremo il binario mcrcon
.
Clonare il repository Tiiffi/mcrcon
da GitHub nella directory ~/tools/mcron
con git:
git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon
Al termine, passa alla directory mcron
con il comando cd e crea l'utility:
cd ~/tools/mcrcon
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Una volta completato, verificare che mcrcon
sia stato compilato correttamente stampando la sua versione:
./mcrcon -v
L'output sarà simile al seguente:
mcrcon 0.7.1 (built: Jun 24 2020 17:16:11) - https://github.com/Tiiffi/mcrcon
Bug reports:
tiiffi+mcrcon at gmail
https://github.com/Tiiffi/mcrcon/issues/
Download di Minecraft Server
Esistono diverse mod del server Minecraft come Craftbukkit o Spigot che ti consentono di aggiungere funzionalità (plugin) sul tuo server e personalizzare ulteriormente e modificare le impostazioni del server.
In questa guida, installeremo l'ultimo server Minecraft vanilla ufficiale di Mojang. Le stesse istruzioni si applicano per l'installazione di altre mod del server.
Andate alla pagina di download Minecraft per ottenere il link per il download di file di archivio Java l'ultima del server Minecraft (JAR). Al momento della scrittura, l'ultima versione è 1.16
.
Scarica il file jar nella directory ~/server
con wget
:
wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server
Configurare Minecraft Server
Una volta completato il download, passa alla directory ~/server
e avvia il server Minecraft:
cd ~/server
java -Xmx1024M -Xms1024M -jar server.jar nogui
Quando viene avviato per la prima volta, il server esegue alcune operazioni, crea i file server.properties
e eula.txt
e si ferma.
[17:17:07] [main/ERROR]: Failed to load properties from file: server.properties
[17:17:07] [main/WARN]: Failed to load eula.txt
[17:17:07] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Per eseguire il server, è necessario accettare l'EULA di Minecraft, come indicato dall'output sopra. Apri il file eula.txt
e modifica eula=false
in eula=true
:
nano ~/server/eula.txt
Chiudi e salva il file.
Quindi, aprire il file server.properties
e abilitare il protocollo rcon e impostare la password rcon:
nano ~/server/server.properties
Individua le seguenti righe e aggiorna i loro valori, come mostrato di seguito (la porta dovrebbe essere già impostata su 25575
):
Non dimenticare di cambiare tua-password
in qualcosa di più sicuro. Se non vuoi connetterti al server Minecraft da posizioni remote, assicurati che la porta rcon sia bloccata dal tuo firewall.
Mentre sei qui, puoi anche regolare le proprietà predefinite del server. Per ulteriori informazioni sulle impostazioni del server, visitare la pagina server.properties.
Creare il file di unità Systemd
Invece di avviare manualmente il server Minecraft, creeremo un file di unità Systemd ed eseguiremo Minecraft come servizio.
Torna al tuo utente sudo digitando exit
:
exit
Apri il tuo editor di testo e crea un file chiamato minecraft.service
nella directory /etc/systemd/system/
:
sudo nano /etc/systemd/system/minecraft.service
Incolla la seguente configurazione:
Modificare i flag Xmx
e Xms
in base alle risorse del server. Il flag Xmx
definisce il pool di allocazione di memoria massimo per una macchina virtuale Java (JVM), mentre Xms
definisce il pool di allocazione di memoria iniziale. Inoltre, assicurati di utilizzare la porta rcon
e la password corrette.
Salvare il file e ricaricare la configurazione del gestore di sistema:
sudo systemctl daemon-reload
Ora puoi avviare il server Minecraft digitando:
sudo systemctl start minecraft
La prima volta che avvierai il servizio, verranno generati diversi file e directory di configurazione, incluso il mondo Minecraft.
Controlla lo stato del servizio con il seguente comando:
sudo systemctl status minecraft
● minecraft.service - Minecraft Server
Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2020-06-24 17:23:45 CEST; 3s ago
Main PID: 11959 (java)
Tasks: 12 (limit: 2286)
Memory: 56.6M
CGroup: /system.slice/minecraft.service
└─11959 /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
Jun 24 17:23:45 TEST-SERVER-1 systemd[1]: Started Minecraft Server.
Infine, abilita il servizio Minecraft per essere avviato automaticamente all'avvio:
sudo systemctl enable minecraft
Regolare il firewall
Ubuntu viene fornito con uno strumento di configurazione del firewall chiamato UFW. Se il firewall è abilitato sul tuo sistema e desideri accedere al server Minecraft dall'esterno della tua rete locale, devi aprire la porta 25565
:
sudo ufw allow 25565/tcp
Configurare il backup
In questa sezione, creeremo uno script della shell di backup e cronjob per eseguire automaticamente il backup del server Minecraft.
Passa all'utente minecraft
con il comando su:
sudo su - minecraft
Apri il tuo editor di testo e crea il seguente file:
nano /opt/minecraft/tools/backup.sh
Incolla la seguente configurazione:
Salvare il file e rendere eseguibile lo script:
chmod +x /opt/minecraft/tools/backup.sh
Quindi, crea un cron job che verrà eseguito una volta al giorno automaticamente a un orario fisso.
Apri il file crontab digitando:
crontab -e
Per eseguire lo script di backup ogni giorno alle 23:00, incolla la seguente riga:
0 23 * * * /opt/minecraft/tools/backup.sh
Accedere alla console di Minecraft
Per accedere alla console di Minecraft, utilizzare l'utility mcrcon
. È necessario specificare l'host, la porta rcon, la password rcon e utilizzare l'opzione -t
che abilita la modalità terminale mcrcon
.
Verifica lo stato del server Minecraft:
sudo systemctl status minecraft
Assicurati che il server sia pronto:
Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Worker-Main-2/INFO]: Preparing spawn area: 99%
Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Time elapsed: 103220 ms
Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Done (126.416s)! For help, type "help"
Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Starting remote control listener
Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Thread RCON Listener started
Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575
Quindi connettiti tramite l'utility mcrcon
:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p tua-password -t
Logged in. Type "Q" to quit!
>
Quando accedi alla console di Minecraft da una posizione remota, assicurati che la porta rcon non sia bloccata.
Se ti connetti regolarmente alla console di Minecraft, invece di digitare questo comando lungo, crei un alias bash.
Conclusione
In questo tutorial abbiamo visto come creare un server Minecraft su Ubuntu 20.04 LTS Focal Fossa e configurare un backup giornaliero.