Actualiser services/minetest.libre-service.eu.md
This commit is contained in:
parent
25c702634d
commit
482f334487
1 changed files with 241 additions and 238 deletions
|
@ -1,238 +1,241 @@
|
||||||
# Minetest
|
# Minetest
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
Ouvrir le port par défaut :
|
Ouvrir le port par défaut :
|
||||||
```
|
```
|
||||||
iptables -A INPUT -i $WAN -p udp --dport 30000 -j ACCEPT
|
iptables -A INPUT -i $WAN -p udp --dport 30000 -j ACCEPT
|
||||||
```
|
```
|
||||||
|
|
||||||
Installer le serveur Minetest :
|
Installer le serveur Minetest :
|
||||||
```
|
```
|
||||||
apt-get install minetest-server minetestmapper
|
apt-get install minetest-server minetestmapper
|
||||||
```
|
```
|
||||||
|
|
||||||
Pour privilégier le nommage des mondes, désactiver le monde par défaut :
|
Pour privilégier le nommage des mondes, désactiver le monde par défaut :
|
||||||
```
|
```
|
||||||
systemctl stop minetest-server
|
systemctl stop minetest-server
|
||||||
systemctl disabled minetest-server
|
systemctl disabled minetest-server
|
||||||
systemctl disabled minetest-server@minetest
|
systemctl disabled minetest-server@minetest
|
||||||
```
|
```
|
||||||
|
|
||||||
Optimiser la configuration de Postgresql :
|
Optimiser la configuration de Postgresql :
|
||||||
- avoir au moins 512MB de mémoire disponible pour Minetest hors Postgresql ;
|
- avoir au moins 512MB de mémoire disponible pour Minetest hors Postgresql ;
|
||||||
- modifier `/etc/postgresql/13/main/postgresql.conf` :
|
- modifier `/etc/postgresql/13/main/postgresql.conf` :
|
||||||
```
|
```
|
||||||
-shared_buffers = 128MB # min 128kB
|
-shared_buffers = 128MB # min 128kB
|
||||||
+shared_buffers = 512MB # min 128kB
|
+shared_buffers = 512MB # min 128kB
|
||||||
```
|
```
|
||||||
|
|
||||||
# Mineclone2
|
# Mineclone2
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
Récupérer le zip :
|
Récupérer le zip :
|
||||||
* https://content.minetest.net/packages/Wuzzy/mineclone2/
|
* https://content.minetest.net/packages/Wuzzy/mineclone2/
|
||||||
* cliquer sur le bouton `Download`
|
* cliquer sur le bouton `Download`
|
||||||
|
|
||||||
Décompresser :
|
Décompresser :
|
||||||
```
|
```
|
||||||
unzip mineclone2_6745.zip
|
unzip mineclone2_6745.zip
|
||||||
```
|
```
|
||||||
|
|
||||||
Ranger dans l'arborescence de Minetest :
|
Ranger dans l'arborescence de Minetest :
|
||||||
```
|
```
|
||||||
mv mineclone2 /usr/share/games/minetest/games/
|
mv mineclone2 /usr/share/games/minetest/games/
|
||||||
```
|
```
|
||||||
|
|
||||||
## Création d'un monde
|
## Création d'un monde
|
||||||
|
|
||||||
Choisir un port et l'ouvrir :
|
Choisir un port et l'ouvrir :
|
||||||
```
|
```
|
||||||
iptables -A INPUT -i $WAN -p udp --dport 3000X -j ACCEPT
|
iptables -A INPUT -i $WAN -p udp --dport 3000X -j ACCEPT
|
||||||
```
|
```
|
||||||
|
|
||||||
Créer un fichier de configuration élémentaire :
|
Créer un fichier de configuration élémentaire :
|
||||||
```
|
```
|
||||||
cp /etc/minetest/minetest.conf /etc/minetest/fooland.conf
|
cp /etc/minetest/minetest.conf /etc/minetest/fooland.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
Éditer le fichier de configuration `/etc/minetest/fooland.conf` :
|
Éditer le fichier de configuration `/etc/minetest/fooland.conf` :
|
||||||
```
|
```
|
||||||
- server_name = My Minetest server
|
- server_name = My Minetest server
|
||||||
+ server_name = LibreServiceEU – Mineclone2 – Fooland
|
+ server_name = LibreServiceEU – Mineclone2 – Fooland
|
||||||
|
|
||||||
- server_description = Minetest server powered by Debian
|
- server_description = Minetest server powered by Debian
|
||||||
+ server_description = Mineclone2 en libre-service sur LibreServiceEU
|
+ server_description = Mineclone2 en libre-service sur LibreServiceEU
|
||||||
|
|
||||||
-# server_address = game.minetest.net
|
-# server_address = game.minetest.net
|
||||||
+ server_address = minetest.libre-service.eu
|
+ server_address = minetest.libre-service.eu
|
||||||
|
|
||||||
-# server_url = http://minetest.net
|
-# server_url = http://minetest.net
|
||||||
+ server_url = https://minetest.libre-service.eu/
|
+ server_url = https://minetest.libre-service.eu/
|
||||||
|
|
||||||
- server_announce = false
|
- server_announce = false
|
||||||
+ server_announce = true
|
+ server_announce = true
|
||||||
|
|
||||||
-port = 30000
|
-port = 30000
|
||||||
+port = 3000X
|
+port = 3000X
|
||||||
|
|
||||||
- default_game = minetest
|
-ipv6_server = false
|
||||||
+ default_game = mineclone2
|
+ipv6_server = true
|
||||||
|
|
||||||
- motd = Welcome to Minetest. Enjoy your stay!
|
- default_game = minetest
|
||||||
+ motd = Bienvenue sur le Minetest de Libre-service.eu \o/
|
+ default_game = mineclone2
|
||||||
|
|
||||||
-# map-dir =
|
- motd = Welcome to Minetest. Enjoy your stay!
|
||||||
+map-dir = /srv/minetest.libre-service.eu/worlds/fooland
|
+ motd = Bienvenue sur le Minetest de Libre-service.eu \o/
|
||||||
|
|
||||||
- max_users = 15
|
-# map-dir =
|
||||||
+ max_users = 64
|
+map-dir = /srv/minetest.libre-service.eu/worlds/fooland
|
||||||
|
|
||||||
- enable_damage = false
|
- max_users = 15
|
||||||
+ enable_damage = true
|
+ max_users = 64
|
||||||
|
|
||||||
- # disallow_empty_password = false
|
- enable_damage = false
|
||||||
+ disallow_empty_password = true
|
+ enable_damage = true
|
||||||
```
|
|
||||||
|
- # disallow_empty_password = false
|
||||||
Créer le dossier des mondes dans l'espace du service :
|
+ disallow_empty_password = true
|
||||||
```
|
```
|
||||||
mkdir -p /srv/minetest.libre-service.eu/worlds
|
|
||||||
chown Debian-minetest /srv/minetest.libre-service.eu/worlds
|
Créer le dossier des mondes dans l'espace du service :
|
||||||
```
|
```
|
||||||
|
mkdir -p /srv/minetest.libre-service.eu/worlds
|
||||||
Créer le nouveau monde :
|
chown Debian-minetest /srv/minetest.libre-service.eu/worlds
|
||||||
```
|
```
|
||||||
systemctl start minetest-server@fooland.service
|
|
||||||
```
|
Créer le nouveau monde :
|
||||||
|
```
|
||||||
Le démarrer au prochain boot :
|
systemctl start minetest-server@fooland.service
|
||||||
```
|
```
|
||||||
systemctl enable minetest-server@fooland.service
|
|
||||||
```
|
Le démarrer au prochain boot :
|
||||||
|
```
|
||||||
Tester le nouveau monde en se connectant avec un client Minetest.
|
systemctl enable minetest-server@fooland.service
|
||||||
|
```
|
||||||
## Migration dans Posgreql
|
|
||||||
Créer un compte dédié (si pas déjà fait) :
|
Tester le nouveau monde en se connectant avec un client Minetest.
|
||||||
```
|
|
||||||
su - postgres -c "psql -c \"create user minetestdba with password 'XXXXXXXX'; \" "
|
## Migration dans Posgreql
|
||||||
```
|
Créer un compte dédié (si pas déjà fait) :
|
||||||
|
```
|
||||||
Créer une base de données :
|
su - postgres -c "psql -c \"create user minetestdba with password 'XXXXXXXX'; \" "
|
||||||
```
|
```
|
||||||
su - postgres -c "psql -c \"CREATE DATABASE minetestdb_fooland OWNER minetestdba; \""
|
|
||||||
```
|
Créer une base de données :
|
||||||
|
```
|
||||||
Associer le compte dédié avec la base fraîchement créée :
|
su - postgres -c "psql -c \"CREATE DATABASE minetestdb_fooland OWNER minetestdba; \""
|
||||||
```
|
```
|
||||||
su - postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE minetestdb_fooland TO minetestdba; \""
|
|
||||||
```
|
Associer le compte dédié avec la base fraîchement créée :
|
||||||
|
```
|
||||||
Définir la base de données dans `/srv/minetest.libre-service.eu/worlds/fooland/world.mt` :
|
su - postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE minetestdb_fooland TO minetestdba; \""
|
||||||
```
|
```
|
||||||
pgsql_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXX dbname=minetestdb_fooland
|
|
||||||
pgsql_auth_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXXX dbname=minetestdb_fooland
|
Définir la base de données dans `/srv/minetest.libre-service.eu/worlds/fooland/world.mt` :
|
||||||
pgsql_player_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXXX dbname=minetestdb_fooland
|
```
|
||||||
```
|
pgsql_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXX dbname=minetestdb_fooland
|
||||||
|
pgsql_auth_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXXX dbname=minetestdb_fooland
|
||||||
Migrer le nouveau monde vers le backend Postgres :
|
pgsql_player_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXXX dbname=minetestdb_fooland
|
||||||
```
|
```
|
||||||
systemctl stop minetest-server@fooland.service
|
|
||||||
/usr/games/minetestserver --migrate postgresql --world /srv/minetest.libre-service.eu/worlds/fooland
|
Migrer le nouveau monde vers le backend Postgres :
|
||||||
/usr/games/minetestserver --migrate-auth postgresql --world /srv/minetest.libre-service.eu/worlds/fooland
|
```
|
||||||
/usr/games/minetestserver --migrate-players postgresql --world /srv/minetest.libre-service.eu/worlds/fooland
|
systemctl stop minetest-server@fooland.service
|
||||||
chown Debian-minetest.games /srv/minetest.libre-service.eu/worlds/fooland/world.mt
|
/usr/games/minetestserver --migrate postgresql --world /srv/minetest.libre-service.eu/worlds/fooland
|
||||||
systemctl start minetest-server@fooland.service
|
/usr/games/minetestserver --migrate-auth postgresql --world /srv/minetest.libre-service.eu/worlds/fooland
|
||||||
```
|
/usr/games/minetestserver --migrate-players postgresql --world /srv/minetest.libre-service.eu/worlds/fooland
|
||||||
|
chown Debian-minetest.games /srv/minetest.libre-service.eu/worlds/fooland/world.mt
|
||||||
## Module de protection de zone
|
systemctl start minetest-server@fooland.service
|
||||||
|
```
|
||||||
Afin d'éviter le vandalisme, il est classique d'activer des fonctionnalités de protection de zone. Cela consiste à permettre au joueur de réserver une zone de blocs où il sera le seul à pouvoir casser/rajouter un bloc ou prendre/déposer dans un coffre.
|
|
||||||
|
## Module de protection de zone
|
||||||
Rappel : [documentation d'installation d'un mod](https://wiki.minetest.net/Installing_Mods).
|
|
||||||
|
Afin d'éviter le vandalisme, il est classique d'activer des fonctionnalités de protection de zone. Cela consiste à permettre au joueur de réserver une zone de blocs où il sera le seul à pouvoir casser/rajouter un bloc ou prendre/déposer dans un coffre.
|
||||||
Le module [node_ownership](https://forum.minetest.net/viewtopic.php?t=846) est très connu mais obsolète.
|
|
||||||
|
Rappel : [documentation d'installation d'un mod](https://wiki.minetest.net/Installing_Mods).
|
||||||
Le module [areas](https://content.minetest.net/packages/ShadowNinja/areas/) semble à jour, maintenu et très utilisé ([voir graphique](https://wiki.minetest.net/Mods/fr)). Notamment, ce module est [utilisé sur Framinetest](https://framacloud.org/fr/cultiver-son-jardin/minetest.html).
|
|
||||||
|
Le module [node_ownership](https://forum.minetest.net/viewtopic.php?t=846) est très connu mais obsolète.
|
||||||
Télécharger l'archive, puis dézipper et renommer :
|
|
||||||
```
|
Le module [areas](https://content.minetest.net/packages/ShadowNinja/areas/) semble à jour, maintenu et très utilisé ([voir graphique](https://wiki.minetest.net/Mods/fr)). Notamment, ce module est [utilisé sur Framinetest](https://framacloud.org/fr/cultiver-son-jardin/minetest.html).
|
||||||
wget https://github.com/ShadowNinja/areas/archive/master.zip
|
|
||||||
unzip master.zip
|
Télécharger l'archive, puis dézipper et renommer :
|
||||||
mv areas-master areas
|
```
|
||||||
```
|
wget https://github.com/ShadowNinja/areas/archive/master.zip
|
||||||
|
unzip master.zip
|
||||||
Déplacer dans le dossier du monde :
|
mv areas-master areas
|
||||||
```
|
```
|
||||||
mkdir -p /srv/libreverse.chalec.org/worlds/fooland/worldmods
|
|
||||||
systemctl stop minetest-server@fooland.service
|
Déplacer dans le dossier du monde :
|
||||||
mv areas /srv/libreverse.chalec.org/worlds/libreverse/worldmods/
|
```
|
||||||
systemctl start minetest-server@fooland.service
|
mkdir -p /srv/libreverse.chalec.org/worlds/fooland/worldmods
|
||||||
```
|
systemctl stop minetest-server@fooland.service
|
||||||
|
mv areas /srv/libreverse.chalec.org/worlds/libreverse/worldmods/
|
||||||
Une aide est disponible en tapant `/help` dans le jeu.
|
systemctl start minetest-server@fooland.service
|
||||||
|
```
|
||||||
Les réglages se font dans `/srv/minetest.libre-service.eu/worlds/fooland/worldmods/areas/settingtypes.txt`.
|
|
||||||
|
Une aide est disponible en tapant `/help` dans le jeu.
|
||||||
Les zones sont stockées dans `/srv/minetest.libre-service.eu/worlds/fooland/areas.dat` (c'est au format JSON).
|
|
||||||
|
Les réglages se font dans `/srv/minetest.libre-service.eu/worlds/fooland/worldmods/areas/settingtypes.txt`.
|
||||||
|
|
||||||
|
Les zones sont stockées dans `/srv/minetest.libre-service.eu/worlds/fooland/areas.dat` (c'est au format JSON).
|
||||||
## Jouer
|
|
||||||
Liens utiles :
|
|
||||||
- Mineclone2 : https://wiki.minetest.net/Games/MineClone_2/Differences_from_Minetest_Game
|
|
||||||
- Database backends : https://wiki.minetest.net/Database_backends
|
## Jouer
|
||||||
- Server commands : https://wiki.minetest.net/Server_commands
|
Liens utiles :
|
||||||
- Item strings : https://wiki.minetest.net/Itemstrings
|
- Mineclone2 : https://wiki.minetest.net/Games/MineClone_2/Differences_from_Minetest_Game
|
||||||
- Privileges : https://wiki.minetest.net/Privilegesc
|
- Database backends : https://wiki.minetest.net/Database_backends
|
||||||
|
- Server commands : https://wiki.minetest.net/Server_commands
|
||||||
## Génération une carte du monde
|
- Item strings : https://wiki.minetest.net/Itemstrings
|
||||||
|
- Privileges : https://wiki.minetest.net/Privilegesc
|
||||||
### Migration du backend
|
|
||||||
La procédure utilise `minetestmapper` qui ne gère pas Postgresql, donc une étape va consister à convertir la base de donnée.
|
## Génération une carte du monde
|
||||||
|
|
||||||
Copier temporairement la base :
|
### Migration du backend
|
||||||
```
|
La procédure utilise `minetestmapper` qui ne gère pas Postgresql, donc une étape va consister à convertir la base de donnée.
|
||||||
su - postgres -c "psql -c \"CREATE DATABASE test with template minetestdb_libremine; \""
|
|
||||||
```
|
Copier temporairement la base :
|
||||||
|
```
|
||||||
Copier temporairement l'arborescence du monde :
|
su - postgres -c "psql -c \"CREATE DATABASE test with template minetestdb_libremine; \""
|
||||||
```
|
```
|
||||||
cp /srv/minetest.libre-service.eu/worlds/libremine /srv/minetest.libre-service.eu/worlds/test
|
|
||||||
```
|
Copier temporairement l'arborescence du monde :
|
||||||
|
```
|
||||||
Modifier le paramétrage de la base de données dans le fichier de paramétrage du monde :
|
cp /srv/minetest.libre-service.eu/worlds/libremine /srv/minetest.libre-service.eu/worlds/test
|
||||||
```
|
```
|
||||||
sed -i 's/minetestdb_libremine/test/g' /srv/minetest.libre-service.eu/worlds/test/world.mt
|
|
||||||
```
|
Modifier le paramétrage de la base de données dans le fichier de paramétrage du monde :
|
||||||
|
```
|
||||||
Migrer le `backend` du monde (minetestmapper ne sais pas gérer postgresql):
|
sed -i 's/minetestdb_libremine/test/g' /srv/minetest.libre-service.eu/worlds/test/world.mt
|
||||||
```
|
```
|
||||||
/usr/games/minetestserver --migrate sqlite3 --world /srv/minetest.libre-service.eu/worlds/test
|
|
||||||
/usr/games/minetestserver --migrate-players sqlite3 --world /srv/minetest.libre-service.eu/worlds/test
|
Migrer le `backend` du monde (minetestmapper ne sais pas gérer postgresql):
|
||||||
```
|
```
|
||||||
|
/usr/games/minetestserver --migrate sqlite3 --world /srv/minetest.libre-service.eu/worlds/test
|
||||||
### Correspondance des couleurs
|
/usr/games/minetestserver --migrate-players sqlite3 --world /srv/minetest.libre-service.eu/worlds/test
|
||||||
|
```
|
||||||
Minetestmapper sait traduire les blocs Minetest en pixel de couleur mais Mineclone2 apporte de nouveaux blocs. La liste des correspondances de couleurs est donc à générer :
|
|
||||||
```
|
### Correspondance des couleurs
|
||||||
./mtsedit -m Mineclone2 -C > mineclone-colors.txt
|
|
||||||
```
|
Minetestmapper sait traduire les blocs Minetest en pixel de couleur mais Mineclone2 apporte de nouveaux blocs. La liste des correspondances de couleurs est donc à générer :
|
||||||
|
```
|
||||||
### Génération
|
./mtsedit -m Mineclone2 -C > mineclone-colors.txt
|
||||||
```
|
```
|
||||||
/usr/games/minetestmapper -i /srv/minetest.libre-service.eu/worlds/test/ -o /srv/minetest.libre-service.eu/foo.png --colors /srv/minetest.libre-service.eu/mineclone-colors.txt --draworigin --drawscale
|
|
||||||
```
|
### Génération
|
||||||
|
```
|
||||||
### Nettoyage
|
/usr/games/minetestmapper -i /srv/minetest.libre-service.eu/worlds/test/ -o /srv/minetest.libre-service.eu/foo.png --colors /srv/minetest.libre-service.eu/mineclone-colors.txt --draworigin --drawscale
|
||||||
|
```
|
||||||
Supprimer la base temporaire :
|
|
||||||
```
|
### Nettoyage
|
||||||
su - postgres -c "psql -c \"DROP DATABASE test; \""
|
|
||||||
```
|
Supprimer la base temporaire :
|
||||||
|
```
|
||||||
Supprimer l'arborescence temporaire :
|
su - postgres -c "psql -c \"DROP DATABASE test; \""
|
||||||
```
|
```
|
||||||
rm -fr /srv/minetest.libre-service.eu/worlds/test
|
|
||||||
```
|
Supprimer l'arborescence temporaire :
|
||||||
|
```
|
||||||
|
rm -fr /srv/minetest.libre-service.eu/worlds/test
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in a new issue