By | 14 octobre 2017

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