documentation/services/minetest.libre-service.eu.md

143 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Minetest
# Installation
Ouvrir le port par défaut :
```
iptables -A INPUT -i $WAN -p udp --dport 30000 -j ACCEPT
```
Installer le serveur Minetest :
```
apt-get install minetest-server minetestmapper
```
# Mineclone2
## Install
Récupérer le zip :
* https://content.minetest.net/packages/Wuzzy/mineclone2/
* cliquer sur le bouton `Download`
Décompresser :
```
unzip mineclone2_6745.zip
```
Ranger dans l'arborescence de Minetest :
```
mv mineclone2 /usr/share/games/minetest/games/
```
## Création d'un monde
Choisir un port et l'ouvrir :
```
iptables -A INPUT -i $WAN -p udp --dport 3000X -j ACCEPT
```
Créer un fichier de configuration élémentaire :
```
cp /etc/minetest/minetest.conf /etc/minetest/fooland.conf
```
Éditer le fichier de configuration `/etc/minetest/fooland.conf` :
```
- server_name = My Minetest server
+ server_name = LibreServiceEU Mineclone2 Fooland
- server_description = Minetest server powered by Debian
+ server_description = Mineclone2 en libre-service sur LibreServiceEU
-# server_address = game.minetest.net
+ server_address = minetest.libre-service.eu
-# server_url = http://minetest.net
+ server_url = https://minetest.libre-service.eu/
-port = 30000
+port = 3000X
- default_game = minetest
+ default_game = mineclone2
- motd = Welcome to Minetest. Enjoy your stay!
+ motd = Bienvenue sur le Minetest de Libre-service.eu \o/
-# map-dir =
+map-dir = /srv/minetest.libre-service.eu/worlds/fooland
- max_users = 15
+ max_users = 64
- enable_damage = false
+ enable_damage = true
- # disallow_empty_password = false
+ disallow_empty_password = true
```
Créer le dossier des mondes dans l'espace du service :
```
mkdir -p /srv/minetest.libre-service.eu/worlds
```
Créer le nouveau monde :
```
systemctl start minetest-server@fooland.service
```
Tester le nouveau monde en se connectant avec un client Minetest.
## Migration dans Posgreql
Créer un compte dédié (si pas déjà fait) :
```
su - postgres -c "psql -c \"create user minetestdba with password 'XXXXXXXX'; \" "
```
Créer une base de données :
```
su - postgres -c "psql -c \"CREATE DATABASE minetestdb_fooland OWNER minetestdba; \""
```
Associer le compte dédié avec la base fraîchement créée :
```
su - postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE minetestdb_fooland TO minetestdba; \""
```
Optimiser la configuration de Postgresql :
- avoir au moins 512MB de mémoire disponible pour Minetest hors Postgresql ;
- modifier `/etc/postgresql/13/main/postgresql.conf` :
```
-shared_buffers = 128MB # min 128kB
+shared_buffers = 512MB # min 128kB
```
Définir la base de données dans `/srv/minetest.libre-service.eu/worlds/fooland/world.mt` :
```
backend = postgresql
pgsql_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXX dbname=minetestdb_fooland
auth_backend = postgresql
pgsql_auth_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXXX dbname=minetestdb_fooland
player_backend = postgresql
pgsql_player_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXXX dbname=minetestdb_fooland
```
Migrer le nouveau monde vers le backend Postgres :
```
systemctl stop minetest-server@fooland.service
minetestserver --migrate postgresql --world /srv/minetest.libre-service.eu/worlds/fooland
minetestserver --migrate-auth postgresql --world /srv/minetest.libre-service.eu/worlds/fooland
minetestserver --migrate-players postgresql --world /srv/minetest.libre-service.eu/worlds/fooland
systemctl start minetest-server@fooland.service
```
## Jouer
Liens utiles :
- Mineclone2 : https://wiki.minetest.net/Games/MineClone_2/Differences_from_Minetest_Game
- Database backends : https://wiki.minetest.net/Database_backends
- Server commands : https://wiki.minetest.net/Server_commands
- Item strings : https://wiki.minetest.net/Itemstrings
- Privileges : https://wiki.minetest.net/Privilegesc