1. Le principe : limiter ce qui peut mal tourner
Un serveur Luanti exécute du code Lua fourni par des mods. Un mod malveillant ou mal écrit peut donc faire des dégâts. La sécurité repose sur trois axes : contrôler les droits des joueurs, contrôler ce que les mods peuvent faire et pouvoir revenir en arrière grâce aux sauvegardes.
2. Gérer les privilèges des joueurs
Chaque action sensible (voler, téléporter, bannir, modifier le monde) est protégée par un privilège. Quelques règles :
- Ne donnez le privilège
serverouprivsqu'à des personnes de confiance, en nombre très limité. - Utilisez
/privs nompour vérifier les droits d'un joueur et/revoke nom privilègepour en retirer un. - Le réglage
basic_privsdéfinit les privilèges que vos modérateurs peuvent attribuer sans être administrateurs complets. - Le réglage
default_privsfixe ceux que reçoivent les nouveaux joueurs : gardez-le restreint.
3. Exiger des mots de passe
Dans la configuration du serveur, activez :
disallow_empty_password = true
Cela empêche de créer des comptes sans mot de passe, première porte d'entrée aux usurpations d'identité.
4. Mods de confiance et sandbox Lua
Par défaut, le moteur exécute les mods dans un bac à sable (sandbox) qui interdit l'accès au système de fichiers, au réseau et aux commandes système. Gardez ce réglage actif :
secure.enable_security = true
Certains mods légitimes ont besoin de sortir de ce bac à sable (par exemple pour parler à une base de données ou à un site web). On les déclare explicitement, un par un :
secure.trusted_mods = nom_du_mod
Ne placez jamais un mod dans cette liste sans avoir lu son code ou sans lui faire entièrement confiance.
5. Choisir ses mods avec soin
- Téléchargez les mods depuis la source officielle du projet (ContentDB) ou le dépôt de leur auteur.
- Regardez la date de dernière mise à jour, le nombre d'utilisateurs et l'activité du dépôt.
- Testez toute nouveauté sur un monde de test avant de l'installer sur le serveur de production.
6. Sauvegardes
La sauvegarde est la meilleure protection contre les erreurs, les mods défectueux ou les actes de vandalisme :
- Sauvegardez tout le dossier du monde (
map.sqlite,players.sqlite,auth.sqlite,world.mt). - Pour un monde SQLite, arrêtez le serveur ou utilisez la commande de sauvegarde de SQLite pour obtenir une copie cohérente.
- Conservez plusieurs générations (quotidienne, hebdomadaire) et stockez-en une copie hors du serveur.
- Testez la restauration au moins une fois : une sauvegarde jamais restaurée n'est qu'une hypothèse.
7. Mises à jour et surveillance
- Tenez le moteur et le système à jour (
apt update && apt upgrade). - Surveillez les journaux (
journalctl -u luanti) pour repérer connexions inhabituelles et erreurs de mods. - Limitez le nombre de joueurs avec
max_userspour éviter la saturation du serveur. - Ne lancez jamais le serveur avec le compte
root: suivez le guide d'installation pour créer un utilisateur dédié.
8. En résumé
Peu de privilèges, des mods choisis avec soin, la sandbox activée et des sauvegardes testées : ces quatre réflexes suffisent à éviter la grande majorité des incidents sur un serveur communautaire. Pour développer vos propres extensions, passez à notre tutoriel sur les mods Lua.