Mise à jour doc sur la génération de carte satellite

This commit is contained in:
bri cassa 2021-08-26 22:50:00 +02:00
parent e80abf2141
commit 0d2289bf42
4 changed files with 186 additions and 233 deletions

107
doc/générer_carte.md Normal file
View File

@ -0,0 +1,107 @@
# Installation d'une carte satellite
Voici deux méthodes décrivant comment générer et rendre accessible une carte satellite de Minetest NALC.
La première méthode avec **MTSatellite** est la plus coûteuse en ressource mais permet d'obtenir une carte qui se renouvelle dynamiquement. L'inconvénient est qu'il faut convertir le backend de la map vers un format spécifique.
La seconde méthode avec **minetestmapper** permet de généner un instantané de la carte mais n'est pas dymique. L'aventage est que la solution est peu couteuse en ressources et compatible avec le backend en PostgreSQL de la map de NALC.
## Installation avec MTSatellite
### Précautions
Les instructions suivantes peuvent mener à la destruction du serveur Minetest. Soyez sûr d'avoir effectué des sauvegardes au préalable.
Ces instructions sont destinées au serveur Minetest NALC.
### Installation de MTSatellite (Gentoo)
Se connecter en utilisateur root sur le serveur :
-- Installation des packages nécessaires
# emerge -av go leveldb mercurial
Ensuite suivre les [instructions de compilations](https://sys4.fr/gitea/mtcontrib/mtsatellite/src/branch/master/COMPILE.md) de mtsatellite.
<a id="orgf9c3427"></a>
### Création du fichier colors.txt
Je recommande si possible de faire cette opération sur un serveur de test avec la même liste de mods que le serveur de production.
Se placer à la racine du serveur minetest et télécharger le dépôt MTAutocolors :
$ cd ~/nalc-test
$ git clone --depth 1 https://sys4.fr/gitea/nalc/MTAutocolors.git
Les instructions d'installation du dépôt [MTAutocolors](https://sys4.fr/gitea/nalc/MTAutocolors) sont obsolètes car le dépôt officiel n'existe plus. Voici donc comment installer MTAutocolors :
$ cd ~/nalc-test/MTAutocolors/cmd/mtautocolors
$ go mod init minetest/mtautocolors
$ go mod tidy
$ go get -u minetest/mtautocolors
L'exécutable mtautocolors est maintenant installé dans `~/go/bin`.
Créer un lien symbolique du mod automappercolors dans le dossier `custom/mods` :
$ cd ~/nalc-test
$ mkdir -p custom/mods
$ ln -s ~/nalc-test/MTAutocolors/mods/automappercolors custom/mods/
Mise à jour de la liste des mods que le serveur doit charger au démarrage :
$ ./shutdown.sh # Éteindre le serveur
$ ./upgrade.sh -b stable -w nalc-stable-test -f worldmt # Changer la branche et le nom du world si nécessaire
$ ./shutdown.sh -r # Relancer le serveur
Maintenant suivre les instructions du paragraphe **usage** du fichier `~/nalc-test/MTAutocolors/README.md` pour pouvoir générer le fichier `colors.txt`.
### Migrer le backend de la map vers levelDB ou SQLite3
À faire uniquement si le backend actuel est différent.
$ cd ~/nalc-stable/minetest/bin
$ ./minetestserver --migrate leveldb --world /home/minetest/nalc-stable/minetest/worlds/nalc-stable
Remplacer `leveldb` par `sqlite` si besoin.
### Configurer MTSatellite
Suivre [les instructions de configuration](https://sys4.fr/gitea/mtcontrib/mtsatellite/src/branch/master/SETUP.md) du dépôt.
## Installation avec minetestmapper
Tout d'abord il faut installer le langage go si ce n'est pas déjà fait :
-- Installation des packages nécessaires
# emerge -av go leveldb mercurial
Puis procéder à la [Création du fichier colors.txt](#orgf9c3427) de la même façon que pour l'installation avec MTSatellite.
### Téléchargement et compilation
Se placer à la racine du serveur NALC et cloner le dépôt mirroir :
$ cd ~/nalc-stable
$ git clone --depth 1 https://sys4.fr/gitea/minetest/minetestmapper.git
Suivre les instructions du fichier `~/nalc-stable/minetestmapper/README.rst` et installer les dépendances manquantes.
Lancer la compilation :
$ cmake .
$ make -j$(nproc)
### Générer la carte
$ cp ~/nalc-stable/minetestmapper
$ ./minetestmapper -i ~/nalc-stable/minetest/worlds/nalc-stable/ -o nalc_map.png --colors ~/nalc-test/colors.txt --min-y -25 --max-y 300 --backend postgresql --geometry -5000:-5000+10000+10000

79
doc/générer_carte.org Normal file
View File

@ -0,0 +1,79 @@
* Installation d'une carte satellite
Voici deux méthodes décrivant comment générer et rendre accessible une carte satellite de Minetest NALC.\\
La première méthode avec *MTSatellite* est la plus coûteuse en ressource mais permet d'obtenir une carte qui se renouvelle dynamiquement. L'inconvénient est qu'il faut convertir le backend de la map vers un format spécifique.\\
La seconde méthode avec *minetestmapper* permet de généner un instantané de la carte mais n'est pas dymique. L'aventage est que la solution est peu couteuse en ressources et compatible avec le backend en PostgreSQL de la map de NALC.
** Installation avec MTSatellite
*** Précautions
Les instructions suivantes peuvent mener à la destruction du serveur Minetest. Soyez sûr d'avoir effectué des sauvegardes au préalable.\\
Ces instructions sont destinées au serveur Minetest NALC.
*** Installation de MTSatellite (Gentoo)
Se connecter en utilisateur root sur le serveur :
#+BEGIN_EXAMPLE
-- Installation des packages nécessaires
# emerge -av go leveldb mercurial
#+END_EXAMPLE
Ensuite suivre les [[https://sys4.fr/gitea/mtcontrib/mtsatellite/src/branch/master/COMPILE.md][instructions de compilations]] de mtsatellite.
*** Création du fichier colors.txt
Je recommande si possible de faire cette opération sur un serveur de test avec la même liste de mods que le serveur de production.
Se placer à la racine du serveur minetest et télécharger le dépôt MTAutocolors :
#+begin_example
$ cd ~/nalc-test
$ git clone --depth 1 https://sys4.fr/gitea/nalc/MTAutocolors.git
#+end_example
Les instructions d'installation du dépôt [[https://sys4.fr/gitea/nalc/MTAutocolors][MTAutocolors]] sont obsolètes car le dépôt officiel n'existe plus. Voici donc comment installer MTAutocolors :
#+begin_example
$ cd ~/nalc-test/MTAutocolors/cmd/mtautocolors
$ go mod init minetest/mtautocolors
$ go mod tidy
$ go get -u minetest/mtautocolors
#+end_example
L'exécutable mtautocolors est maintenant installé dans ~~/go/bin~.
Créer un lien symbolique du mod automappercolors dans le dossier ~custom/mods~ :
#+begin_example
$ cd ~/nalc-test
$ mkdir -p custom/mods
$ ln -s ~/nalc-test/MTAutocolors/mods/automappercolors custom/mods/
#+end_example
Mise à jour de la liste des mods que le serveur doit charger au démarrage :
#+begin_example
$ ./shutdown.sh # Éteindre le serveur
$ ./upgrade.sh -b stable -w nalc-stable-test -f worldmt # Changer la branche et le nom du world si nécessaire
$ ./shutdown.sh -r # Relancer le serveur
#+end_example
Maintenant suivre les instructions du paragraphe *usage* du fichier ~~/nalc-test/MTAutocolors/README.md~ pour pouvoir générer le fichier ~colors.txt~.
*** Migrer le backend de la map vers levelDB ou SQLite3
À faire uniquement si le backend actuel est différent.
#+BEGIN_EXAMPLE
$ cd ~/nalc-stable/minetest/bin
$ ./minetestserver --migrate leveldb --world /home/minetest/nalc-stable/minetest/worlds/nalc-stable
#+END_EXAMPLE
Remplacer ~leveldb~ par ~sqlite~ si besoin.
*** Configurer MTSatellite
Suivre [[https://sys4.fr/gitea/mtcontrib/mtsatellite/src/branch/master/SETUP.md][les instructions de configuration]] du dépôt.
** Installation avec minetestmapper
Tout d'abord il faut installer le langage go si ce n'est pas déjà fait :
#+BEGIN_EXAMPLE
-- Installation des packages nécessaires
# emerge -av go leveldb mercurial
#+END_EXAMPLE
Puis procéder à la [[Création du fichier colors.txt]] de la même façon que pour l'installation avec MTSatellite.
*** Téléchargement et compilation
Se placer à la racine du serveur NALC et cloner le dépôt mirroir :
#+begin_example
$ cd ~/nalc-stable
$ git clone --depth 1 https://sys4.fr/gitea/minetest/minetestmapper.git
#+end_example
Suivre les instructions du fichier ~~/nalc-stable/minetestmapper/README.rst~ et installer les dépendances manquantes.
Lancer la compilation :
#+begin_example
$ cmake .
$ make -j$(nproc)
#+end_example
*** Générer la carte
#+begin_example
$ cp ~/nalc-stable/minetestmapper
$ ./minetestmapper -i ~/nalc-stable/minetest/worlds/nalc-stable/ -o nalc_map.png --colors ~/nalc-test/colors.txt --min-y -25 --max-y 300 --backend postgresql --geometry -5000:-5000+10000+10000
#+end_example

View File

@ -1,134 +0,0 @@
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#sec-1">1. Mise en place de MTSatellite pour un serveur déjà en place</a>
<ul>
<li><a href="#sec-1-1">1.1. Résumé des étapes</a></li>
<li><a href="#sec-1-2">1.2. Installation des outils pour compiler MTSatellite (Gentoo)</a></li>
<li><a href="#sec-1-3">1.3. Création d'un deuxième serveur Minetest</a></li>
<li><a href="#sec-1-4">1.4. Restauration de la BDD du premier serveur pour la nouvelle instance</a></li>
<li><a href="#sec-1-5">1.5. Restauration des données de la map de l'ancienne instance</a>
<ul>
<li><a href="#sec-1-5-1">1.5.1. Premier cas (même version)</a></li>
<li><a href="#sec-1-5-2">1.5.2. Deuxième cas (version mise à jour)</a></li>
</ul>
</li>
<li><a href="#sec-1-6">1.6. Migration de la map de la seconde instance vers levelDB</a></li>
<li><a href="#sec-1-7">1.7. <span class="todo TODO">TODO</span> Mise en place de MTSatellite</a></li>
</ul>
</li>
</ul>
</div>
</div>
# Mise en place de MTSatellite pour un serveur déjà en place<a id="sec-1" name="sec-1"></a>
## Résumé des étapes<a id="sec-1-1" name="sec-1-1"></a>
- Installation des outils pour compiler MTSatellite (Gentoo)
- Création d'un deuxième serveur Minetest en parallèle du premier avec un backend en postgresql.
- Restauration de la BDD du premier serveur pour le second (map et players)
- Restauration des données de la map de l'ancienne instance
- Conversion de la map de la seconde instance vers levelDB
- Mise en place de MTSatellite (plusieurs étapes)
-
## Installation des outils pour compiler MTSatellite (Gentoo)<a id="sec-1-2" name="sec-1-2"></a>
Nous sommes logué en tant que root sur notre serveur
-- Installation des packages nécessaires
# emerge -av go leveldb mercurial
Se loguer en tant qu'utilisateur minetest sur notre serveur
$ cd
$ go get -u bitbucket.org/s_l_teichmann/mtsatellite/cmd/mtdbconverter
$ go get -u bitbucket.org/s_l_teichmann/mtsatellite/cmd/mtredisalize
$ go get -u bitbucket.org/s_l_teichmann/mtsatellite/cmd/mtseeder
$ go get -u bitbucket.org/s_l_teichmann/mtsatellite/cmd/mtwebmapper
$ ls /home/minetest/go/bin
mtdbconverter mtredisalize mtseeder mtwebmapper
## Création d'un deuxième serveur Minetest<a id="sec-1-3" name="sec-1-3"></a>
Nous sommes logué en tant qu'utilisateur minetest sur notre serveur
-- Récupération des sources du serveur nalc
$ cd
$ git clone --depth 1 https://sys4.fr/gitea/nalc/nalc-server.git nalc-1
-- Installation du serveur
$ cd nalc-1
$ ./install.sh --postgresql 0.4
(Suivez les instructions pour créer un nouveau serveur)
## Restauration de la BDD du premier serveur pour la nouvelle instance<a id="sec-1-4" name="sec-1-4"></a>
Nous sommes logué en tant qu'utilisateur minetest sur notre serveur
-- Restauration de la dernière sauvegarde de la première instance (nalc-server-0.4.17-r1) vers la seconde (nalc-1)
$ cd
$ mkdir nalc-1/dumps
$ cd nalc-1/dumps
$ tar -xvf ~/nalc-server-0.4.17-r1/backup/data/dump_sql.tar
-- Efface les BDD créé par l'installation de la nouvelle instance
-- Dans le cas où vous vous êtes logué en jeux au moins une fois
$ dropdb nalc-1
$ dropdb players-nalc-1
-- Création de BDD vierges
$ createdb nalc-1
$ createdb players-nalc-1
-- Restauration des BDD de l'ancienne instance dans la nouvelle
-- (vérifiez que vous ayez assez d'espace disque dans /var)
$ su - postgres
$ pg_restore -d nalc-1 /home/minetest/nalc-1/dumps/nalc-0.4.17.dump
$ pg_restore -d players-nalc-1 /home/minetest/nalc-1/dumps/players-nalc-0.4.17.dump
$ logout
$ cd
$ rm -rf nalc-1/dumps
## Restauration des données de la map de l'ancienne instance<a id="sec-1-5" name="sec-1-5"></a>
Cela dépendra du contexte, deux cas majeurs peuvent se présenter :
- Soit la nouvelle instance n'apporte pas de changements majeurs dans les fichiers de votre world (même version du serveur ou mise à jour très légère).
- Ou bien des changements majeurs sont apportés à l'occasion de l'installation d'une version plus récente de votre serveur.
### Premier cas (même version)<a id="sec-1-5-1" name="sec-1-5-1"></a>
Vous pouvez copier directement le dossier world ou bien la dernière sauvegarde de l'ancienne instance dans la nouvelle.
$ cd /home/minetest/nalc-1/minetest/worlds/nalc-1
$ cp -r /home/minetest/nalc-server-0.4.17-r1/minetest/worlds/nalc/* .
$ -- recréer le lien symbolique du world.mt qui vient d'être effacé
$ ln -s /home/minetest/nalc-1/world.mt
### Deuxième cas (version mise à jour)<a id="sec-1-5-2" name="sec-1-5-2"></a>
Il vous faudra procéder d'une façon différente.
Tout d'abord renommez le world de la nouvelle instance :
$ cd /home/minetest/nalc-1/minetest/worlds
$ mv nalc-1 nalc-1-old
Ensuite recréez un dossier vierge avec le même nom qu'avant renommage puis faites l'opération du premier cas.
$ mkdir nalc-1
$ cd nalc-1
$ cp -r /home/minetest/nalc-server-0.4.17-r1/minetest/worlds/nalc/* .
$ -- recréer le lien symbolique du world.mt qui vient d'être effacé
$ ln -s /home/minetest/nalc-1/world.mt
Ensuite ne copiez que les nouveaux fichiers et dossiers contenues dans le dossier renommé précédemment (nalc-1-old) vers votre dossier actuel (nalc-1) si ils n'y figurent pas déjà.
## Migration de la map de la seconde instance vers levelDB<a id="sec-1-6" name="sec-1-6"></a>
Nous sommes logué en tant qu'utilisateur minetest sur notre serveur
$ cd
$ cd nalc-1/minetest/bin
$ ./minetestserver --migrate leveldb --world /home/minetest/nalc-1/minetest/worlds/nalc-1
## TODO Mise en place de MTSatellite<a id="sec-1-7" name="sec-1-7"></a>

View File

@ -1,99 +0,0 @@
* Mise en place de MTSatellite pour un serveur déjà en place
** Résumé des étapes
- Installation des outils pour compiler MTSatellite (Gentoo)
- Création d'un deuxième serveur Minetest en parallèle du premier avec un backend en postgresql.
- Restauration de la BDD du premier serveur pour le second (map et players)
- Restauration des données de la map de l'ancienne instance
- Conversion de la map de la seconde instance vers levelDB
- Mise en place de MTSatellite (plusieurs étapes)
** Installation des outils pour compiler MTSatellite (Gentoo)
Nous sommes logué en tant que root sur notre serveur
#+BEGIN_EXAMPLE
-- Installation des packages nécessaires
# emerge -av go leveldb mercurial
#+END_EXAMPLE
Se loguer en tant qu'utilisateur minetest sur notre serveur
#+BEGIN_EXAMPLE
$ cd
$ go get -u bitbucket.org/s_l_teichmann/mtsatellite/cmd/mtdbconverter
$ go get -u bitbucket.org/s_l_teichmann/mtsatellite/cmd/mtredisalize
$ go get -u bitbucket.org/s_l_teichmann/mtsatellite/cmd/mtseeder
$ go get -u bitbucket.org/s_l_teichmann/mtsatellite/cmd/mtwebmapper
$ ls /home/minetest/go/bin
mtdbconverter mtredisalize mtseeder mtwebmapper
#+END_EXAMPLE
** Création d'un deuxième serveur Minetest
Nous sommes logué en tant qu'utilisateur minetest sur notre serveur
#+BEGIN_EXAMPLE
-- Récupération des sources du serveur nalc
$ cd
$ git clone --depth 1 https://sys4.fr/gitea/nalc/nalc-server.git nalc-1
-- Installation du serveur
$ cd nalc-1
$ ./install.sh --postgresql 0.4
(Suivez les instructions pour créer un nouveau serveur)
#+END_EXAMPLE
** Restauration de la BDD du premier serveur pour la nouvelle instance
Nous sommes logué en tant qu'utilisateur minetest sur notre serveur
#+BEGIN_EXAMPLE
-- Restauration de la dernière sauvegarde de la première instance (nalc-server-0.4.17-r1) vers la seconde (nalc-1)
$ cd
$ mkdir nalc-1/dumps
$ cd nalc-1/dumps
$ tar -xvf ~/nalc-server-0.4.17-r1/backup/data/dump_sql.tar
-- Efface les BDD créé par l'installation de la nouvelle instance
-- Dans le cas où vous vous êtes logué en jeux au moins une fois
$ dropdb nalc-1
$ dropdb players-nalc-1
-- Création de BDD vierges
$ createdb nalc-1
$ createdb players-nalc-1
-- Restauration des BDD de l'ancienne instance dans la nouvelle
-- (vérifiez que vous ayez assez d'espace disque dans /var)
$ su - postgres
$ pg_restore -d nalc-1 /home/minetest/nalc-1/dumps/nalc-0.4.17.dump
$ pg_restore -d players-nalc-1 /home/minetest/nalc-1/dumps/players-nalc-0.4.17.dump
$ logout
$ cd
$ rm -rf nalc-1/dumps
#+END_EXAMPLE
** Restauration des données de la map de l'ancienne instance
Cela dépendra du contexte, deux cas majeurs peuvent se présenter :
- Soit la nouvelle instance n'apporte pas de changements majeurs dans les fichiers de votre world (même version du serveur ou mise à jour très légère).
- Ou bien des changements majeurs sont apportés à l'occasion de l'installation d'une version plus récente de votre serveur.
*** Premier cas (même version)
Vous pouvez copier directement le dossier world ou bien la dernière sauvegarde de l'ancienne instance dans la nouvelle.
#+BEGIN_EXAMPLE
$ cd /home/minetest/nalc-1/minetest/worlds/nalc-1
$ cp -r /home/minetest/nalc-server-0.4.17-r1/minetest/worlds/nalc/* .
$ -- recréer le lien symbolique du world.mt qui vient d'être effacé
$ ln -s /home/minetest/nalc-1/world.mt
#+END_EXAMPLE
*** Deuxième cas (version mise à jour)
Il vous faudra procéder d'une façon différente.
Tout d'abord renommez le world de la nouvelle instance :
#+BEGIN_EXAMPLE
$ cd /home/minetest/nalc-1/minetest/worlds
$ mv nalc-1 nalc-1-old
#+END_EXAMPLE
Ensuite recréez un dossier vierge avec le même nom qu'avant renommage puis faites l'opération du premier cas.
#+BEGIN_EXAMPLE
$ mkdir nalc-1
$ cd nalc-1
$ cp -r /home/minetest/nalc-server-0.4.17-r1/minetest/worlds/nalc/* .
$ -- recréer le lien symbolique du world.mt qui vient d'être effacé
$ ln -s /home/minetest/nalc-1/world.mt
#+END_EXAMPLE
Ensuite ne copiez que les nouveaux fichiers et dossiers contenues dans le dossier renommé précédemment (nalc-1-old) vers votre dossier actuel (nalc-1) si ils n'y figurent pas déjà.
** Migration de la map de la seconde instance vers levelDB
Nous sommes logué en tant qu'utilisateur minetest sur notre serveur
#+BEGIN_EXAMPLE
$ cd
$ cd nalc-1/minetest/bin
$ ./minetestserver --migrate leveldb --world /home/minetest/nalc-1/minetest/worlds/nalc-1
#+END_EXAMPLE
** TODO Mise en place de MTSatellite