Minecraft è uno dei giochi più popolari di tutti i tempi. È un videogioco sandbox, che consente ai suoi giocatori di esplorare mondi infiniti e costruire di tutto, dalle semplici case ai grandi grattacieli.
Questo tutorial copre l'installazione e la configurazione di Minecraft Server su Ubuntu 18.04. Useremo Systemd per eseguire il server Minecraft e mcrcon
utilità per la connessione all'istanza in esecuzione. Ti mostreremo anche come creare un cronjob che esegua backup regolari del server.
Le stesse istruzioni si applicano per Ubuntu 16.04 e qualsiasi distribuzione basata su Ubuntu, inclusi Linux Mint e OS elementare.
Prerequisiti #
L'utente con cui hai effettuato l'accesso deve disporre dei privilegi sudo per poter installare i pacchetti.
Installa i pacchetti richiesti per compilare mcrcon
strumento:
sudo apt update
sudo apt install git build-essential
Installazione di Java Runtime Environment #
Minecraft richiede Java 8 o versioni successive. Poiché Minecraft Server non necessita di un'interfaccia utente grafica, installeremo la versione headless di JRE. Questa versione è più adatta per le applicazioni server poiché ha meno dipendenze e utilizza meno risorse di sistema.
Installa il pacchetto OpenJRE 8 senza testa eseguendo:
sudo apt install openjdk-8-jre-headless
Verifica l'installazione stampando la versione Java:
java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)
Creazione utente Minecraft #
Per motivi di sicurezza, Minecraft non deve essere eseguito con l'utente root. Creeremo un nuovo utente e gruppo di sistema con la directory home /opt/minecraft
che eseguirà il server Minecraft:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Non imposteremo una password per questo utente. Questa è una buona pratica di sicurezza perché questo utente non sarà in grado di accedere tramite SSH. Per passare a minecraft
utente dovrai accedere al server come root o utente con privilegi sudo.
Installazione di Minecraft su Ubuntu #
Prima di iniziare con il processo di installazione, assicurati di passare a minecraft
utente.
sudo su - minecraft
Eseguire il comando seguente per creare tre nuove directory all'interno della directory home dell'utente:
mkdir -p ~/{backups,tools,server}
- I
backups
directory memorizzerà il backup del server. Successivamente puoi sincronizzare questa directory sul tuo server di backup remoto. - Gli
tools
la directory memorizzerà ilmcrcon
client e lo script di backup. - Il
server
la directory conterrà il server Minecraft effettivo e i suoi dati.
Download e compilazione di mcrcon #
RCON è un protocollo che permette di connettersi ai server Minecraft ed eseguire comandi. client mcronis RCON integrato in C.
Scaricheremo il codice sorgente da GitHub e costruiremo il mcrcon
binario.
Inizia navigando su ~/tools
directory e clonare il Tiiffi/mcrcon
repository da GitHub utilizzando il seguente comando:
cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git
Al termine della clonazione, passa alla directory del repository:
cd ~/tools/mcrcon
Avvia la compilazione del mcrcon
utilità digitando:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Una volta completato, puoi testarlo digitando:
./mcrcon -h
L'output sarà simile a questo:
Usage: mcrcon [OPTIONS]... [COMMANDS]...
Sends rcon commands to Minecraft server.
Option:
-h Print usage
-H Server address
-P Port (default is 25575)
-p Rcon password
-t Interactive terminal mode
-s Silent mode (do not print received packets)
-c Disable colors
-r Output raw packets (debugging and custom handling)
-v Output version information
Server address, port and password can be set using following environment variables:
MCRCON_HOST
MCRCON_PORT
MCRCON_PASS
Command-line options will override environment variables.
Rcon commands with arguments must be enclosed in quotes.
Example:
mcrcon -H my.minecraft.server -p password "say Server is restarting!" save-all stop
mcrcon 0.6.1 (built: May 19 2019 23:39:16)
Report bugs to tiiffi_at_gmail_dot_com or https://github.com/Tiiffi/mcrcon/issues/
Download del server Minecraft #
Esistono diverse mod del server Minecraft come Craftbukkitor Spigot che ti consente 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.
L'ultimo file di archivio Java (JAR) del server Minecraft è disponibile per il download dalla pagina di download di Minecraft.
Al momento della scrittura, l'ultima versione è 1.14.1
. Prima di continuare con il passaggio successivo dovresti controllare la pagina di download per una nuova versione.
Esegui il seguente wget
comando per scaricare il file jar di Minecraft nel ~/server
directory:
wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server
Configurazione del server Minecraft #
Una volta completato il download, vai al ~/server
directory e avvia il server Minecraft:
cd ~/server
java -Xmx1024M -Xms512M -jar server.jar nogui
Quando avvii il server per la prima volta, esegue alcune operazioni e crea il server.properties
e eula.txt
file e fermate.
[23:41:44] [main/ERROR]: Failed to load properties from file: server.properties
[23:41:45] [main/WARN]: Failed to load eula.txt
[23:41:45] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Come puoi vedere dall'output sopra, dobbiamo accettare l'EULA di Minecraft per eseguire il server. Apri il eula.txt
file e cambia eula=false
a eula=true
:
nano ~/server/eula.txt
~/server/eula.txt#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Sun May 19 23:41:45 PDT 2019
eula=true
Chiudi e salva il file.
Successivamente, dobbiamo modificare server.properties
per abilitare il protocollo rcon e impostare la password rcon. Apri il file usando il tuo editor di testo:
nano ~/server/server.properties
Individua le seguenti righe e aggiorna i loro valori come mostrato di seguito:
~/server/server.propertiesrcon.port=25575
rcon.password=strong-password
enable-rcon=true
Non dimenticare di modificare la strong-password
a qualcosa di più sicuro. Se non vuoi connetterti al server Minecraft da postazioni 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 possibili impostazioni, visitare la pagina server.properties.
Creazione del file Systemd Unit #
Per eseguire Minecraft come servizio creeremo un nuovo file di unità Systemd.
Torna al tuo utente sudo digitando exit
.
Apri il tuo editor di testo e crea un file chiamato minecraft.service
in /etc/systemd/system/
:
sudo nano /etc/systemd/system/minecraft.service
Incolla la seguente configurazione:
/etc/systemd/system/minecraft.service[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop
[Install]
WantedBy=multi-user.target
Modifica il Xmx
e Xms
flag in base alle risorse del tuo server. Il Xmx
flag definisce il pool di allocazione di memoria massimo per una JVM (Java virtual machine), mentre Xms
definisce il pool di allocazione della memoria iniziale. Inoltre, assicurati di utilizzare il rcon
corretto porta e password.
Salva e chiudi il file e ricarica la configurazione di systemd manager:
sudo systemctl daemon-reload
Ora puoi avviare il server Minecraft eseguendo:
sudo systemctl start minecraft
La prima volta che avvii il servizio genererà diversi file e directory di configurazione incluso il mondo Minecraft.
Verifica 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 Sun 2019-05-19 23:49:18 PDT; 9min ago
Main PID: 11262 (java)
Tasks: 19 (limit: 2319)
CGroup: /system.slice/minecraft.service
`-11262 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui
Infine, abilita l'avvio automatico del servizio Minecraft all'avvio:
sudo systemctl enable minecraft
Regolazione del firewall #
Se il tuo server è protetto da un firewall e vuoi accedere al server Minecraft dall'esterno della tua rete locale devi aprire la porta 25565
.
Per consentire il traffico sulla porta Minecraft predefinita 25565
digita il seguente comando:
sudo ufw allow 25565/tcp
Configurazione dei backup #
In questa sezione creeremo uno script di shell di backup e cronjob per eseguire automaticamente il backup del server Minecraft.
Inizia passando all'utenteminecraft
:
sudo su - minecraft
Apri il tuo editor di testo e crea il seguente file:
nano /opt/minecraft/tools/backup.sh
Incolla la seguente configurazione:
/opt/minecraft/tools/backup.sh#!/bin/bash
function rcon {
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password "$1"
}
rcon "save-off"
rcon "save-all"
tar -cvpzf /opt/minecraft/backups/server-$(date +%F-%H-%M).tar.gz /opt/minecraft/server
rcon "save-on"
## Delete older backups
find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete
Salva il file e rendi eseguibile lo script eseguendo il seguente chmod
comando:
chmod +x /opt/minecraft/tools/backup.sh
Quindi, crea un processo cron che verrà eseguito automaticamente una volta al giorno a un'ora prestabilita.
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
Accesso alla console Minecraft #
Per accedere alla Console di Minecraft puoi utilizzare il mcrcon
utilità. La sintassi è la seguente, è necessario specificare l'host, la porta rcon, la password rcon e utilizzare il -t
interruttore che abilita il mcrcon
modalità terminale:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit!
>
Quando accedi alla Console Minecraft da una postazione remota assicurati che la porta rcon non sia bloccata.
Se ti connetti regolarmente alla console Minecraft, invece di digitare questo lungo comando dovresti creare un alias bash.