Introduzione
Raspberry Pi può essere utilizzato in molti progetti diversi. Uno dei casi d'uso più popolari di Raspberry Pi è trasformare Raspberry Pi in un server di gioco.
In questo tutorial, ti guideremo attraverso il processo di installazione e configurazione di Minecraft Server su Raspberry Pi 3 o 4.
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.
Prerequisiti
Partiamo dal presupposto che Raspbian sia installato sul tuo Raspberry Pi. Plex Media Server non ha bisogno di un'interfaccia grafica, quindi il nostro consiglio è di usare l'immagine Raspbian Stretch Lite e abilitare SSH. In questo modo, il tuo Raspberry Pi avrà molta più potenza di elaborazione e memoria disponibili per eseguire il server multimediale Plex.
Useremo l'utilità mcrcon
per connetterci al server Minecraft. Installa i pacchetti richiesti per compilare lo strumento mcrcon
:
sudo apt update
sudo apt install git build-essential
Abilitare il driver GL utilizzando lo strumento raspi-config
:
raspi-config
- Passare a Opzioni avanzate utilizzando il tasto su o il tasto giù e premere
Enter
. - Seleziona GL Driver e premi
Enter
. - Selezionare GL (KMS falso), premere
Enter
. - Selezionare il pulsante Fine, premere
Enter
. Quando viene richiesto Vuoi riavviare ora? Seleziona Sì e premiEnter
.
Una volta che il Pi è tornato online, continua con i passaggi successivi.
Installare Java Runtime Environment
Minecraft richiede l'installazione di Java 8 o versione successiva sul sistema.
Installeremo la versione senza testa di JRE. Questa versione è più adatta per le applicazioni server poiché ha meno dipendenze e utilizza meno risorse di sistema.
Per installare il tipo OpenJRE 8 senza testa:
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-b01-1+rpi1-b01)
OpenJDK Client VM (build 25.212-b01, mixed mode)
Creare un utente per 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
dove verrà eseguito 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é l'utente non sarà in grado di accedere tramite SSH.
Installare Minecraft su Raspberry Pi
Prima di iniziare con il processo di installazione, assicurati di passare all'utente minecraft:
sudo su - minecraft
Creare due directory all'interno della home directory dell'utente:
mkdir -p ~/{tools,server}
- La directory
tools
memorizzerà 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. mcrcon è un client RCON incorporato in C.
Scaricheremo il codice sorgente da GitHub e costruiremo il binario mcrcon
.
Passare alla directory ~/tools
e clonare il repository Tiiffi/mcrcon
da GitHub eseguendo il comando seguente:
cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git
Quindi, passare alla directory del repository:
cd ~/tools/mcrcon
Inizia la compilazione 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 al seguente:
Usage: mcrcon [OPTIONS]... [COMMANDS]...
Sends rcon commands to Minecraft server.
...
mcrcon 0.6.1 (built: Sep 19 2019 20:52:13)
Report bugs to tiiffi_at_gmail_dot_com or 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. Installeremo l'ultimo server Minecraft vaniglia ufficiale di Mojang.
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.14.4
. Prima di eseguire il comando successivo, è necessario controllare la pagina di download per una nuova versione.
Esegui il comando wget
seguente per scaricare il file jar di Minecraft nella directory ~/server
:
wget https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar -P ~/server
Configurazione di Minecraft Server
Una volta completato il download, camdia directory in ~/server
e avvia il server Minecraft:
cd ~/server
java -Xms512M -Xmx768M -jar server.jar nogui
Quando viene avviato per la prima volta, il server esegue alcune operazioni e crea i file server.properties
e eula.txt
.
[21:06:23] [main/ERROR]: Failed to load properties from file: server.properties
[21:06:24] [main/WARN]: Failed to load eula.txt
[21:06:24] [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 devi accettare l'EULA di Minecraft. Apri il eula.txt
e modifica eula=false
in eula=true
:
nano ~/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).
#Thu Sep 19 21:06:24 BST 2019
eula=true
Salvare e chiudere il file premendo CTRL+X, seguito da Y per salvare le modifiche e quindi ENTER se stai utilizzando nano.
Quindi, modificare il file 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:
rcon.port=25575
rcon.password=strong-password
enable-rcon=true
Non dimenticare di cambiare strong-password
in qualcosa di più sicuro. Se non vuoi connetterti al server Minecraft da posizioni remote, assicurati che il tuo firewall blocchi la porta rcon.
Puoi anche regolare le proprietà predefinite del server. Per ulteriori informazioni sulle impostazioni disponibili, consultare la pagina server.properties.
Creare il file di unità Systemd (Systemd Unit File)
Per eseguire Minecraft come servizio, creeremo un nuovo Systemd Unit File.
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:
[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 -Xmx768M -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 i flag Xmx
e Xms
base alla versione e alle risorse di Raspberry Pi. Il flag Xmx
flag 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 e la password rcon
corrette.
Salvare e chiudere il file e ricaricare la configurazione di systemd:
sudo systemctl daemon-reload
Avviare il server Minecraft digitando:
sudo systemctl start 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; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-09-19 17:12:32 BST; 1min 11s ago
Main PID: 1992 (java)
Tasks: 17 (limit: 1604)
Memory: 338.9M
CGroup: /system.slice/minecraft.service
└─1992 /usr/bin/java -Xmx768M -Xms512M -jar server.jar nogui
La prima volta che avvierai il servizio, verranno generati diversi file e directory di configurazione, incluso il mondo Minecraft. Utilizzare il comando tail
per monitorare il file di registro del server:
tail -f /opt/minecraft/server/logs/latest.log
Una volta avviato il server Minecraft, l'output sarà simile al seguente:
[21:19:25] [Server-Worker-3/INFO]: Preparing spawn area: 98%
[21:19:25] [Server thread/INFO]: Time elapsed: 201153 ms
[21:19:25] [Server thread/INFO]: Done (418.339s)! For help, type "help"
[21:19:25] [Server thread/INFO]: Starting remote control listener
[21:19:25] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575
Abilita il servizio Minecraft per l'avvio automatico all'avvio:
sudo systemctl enable minecraft
Accedere alla console di Minecraft
Per accedere alla console di Minecraft utilizzare l'utilità mcrcon
. È necessario specificare l'host, la porta rcon, la password rcon e utilizzare lo switch -t
che abilita la modalità terminale mcrcon
:
/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 di Minecraft da una posizione remota, assicurati che la porta rcon non sia bloccata.
Potresti creare un alias bash per evitare di digitare questo comando ogni volta che vuoi accedere alla console di Minecraft.
Conclusione
Hai installato correttamente il server Minecraft sul tuo Raspberry Pi.