diff --git a/doc/générer_carte.md b/doc/générer_carte.md new file mode 100644 index 0000000..81cff16 --- /dev/null +++ b/doc/générer_carte.md @@ -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. + + + + +### 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 + diff --git a/doc/générer_carte.org b/doc/générer_carte.org new file mode 100644 index 0000000..44c5a05 --- /dev/null +++ b/doc/générer_carte.org @@ -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 diff --git a/doc/mtsatellite.md b/doc/mtsatellite.md deleted file mode 100644 index 263c72f..0000000 --- a/doc/mtsatellite.md +++ /dev/null @@ -1,134 +0,0 @@ -
-

Table of Contents

-
- -
-
- -# 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 - - -- 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 - -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 - -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 - -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. - - $ 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) - -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 - -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 diff --git a/doc/mtsatellite.org b/doc/mtsatellite.org deleted file mode 100644 index 7fe7252..0000000 --- a/doc/mtsatellite.org +++ /dev/null @@ -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