Minetest est une alternative gratuite et open source au jeu populaire Minecraft. Le serveur est extrêmement facile à configurer et à exécuter.
Conditions préalables
- Une instance de 1 Go + VPS ou dédiée exécutant Ubuntu 17.04.
- wget (installé avec
apt install wget
).
- Un éditeur de texte.
Étape 1: Ajout du référentiel Minetest Stable et installation du logiciel serveur
Comme Ubuntu a tendance à être à la traîne avec les packages pour Minetest, vous utiliserez plutôt le PPA stable. Cela peut être ajouté avec les commandes suivantes.
# add-apt-repository ppa:minetestdevs/stable
# apt update
Après cela, vous pouvez installer le serveur.
# apt install minetest
Étape 2: création d'un utilisateur, ouverture de ports et test du serveur
Pour des raisons de sécurité, il est toujours judicieux d'exécuter des services au sein de leur propre utilisateur, comme indiqué.
# useradd -mU minetest
Cela créera votre minetest
utilisateur avec son propre groupe et avec un répertoire personnel pour que le serveur s'exécute.
Avant de tester, vous devez ouvrir le port 30000
sur le pare-feu par défaut d'Ubuntu, sinon vous ne pourrez pas vous connecter.
# ufw allow 30000
Ce serait le bon moment pour tester le serveur et voir s'il fonctionne.
# su minetest
$ minetest --server
Si tout s'est bien passé, vous serez accueilli par la sortie suivante:
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.
Si vous recevez l'avertissement ci-dessus concernant le backend du joueur, ne vous inquiétez pas trop car cela sera corrigé à l'étape suivante.
Connectez-vous à votre serveur avec votre client pour voir si tout fonctionne. Vous pouvez arrêter le serveur à tout moment en appuyant Ctrl+C
sur votre clavier à l'intérieur du shell.
Étape 3: configuration du serveur Minetest
Tout d'abord, vous souhaiterez télécharger l'exemple de minetest.conf
fichier de configuration.
$ cd ~/.minetest
$ wget https://raw.githubusercontent.com/minetest/minetest/master/minetest.conf.example
$ mv minetest.conf.example minetest.conf
Ce fichier contient une liste complète de paramètres possibles que vous pouvez modifier et activer (en supprimant les commentaires), mais pour le moment, vous devez définir quelques paramètres importants.
Le nom et la description de votre serveur (par exemple):
server_name = Minetest server
server_description = Welcome to my Minetest Server
L'adresse IP et le port souhaité de votre serveur (par exemple):
bind_address = 203.0.113.1
port = 30000
Si vous définissez un port différent de celui par défaut, 30000
assurez-vous de mettre à jour vos règles de pare-feu.
#ufw delete allow 30000
#ufw allow <port>
Une autre option importante est name
. Celui qui se connecte au serveur Minetest avec la valeur spécifiée se verra accorder des privilèges d'administrateur. Définissez-le sur le nom d'utilisateur que vous souhaitez et définissez un mot de passe pour votre compte ultérieurement.
Vous vous souviendrez probablement plus tôt de l'avertissement concernant le backend du joueur, donc passer à SQLite3 est un must car l'ancien backend est obsolète et sera supprimé dans une version ultérieure, s'il ne l'a pas déjà été. Si vous n'avez pas reçu ce message lorsque vous avez testé le serveur à l'étape 2, vous pouvez passer directement à l'étape 4.
$ minetest --server --migrate-players sqlite3 --world ~/.minetest/worlds/world
Ensuite, vous devriez voir quelque chose comme le message suivant.
ACTION[Main]: Successfully migrated 1 players
ACTION[Main]: world.mt updated
Étape 4: exécuter le serveur au démarrage
Pour exécuter le serveur au démarrage, un fichier de service systemd est nécessaire. Heureusement, ils sont assez simples à créer.
Revenez dans votre shell racine et ajoutez ce qui suit à /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
A partir de maintenant, le serveur Minetest peut être démarré avec systemctl
(et le fera automatiquement après le redémarrage ou si le serveur Minetest plante)
# systemctl enable minetest.service
# systemctl start minetest.service
De même, vous pouvez vérifier l'état ou arrêter / redémarrer le serveur Minetest en remplaçant "start" dans la commande ci-dessus.
Conclusion
Votre serveur Minetest doit être actif et utilisable. Si vous rencontrez des problèmes de connexion, vérifiez que votre port est ouvert et que l'adresse IP est correctement spécifiée dans minetest.conf
. Des informations sur la gestion des autorisations des joueurs et diverses commandes de serveur peuvent être trouvées sur le wiki Minetest .