Minetest è un'alternativa gratuita e open source al popolare gioco Minecraft. Il server è estremamente facile da configurare ed eseguire.
Prerequisiti
- Un'istanza di 1 GB + VPS o dedicata con Ubuntu 17.04.
- wget (installato con
apt install wget
).
- Un editor di testo.
Passaggio 1: aggiunta del repository Minetest Stable e installazione del software server
Dato che Ubuntu tende a rimanere indietro con i pacchetti per Minetest, al suo posto verrà utilizzato PPA stabile. Questo può essere aggiunto con i seguenti comandi.
# add-apt-repository ppa:minetestdevs/stable
# apt update
Successivamente è possibile installare il server.
# apt install minetest
Passaggio 2: creazione di un utente, apertura delle porte e test del server
Per motivi di sicurezza è sempre una buona idea eseguire servizi all'interno del proprio utente come mostrato.
# useradd -mU minetest
Questo creerà il tuo minetest
utente con il suo gruppo e con una home directory per l'esecuzione del server.
Prima di eseguire il test è necessario aprire la porta 30000
sul firewall predefinito di Ubuntu, altrimenti non sarà possibile connettersi.
# ufw allow 30000
Ora sarebbe un buon momento per testare il server e vedere se funziona.
# su minetest
$ minetest --server
Se tutto è andato bene, verrai accolto dal seguente output:
WARNING[Main]: BanManager: creating /home/minetest/.minetest/worlds/world/ipban.txt
WARNING[Main]: NodeDefManager: Ignoring CONTENT_IGNORE redefinition
WARNING[Main]: /!\ You are using old player file backend. This backend is deprecated and will be removed in next release /!\
WARNING[Main]: Switching to SQLite3 or PostgreSQL is advised, please read http://wiki.minetest.net/Database_backends.
ACTION[Main]: .__ __ __
ACTION[Main]: _____ |__| ____ _____/ |_ ____ _______/ |_
ACTION[Main]: / \| |/ \_/ __ \ __\/ __ \ / ___/\ __\
ACTION[Main]: | Y Y \ | | \ ___/| | \ ___/ \___ \ | |
ACTION[Main]: |__|_| /__|___| /\___ >__| \___ >____ > |__|
ACTION[Main]: \/ \/ \/ \/ \/
ACTION[Main]: World at [/home/minetest/.minetest/worlds/world]
ACTION[Main]: Server for gameid="minetest" listening on 0.0.0.0:30000.
Se ricevi l'avviso di cui sopra sul backend del giocatore, non preoccuparti troppo poiché questo verrà risolto nel passaggio successivo.
Connettiti al tuo server con il tuo client per vedere se tutto funziona. È possibile arrestare il server in qualsiasi momento premendo Ctrl+C
sulla tastiera all'interno della shell.
Passaggio 3: configurazione del server Minetest
Innanzitutto, vorrai scaricare il minetest.conf
file di configurazione di esempio .
$ cd ~/.minetest
$ wget https://raw.githubusercontent.com/minetest/minetest/master/minetest.conf.example
$ mv minetest.conf.example minetest.conf
Questo file ha un ampio elenco di possibili impostazioni che è possibile modificare e abilitare (tramite linee di commento), tuttavia per il momento ce ne sono alcune importanti da impostare.
Il nome e la descrizione del tuo server (ad esempio):
server_name = Minetest server
server_description = Welcome to my Minetest Server
L'indirizzo IP e la porta desiderata del server (ad esempio):
bind_address = 203.0.113.1
port = 30000
Se si imposta una porta diversa da quella predefinita, 30000
assicurarsi di aggiornare le regole del firewall.
#ufw delete allow 30000
#ufw allow <port>
Un'altra opzione importante è name
. Chiunque si connette al server Minetest con il valore specificato avrà i privilegi di amministratore. Impostalo su un nome utente desiderato e imposta una password per il tuo account in un secondo momento.
Probabilmente ricorderai l'avvertimento relativo al backend del player in precedenza, quindi passare a SQLite3 è un must poiché il vecchio backend è obsoleto e verrà rimosso in una versione successiva, se non lo è già stato. Se non hai ricevuto questo messaggio quando hai testato il server nel passaggio 2, puoi andare direttamente al passaggio 4.
$ minetest --server --migrate-players sqlite3 --world ~/.minetest/worlds/world
Successivamente dovresti vedere qualcosa come il seguente messaggio.
ACTION[Main]: Successfully migrated 1 players
ACTION[Main]: world.mt updated
Passaggio 4: esecuzione del server all'avvio
Per eseguire il server all'avvio è necessario un file di servizio systemd. Per fortuna, questi sono abbastanza semplici da creare.
Esci dalla shell di root e aggiungi quanto segue /etc/systemd/system/minetest.service
[Unit]
Description=Minetest Server
After=network.target
[Service]
Type=simple
User=minetest
Group=minetest
WorkingDirectory=/home/minetest
ExecStart=/usr/bin/minetest --server
Restart=on-abort
[Install]
WantedBy=multi-user.target
D'ora in poi il server Minetest può essere avviato con systemctl
(e lo farà automaticamente dopo il riavvio o in caso di arresto anomalo del server Minetest)
# systemctl enable minetest.service
# systemctl start minetest.service
Allo stesso modo è possibile controllare lo stato o arrestare / riavviare il server Minetest sostituendo "start" nel comando sopra.
Conclusione
Il server Minetest dovrebbe essere attivo e utilizzabile. In caso di problemi di connessione, verificare che la porta sia aperta e che l'indirizzo IP sia specificato correttamente in minetest.conf
. Informazioni sulla gestione delle autorizzazioni del giocatore e vari comandi del server sono disponibili nel wiki di Minetest .