Un nuovo server.
Cominciamo.
sudo apt update
sudo apt upgrade
sudo apt install wget screen nmap
adesso pensiamo a Java aggiungendo prima il repo
sudo add-apt-repository ppa:linuxuprising/java
diamo conferma ed attendiamo che finisca la procedura, poi
sudo apt update
e
sudo apt install oracle-java16-installer
alla fine, potremo verificare di aver installato la versione 16 di Java digitando
java --version
poi riavviamo
sudo reboot
A questo punto creiamo un nuovo utente (lo chiameremo minecraft), nelle cui cartelle verranno ospitati i file relativi al server, così non correremo il rischio di incasinare il sistema (cosa che avevo fatto nel Rasp)
sudo useradd -m -r -d /opt/minecraft minecraft
creiamo anche la password per il nuovo utente con
sudo passwd minecraft
ora creiamo la directory dove ospiteremo i file, come scritto prima (il nome della cartella è a piacere, ricordate nel caso di variare il nome anche nei comandi che daremo dopo)
sudo mkdir /opt/minecraft/survival
procuriamoci il file del server da quì copiando semplicemente il link che troviamo in corrispondenza dell' 1.17, in questo caso il comando sarà
sudo wget -O /opt/minecraft/survival/minecraft_server.jar https://launcher.mojang.com/v1/objects/0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e/server.jar
è tutto su una linea mi raccomando, ovviamente nel caso cambiasse versione l'indirizzo cambierà e dovrete semplicemente copiarlo e sostituirlo a quanto scritto
una volta scaricato, dobbiamo accettare i termini della licenza
sudo bash -c "echo eula=true > /opt/minecraft/survival/eula.txt"
ora assegnamo la proprietà del server all'utente prescelto
sudo chown -R minecraft /opt/minecraft/survival/
adesso creiamo uno script che avvii in automatico il tutto come servizio
sudo nano /etc/systemd/system/minecraft@.service
incolliamo quanto scritto di seguito nell'editor
[Unit]
Description=Minecraft Server: %i
After=network.target
[Service]
WorkingDirectory=/opt/minecraft/%i
User=minecraft
Group=minecraft
Restart=always
ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xmx2G -jar minecraft_server.jar nogui
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say SERVER SHUTTING DOWN IN 5 SECONDS. SAVING ALL MAPS..."5'
ExecStop=/bin/sleep 5
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "save-all"5'
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "stop"5'
[Install]
WantedBy=multi-user.target
ATTENZIONE! nella linea 13 viene indicato quanta memoria può utilizzare minecraft, potete cambiare il quantitativo modificando
-Xmx2G (2 Gb assegnati) con -Xmx4G (assegnando 4Gb ad esempio) come per tutto, più ram c'è meglio è, all'aumentare dei giocatori aumenta la richiesta, regolatevi
ricordate di salvare ed uscite
Ora avviamo il server
sudo systemctl start minecraft@survival
possiamo controllare il suo stato
sudo systemctl status minecraft@survival
e quando abbiamo conferma che tutto è andato per il meglio impostarlo in maniera che si avvii automaticamente ad ogni accensione (o anche riavvio) della macchina
sudo systemctl enable minecraft@survival
Nel caso avessimo necessità di intervenire sul server e volessimo interrompere il servizio, ci basterà digitare
sudo systemctl stop minecraft@survival
adesso verifichiamo che il server sia in ascolto sulla sua porta di default
nmap -p 25565 localhost
se è tutto ok (deve esserlo, sennò avete sbagliato qualche passaggio) siamo pronti per andare avanti.
Si ma come ti trovo?
Per essere sempre raggiungibili anche dall'esterno, ci serve un indirizzo fisso da poter comunicare a chi vogliamo, per questo ci rivolgeremo a no-ip ad esempio e registreremo un indirizzo da impostare come quello del server, che chi si vorrà connettere dovrà quindi digitare come indirizzo del server in minecreaft.
Una volta completata la registrazione ed attivato l'indirizzo, dovremo procedere così, sempre da ssh:
cd /usr/local/src/
poi
sudo wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz
una volta completato il download
sudo tar xf noip-duc-linux.tar.gz
non dimentichiamo di installare build-essential e make prima
sudo apt install build-essential make
finita l'installazione, spostiamoci
cd noip-2.1.9-1
ed ora possiamo dare il comando
sudo make install
Prestare molta attenzione a questo passaggio, infatti al termine dell'installazione verrà effettuata la configurazione dell'account che avete registrato prima, vi verranno chiesti email e password per loggarvi al servizio no-ip, una volta immessi vi verranno elencati gli indirizzi registrati e quali volete aggiornare ad ogni avvio del servizio, anche l'intervallo dopo il quale volete effettuare gli aggiornamenti.
Nel caso ci siano variazioni da fare, il file di configurazione nel quale abbiamo appena salvato i dati, si trova in
/usr/local/etc/no-ip2.conf
editando questo possiamo fare tutte le modifiche del caso.
Una volta completato, passiamo alla creazione ed avvio del servizio noip2 per l’indirizzo dinamico in automatico, quindi come prima, creiamo il file
sudo nano /lib/systemd/system/noip2.service
nel file appena creato scrivere quanto segue
[Unit]Description=noip2 service[Service]Type=forkingExecStart=/usr/local/bin/noip2Restart=always[Install]WantedBy=default.target
quindi digitare
sudo systemctl daemon-reload
sudo systemctl status noip2sudo systemctl start noip2sudo systemctl status noip2sudo systemctl stop noip2sudo systemctl status noip2
sudo systemctl enable noip2
sudo systemctl disable noip2