Installation du serveur Minetest sur Ubuntu 16.04 + Configuration pour l'impression 3d.

Serveur : Information technique.

Hostname : servermts
Localisation :  Bissen, Luxembourg (LU-BI1)
Adresse IP : 213.167.240.156 
Coeur : 2
RAM : 2048 Mo
OS : Ubuntu 16.04 LTS 
Disque Système : sysdiskmts / 20 Go

1/ Connexion sur le serveur.

[~] ➔ ssh admin@213.167.240.156 
admin@213.167.240.156's password: 
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.11.0-14-generic x86_64)
...
admin@servermts:~$ 

2/ Passage en mode 'super-utilisateur'.

admin@servermts:~$ su
Password: 
root@servermts:/home/admin# 
[detached from 12283.pts-0.servermts]
admin@servermts:~/JEUX/MINETEST/minetest/games$

3/ Mise-à-jour des dépôts.

root@servermts:/home/admin# apt-get update

4/ Remise à niveau de système d'exploitation.

root@servermts:/home/admin# apt-get upgrade

5/ Configuration des langues : locales.

  • Génération des locales:
root@servermts:/home/admin# locale-gen fr_FR.UTF-8
Generating locales (this might take a while)...
  fr_FR.UTF-8... done
Generation complete.
root@servermts:/home/admin# 
  • Configuration des locales :
root@servermts:/home/admin# dpkg-reconfigure locales
  • Ouvrir :
~/.bashrc

Ajouter à la fin :

#Locales
export LANGUAGE=fr_FR.UTF-8
export LANG=fr_FR.UTF-8
export LC_ALL=fr_FR.UTF-8

Action :

source ~/.bashrc

6/ Installation des paquets de base :

root@servermts:/home/admin# apt-get install mc screen vim htop links unzip

7/ Installation des paquets de développement.

root@servermts:/home/admin# apt-get install build-essential git-core cmake libirrlicht-dev cmake libbz2-dev libpng12-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libluajit-5.1-2 libluajit-5.1-dev  libncurses5-dev doxygen gettext-base libgettextpo-dev libopenal-dev libvorbis-dev gettext libleveldb-dev libgd-dev 

8/ Installation de module Python.

root@servermts:/home/admin# apt-get install python-dev python-setuptools
root@servermts:/home/admin# easy_install pip
root@servermts:/home/admin# pip install Pillow

8/ Quitter le mode 'super-utilisateur'.

root@servermts:/home/admin# exit
exit
admin@servermts:~$ 

9/ Création du répertoire du jeu.

admin@servermts:~$ mkdir -p JEUX/MINETEST
admin@servermts:~$ cd JEUX/MINETEST/
admin@servermts:~/JEUX/MINETEST$ 

10/ Téléchargement du code source.

admin@servermts:~/JEUX/MINETEST$ git clone https://github.com/minetest/minetest.git
Cloning into 'minetest'...
...
Checking connectivity... done.
admin@servermts:~/JEUX/MINETEST$ 

11/ Récupérer la version stable : tag 0.4.15

admin@servermts:~/JEUX/MINETEST$ cd minetest/
admin@servermts:~/JEUX/MINETEST/minetest$ git checkout tags/0.4.15
Note: checking out 'tags/0.4.15'.
...
HEAD is now at 231ac33... Bump version to 0.4.15
admin@servermts:~/JEUX/MINETEST/minetest$ 

12/ Création de la branche stable 0.4.15.

admin@servermts:~/JEUX/MINETEST/minetest$ git checkout -b 0.4.15
Switched to a new branch '0.4.15'
admin@servermts:~/JEUX/MINETEST/minetest$ 

13/ Configuration de la compilation.

admin@servermts:~/JEUX/MINETEST/minetest$  cmake . -DRUN_IN_PLACE=TRUE -DBUILD_SERVER=TRUE -DENABLE_LUAJIT=TRUE -DENABLE_FREETYPE=TRUE -DENABLE_GETTEXT=TRUE -DENABLE_CURL=TRUE -DENABLE_GLES=TRUE -DCMAKE_BUILD_TYPE=Release 
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
...
-- Configuring done
-- Generating done
-- Build files have been written to: /home/admin/JEUX/MINETEST/minetest
admin@servermts:~/JEUX/MINETEST/minetest$ 

14/ Compilation de Minetest.

admin@servermts:~/JEUX/MINETEST/minetest$ make
Scanning dependencies of target jsoncpp
[  0%] Building CXX object lib/jsoncpp/CMakeFiles/jsoncpp.dir/jsoncpp.cpp.o
[  1%] Linking CXX static library libjsoncpp.a
[  1%] Built target jsoncpp
...
[100%] mo-update [uk]: Creating locale directory.
[100%] mo-update [uk]: Creating mo file.
[100%] mo update
[100%] Built target translations
admin@servermts:~/JEUX/MINETEST/minetest$ 

15/ Téléchargement du jeu de base.

admin@servermts:~/JEUX/MINETEST/minetest$ cd games/
admin@servermts:~/JEUX/MINETEST/minetest/games$ git clone https://github.com/minetest/minetest_game.git
Cloning into 'minetest_game'...
...
Checking connectivity... done.
admin@servermts:~/JEUX/MINETEST/minetest/games$ 

16/ Récupérer la version stable : tag 0.4.15.

admin@servermts:~/JEUX/MINETEST/minetest/games$ cd minetest_games/
admin@servermts:~/JEUX/MINETEST/minetest/games/minetest_game$ git checkout tags/0.4.15
Note: checking out 'tags/0.4.15'.
...
HEAD is now at 3c9d089... Boats: Avoid crash if boat pos over limit
admin@servermts:~/JEUX/MINETEST/minetest/games/minetest_game$ 

17/ Création de la branche stable 0.4.15.

admin@servermts:~/JEUX/MINETEST/minetest/games/minetest_game$ git checkout -b 0.4.15
Switched to a new branch '0.4.15'
admin@servermts:~/JEUX/MINETEST/minetest/games/minetest_game$ 

18/ Fichier de configuration Minetest.

admin@servermts:~/JEUX/MINETEST/minetest/games/minetest_game$ cp minetest.conf.example minetest.conf

Ouvrir :

minetest.conf

Chercher :

#creative_mode = false

Remplacer par :

creative_mode = true

Ajouter :

name = superadminmt
server_name = Serveur Minetest (FR)
enable_damage = false
enable_pvp = false
default_privs = interact,shout,fast,fly,fast,home,settime
max_users = 100

19/ Lancement de 'Screen'.

admin@servermts:~/JEUX/MINETEST/minetest/games/minetest_game$ cd
admin@servermts:~$ screen

20/ Lancement du serveur Minetest.

admin@servermts:~$ cd JEUX/MINETEST/minetest/bin/
admin@servermts:~/JEUX/MINETEST/minetest/bin$ ./minetestserver 
2017-10-13 23:33:14: [Main]: Automatically selecting world at [/home/admin/JEUX/MINETEST/minetest/bin/../worlds/world]
2017-10-13 23:33:14: WARNING[Main]: BanManager: creating /home/admin/JEUX/MINETEST/minetest/bin/../worlds/world/ipban.txt
2017-10-13 23:33:14: WARNING[Main]: NodeDefManager: Ignoring CONTENT_IGNORE redefinition
2017-10-13 23:33:14: ACTION[Main]:         .__               __                   __   
2017-10-13 23:33:14: ACTION[Main]:   _____ |__| ____   _____/  |_  ____   _______/  |_ 
2017-10-13 23:33:14: ACTION[Main]:  /     \|  |/    \_/ __ \   __\/ __ \ /  ___/\   __\
2017-10-13 23:33:14: ACTION[Main]: |  Y Y  \  |   |  \  ___/|  | \  ___/ \___ \  |  |  
2017-10-13 23:33:14: ACTION[Main]: |__|_|  /__|___|  /\___  >__|  \___  >____  > |__|  
2017-10-13 23:33:14: ACTION[Main]:       \/        \/     \/          \/     \/        
2017-10-13 23:33:14: ACTION[Main]: World at [/home/admin/JEUX/MINETEST/minetest/bin/../worlds/world]
2017-10-13 23:33:14: ACTION[Main]: Server for gameid="minetest_game" listening on 0.0.0.0:30000.

21/ Sous Linux, le client Minetest 0.4.16 : Lancement.

  • Modification du host. Ouvrir
/etc/host

Ajouter :

213.167.240.156 serveurmt
  • Connexion au serveur Minetest avec un utilisateur normal :
$ minetest --address 213.167.240.156 --name Sam --go
  • Connexion au serveur Minetest avec le super utilisateur :
$ minetest --address 213.167.240.156 --name superadminmt --go

22/ Quitter le serveur. [Ctrl]+[C]

^C2017-10-13 20:37:46: [Main]: INFO: signal_handler(): Ctrl-C pressed, shutting down.
admin@servermts:~/JEUX/MINETEST/minetest/bin$ 

23/ Quitter Screen. [Ctrl]+[A] [D]

[detached from 12283.pts-0.servermts]
admin@servermts:~$

24/ Installation du mod Mesecons :

  • Répertoire de travail :
admin@servermts:~$ mkdir -p JEUX/MINETEST/Mods/
admin@servermts:~$ cd JEUX/MINETEST/Mods/
admin@servermts:~/JEUX/MINETEST/Mods$ 
  • Téléchargement du mod :
admin@servermts:~/JEUX/MINETEST/Mods$ git clone https://github.com/Jeija/minetest-mod-mesecons.git
Cloning into 'minetest-mod-mesecons'...
...
Checking connectivity... done.
admin@servermts:~/JEUX/MINETEST/Mods$ 
  • Copie du mod :
admin@servermts:~/JEUX/MINETEST/Mods$ cp minetest-mod-mesecons/* ~/JEUX/MINETEST/minetest/games/minetest_game/mods/ -R

25/ Installation de 'optimize'.

  • Téléchargement du mod :
admin@servermts:~/JEUX/MINETEST/Mods$ git clone https://github.com/julienrat/minetest2openscad/
Cloning into 'minetest2openscad'...
...
Checking connectivity... done.
admin@servermts:~/JEUX/MINETEST/Mods$ 
  • Compilation :
admin@servermts:~/JEUX/MINETEST/Mods$ cd minetest2openscad/
admin@servermts:~/JEUX/MINETEST/Mods/minetest2openscad$ rm optimize
admin@servermts:~/JEUX/MINETEST/Mods/minetest2openscad$ make
cc -Werror    optimize.c   -o optimize
admin@servermts:~/JEUX/MINETEST/Mods/minetest2openscad$ cd

26/ Installation de la carte pour l'impression 3D.

  • Répertoire de travail :
admin@servermts:~$ cd JEUX/MINETEST/
admin@servermts:~/JEUX/MINETEST$ mkdir Worlds
admin@servermts:~/JEUX/MINETEST$ cd Worlds/
admin@servermts:~/JEUX/MINETEST/Worlds$ 
  • Téléchargement
admin@servermts:~/JEUX/MINETEST/Worlds$ wget http://minetest.lespetitsdebrouillardspc.org/Minetest2Obj_v0.5.zip
--2017-10-13 21:08:45--  http://minetest.lespetitsdebrouillardspc.org/Minetest2Obj_v0.5.zip
...
2017-10-13 21:08:57 (625 KB/s) - ‘Minetest2Obj_v0.5.zip’ saved [7374915/7374915]
admin@servermts:~/JEUX/MINETEST/Worlds$ 
  • Décompression
admin@servermts:~/JEUX/MINETEST/Worlds$ unzip Minetest2Obj_v0.5.zip 
Archive:  Minetest2Obj_v0.5.zip
   creating: Minetest2Obj_v0.5/
...
  inflating: Minetest2Obj_v0.5/worlds/Plateau_v1.0/rollback.sqlite  
 extracting: Minetest2Obj_v0.5/worlds/Plateau_v1.0/world.mt 
admin@servermts:~/JEUX/MINETEST/Worlds$ 
  • Installation des mondes :
admin@servermts:~/JEUX/MINETEST/Worlds$ mv Minetest2Obj_v0.5/worlds/Plateau_v1.0/ ../minetest/worlds/plateau
admin@servermts:~/JEUX/MINETEST/Worlds$ mv Minetest2Obj_v0.5/worlds/Monde_v0.2/ ../minetest/worlds/monde3d
admin@servermts:~/JEUX/MINETEST/Worlds$ cd

27/ Lancement du serveur.

admin@servermts:~$ screen
admin@servermts:~$ cd JEUX/MINETEST/minetest/bin/
  • Monde par défaut :
admin@servermts:~/JEUX/MINETEST/minetest/bin$ ./minetestserver --gameid minetest_game --worldname world
2017-10-13 23:36:10: [Main]: Using world specified by --worldname on the command line
2017-10-13 23:36:10: [Main]: Using game specified by --gameid on the command line
2017-10-13 23:36:10: WARNING[Main]: NodeDefManager: Ignoring CONTENT_IGNORE redefinition
[OK] Mesecons
2017-10-13 23:36:10: ACTION[Main]:         .__               __                   __   
2017-10-13 23:36:10: ACTION[Main]:   _____ |__| ____   _____/  |_  ____   _______/  |_ 
2017-10-13 23:36:10: ACTION[Main]:  /     \|  |/    \_/ __ \   __\/ __ \ /  ___/\   __\
2017-10-13 23:36:10: ACTION[Main]: |  Y Y  \  |   |  \  ___/|  | \  ___/ \___ \  |  |  
2017-10-13 23:36:10: ACTION[Main]: |__|_|  /__|___|  /\___  >__|  \___  >____  > |__|  
2017-10-13 23:36:10: ACTION[Main]:       \/        \/     \/          \/     \/        
2017-10-13 23:36:10: ACTION[Main]: World at [/home/admin/JEUX/MINETEST/minetest/bin/../worlds/world]
2017-10-13 23:36:10: ACTION[Main]: Server for gameid="minetest_game" listening on 0.0.0.0:30000.
  • Monde sous forme de plateau :
admin@servermts:~/JEUX/MINETEST/minetest/bin$ ./minetestserver --gameid minetest_game --worldname plateau

28/ Sous Linux, le client Minetest 0.4.15 : Lancement.

  • Connexion au serveur Minetest avec un utilisateur normal :
$ minetest --address 213.167.240.156 --name Sam --go
  • Connexion au serveur Minetest avec le super utilisateur :
$ minetest --address 213.167.240.156 --name superadminmt --go

29/ Sous Linux, le client Minetest 0.4.15 : Sélection du node de construction 3d. A partir de l’inventaire [I], sélectionner la node/bloc ‘Red lightstone‘. 30/ Sous Linux, le client Minetest 0.4.15 : Création de la construction. 31/ Exportation de l'objet au format 'OpenSCAD'.

admin@servermts:~/JEUX/MINETEST/minetest/bin$ cd ..
  • Version de Python :
admin@servermts:~/JEUX/MINETEST/minetest$ python --version
Python 2.7.12
  • Création du tableau des nodes/blocs :
admin@servermts:~/JEUX/MINETEST/minetest$ ../Mods/minetest2openscad/minetestmapper.py -i worlds/world/ | tee tableau.in
  • Vérification :
admin@servermts:~/JEUX/MINETEST/minetest$ ls -l tableau.in 
-rw-r--r-- 1 admin users 96 oct.  14 00:26 tableau.in
admin@servermts:~/JEUX/MINETEST/minetest$ 
  • Création du fichier ‘.scad’ :
admin@servermts:~/JEUX/MINETEST/minetest$ cat tableau.in | ~/JEUX/MINETEST/Mods/minetest2openscad/optimize > dessin.scad
  • Vérification :
admin@servermts:~/JEUX/MINETEST/minetest$ ls -lh dessin.scad 
-rw-r--r-- 1 admin users 686 oct.  14 21:17 dessin.scad
admin@servermts:~/JEUX/MINETEST/minetest$ 

32/ Visualisation et configuration de l'objet pour l'impression 3d. http://jeulibre.saventurier.science/minetest-impression-3d-v2/ 33/ Liens. https://dev.minetest.net/Compiling_Minetest http://jeulibre.saventurier.science/installation-dun-serveur-minetest-stable-0-4-16-sur-un-serveur-gandi-iaas/ http://jeulibre.saventurier.science/minetest-impression-3d-v2/ http://www.wikidebrouillard.org/index.php?title=Impression_3D_avec_MINETEST