nalc-server/doc/mtsatellite.org

4.3 KiB

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)
  • Conversion de la map de la seconde instance vers levelDB
  • Restauration des données de la map de l'ancienne instance
  • 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 minetest
$ 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
$ dropdb nalc-1
$ dropdb 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 - postgresql
$ 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

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

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/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à.

Mise en place de MTSatellite