Créé: 2026/07/02 19:41:27 America/Chicago
Par: admin
Modifié: 2026/07/03 16:24:56 America/Chicago
Par: admin

Verlihub peut charger des scripts Lua via son plugin Lua. Utilisez Lua lorsqu'un hub a besoin d'un petit changement de comportement sans recompiler le serveur Verlihub.

Les utilisations courantes incluent les robots d'affichage, les annonces programmées, les commandes d'assistance, les règles de validation, les aides de modération automatisées, les statistiques du hub et les hooks d'intégration. La prise en charge de Lua dépend du plugin installé, construit et activé.

Que fait le plugin Lua

Le plugin Lua exécute les scripts Lua dans le processus hub. Cela donne aux administrateurs un chemin plus simple pour la personnalisation du hub que la modification de la source C++ Verlihub ou l'écriture d'un plugin compilé.

Les scripts Lua sont généralement plus faciles à réviser et à remplacer que les plugins compilés lorsque le changement est petit et spécifique au hub.

  • Commandes de hub personnalisées
  • Messages de bienvenue automatisés
  • Annonces chronométrées
  • Contrôles de validation des utilisateurs
  • Réponses des robots
  • Commandes d'aide à l'opérateur
  • Hooks de journalisation ou de notification
  • Vérifications simples anti-spam ou anti-inondation
  • Comportement spécifique au Hub qui ne justifie pas un plugin C++

Exigences

Avant d'activer la prise en charge Lua, confirmez que le plugin Lua existe sur le serveur. Un chemin de plugin courant est /usr/local/lib/liblua_pi.so.

Vérifiez si le fichier du plugin existe:

 ls -lah /usr/local/lib/liblua_pi.so 

Si le fichier n'existe pas, Lua n'a probablement pas été créé ou installé. Reconstruisez Verlihub avec la prise en charge du plugin Lua activée.

Selon le système et la méthode d'installation, le plugin peut également résider dans /usr/lib, /usr/lib64, /usr/local/lib, ou /usr/local/lib64. Recherchez-le avant de modifier la configuration du hub:

 find /usr /usr/local -name 'liblua_pi.so' 2>/dev/null 

Bâtiment Verlihub avec support Lua

Si la prise en charge de Lua n'a pas été incluse lors de l'installation, installez d'abord le package de développement Lua. Sur Debian ou Ubuntu:

 sudo apt update
sudo apt install lua5.4 liblua5.4-dev 

Certaines versions de Verlihub utilisent Lua 5.3 au lieu de Lua 5.4. Installez le package correspondant lorsque votre branche ou distribution l'exige:

 sudo apt install lua5.3 liblua5.3-dev 

Reconstruisez ensuite Verlihub avec le plugin Lua activé via CMake:

 cmake .. -DWITH_LUA=ON
make
sudo make install 

Le nom exact de l’option CMake peut varier selon la version Verlihub. Vérifiez les options de build disponibles avant de reconstruire un hub de production:

 cmake -LAH .. 

Après l'installation, confirmez que la bibliothèque de plugins a été installée:

 find /usr /usr/local -name 'liblua_pi.so' 2>/dev/null 

Commandes du plugin

Le plugin Lua est géré via les commandes du plugin Verlihub à partir d'un compte opérateur.

  • Lister les plugins installés ou connus avec !lstplug.
  • Enregistrez le plugin Lua avec !addplug lua -p /usr/local/lib/liblua_pi.so -a 1 -d Support for Lua scripts..
  • Marquez le plugin Lua actif avec !modplug lua -a 1.
  • Chargez le plugin avec !onplug lua.
  • Confirmez les plugins chargés avec !pluglist.
 !lstplug
!addplug lua -p /usr/local/lib/liblua_pi.so -a 1 -d Support for Lua scripts.
!modplug lua -a 1
!onplug lua
!pluglist 

Explication de la commande

!lstplug

Répertorie les plugins connus par Verlihub. Utilisez-le d'abord pour voir si le plugin Lua est déjà enregistré.

 !lstplug 

!addplug

Enregistre le plugin Lua avec Verlihub.

 !addplug lua -p /usr/local/lib/liblua_pi.so -a 1 -d Support for Lua scripts. 

Signification des options:

  • lua: Nom du plugin interne.
  • -p /usr/local/lib/liblua_pi.so: Chemin d'accès à la bibliothèque partagée du plugin Lua.
  • -a 1: Marque le plugin comme actif.
  • -d Support for Lua scripts.: Description du plugin lisible par l'homme.

!modplug

Modifie l'enregistrement du plugin et s'assure que le plugin Lua est marqué actif.

 !modplug lua -a 1 

!onplug

Charge ou démarre le plugin Lua après son ajout et son activation.

 !onplug lua 

!pluglist

Affiche les plugins actuellement chargés. Utilisez-le pour confirmer que Lua est actif.

 !pluglist 

Conservez les scripts Lua dans un répertoire dédié appartenant à l'utilisateur du service Verlihub.

 sudo mkdir -p /usr/local/etc/verlihub/lua
sudo chown -R verlihub:verlihub /usr/local/etc/verlihub/lua
sudo chmod 750 /usr/local/etc/verlihub/lua 

Si votre service Verlihub s'exécute en tant qu'autre utilisateur, remplacez verlihub:verlihub avec le bon utilisateur et le bon groupe.

 sudo chown -R vh:vh /usr/local/etc/verlihub/lua
sudo chown -R www-data:www-data /usr/local/etc/verlihub/lua 

Ne rendez pas les répertoires de script Lua accessibles en écriture universelle. Éviter chmod 777 /usr/local/etc/verlihub/lua.

Exemple de script Lua

Créez un petit script de test:

 sudo nano /usr/local/etc/verlihub/lua/test.lua 

Exemple de contenu:

 -- Simple Verlihub Lua test script.
-- This file confirms that the Lua plugin can load and execute scripts.
function Main()
    VH:SendToAll("Lua test script loaded successfully.")
end 

Les fonctions Lua disponibles dépendent de l'API du plugin Verlihub Lua. Certaines installations exposent les objets ou les fonctions d'assistance différemment. Comparez donc les exemples avec la bibliothèque de scripts Lua utilisée par votre version Verlihub.

Chargement des scripts Lua

Une fois le plug-in Lua actif, les scripts peuvent généralement être chargés via des commandes Lua spécifiques au plug-in ou des répertoires de scripts configurés.

Commencez par vérifier les commandes du plugin Lua disponibles depuis l'intérieur du hub:

 !help lua
!plughelp lua 

Si le plugin prend en charge la liste, le chargement, le déchargement ou le rechargement de scripts, vous pouvez voir des commandes similaires à celles-ci:

 !lua
!lslua
!loadlua
!unloadlua
!reloadlua 

Les noms de commandes peuvent différer entre les builds Verlihub et les versions de plugin.

La vérification du Lua fonctionne

Vérifiez la configuration par étapes. Confirmez d’abord que le plugin est enregistré, puis confirmez qu’il est chargé:

 !lstplug
!pluglist 

Vérifiez ensuite les journaux du serveur pour les messages du plug-in Lua:

 journalctl -u verlihub -n 100 --no-pager 

Si Verlihub n’est pas géré par systemd, vérifiez plutôt le répertoire de journaux configuré Verlihub. Les emplacements communs incluent /var/log/verlihub et /usr/local/var/log/verlihub.

Recherchez les entrées de journal liées à Lua lorsque le journal de service est volumineux:

 grep -i lua /var/log/verlihub/* 2>/dev/null 

Recommandations de production

Utilisez Lua pour un petit comportement personnalisé, pas pour un traitement lourd. Le code Lua s'exécute dans le processus hub, donc un mauvais script peut affecter les mises à jour du chat, de la connexion ou de la liste d'utilisateurs.

Bons cas d'utilisation Lua:

  • Commandes simples
  • Messages du hub
  • Vérifications des utilisateurs
  • Automatisation légère
  • Petits crochets d'intégration

Évitez d'utiliser Lua pour:

  • Travaux d'arrière-plan de longue durée
  • Requêtes de base de données lourdes
  • Traitement de fichiers volumineux
  • Bloquer les appels réseau
  • Boucles gourmandes en CPU
  • Tout ce qui peut geler le processus du hub

Testez les scripts sur un hub intermédiaire avant de les charger sur un hub public avec des utilisateurs connectés.

Notes de sécurité

Seuls les administrateurs de confiance doivent pouvoir télécharger ou modifier les scripts Lua.

Autorisations recommandées:

 sudo chown -R verlihub:verlihub /usr/local/etc/verlihub/lua
sudo chmod -R u=rwX,g=rX,o= /usr/local/etc/verlihub/lua 

N'autorisez pas les utilisateurs non fiables à écrire des fichiers Lua. Ne stockez pas les secrets directement dans les scripts Lua à moins que les autorisations de fichiers ne soient verrouillées.

Conservez les commandes de gestion des plugins uniquement pour les opérateurs ou pour les administrateurs uniquement. Les utilisateurs normaux ne devraient pas pouvoir charger, décharger ou remplacer des scripts.

Dépannage

Fichier de plugin introuvable

Les symptômes incluent Cannot load plugin, No such file, ou liblua_pi.so not found. Recherchez la bibliothèque, puis mettez à jour le chemin du plugin stocké:

 find /usr /usr/local -name 'liblua_pi.so' 2>/dev/null 
 !modplug lua -p /correct/path/to/liblua_pi.so 

Le plugin Lua n'apparaît pas dans la liste des plugins

Vérifiez s'il a été ajouté. S'il manque, ajoutez-le, marquez-le comme actif et chargez-le:

 !lstplug
!addplug lua -p /usr/local/lib/liblua_pi.so -a 1 -d Support for Lua scripts.
!modplug lua -a 1
!onplug lua 

Le plugin existe mais ne parvient pas à se charger

Vérifiez les dépendances des bibliothèques partagées et recherchez les bibliothèques Lua manquantes:

 ldd /usr/local/lib/liblua_pi.so 
 not found 

Si les bibliothèques Lua sont manquantes, installez le package d'exécution Lua correspondant.

 sudo apt install lua5.4 liblua5.4-0
sudo apt install lua5.3 liblua5.3-0 

Le script ne s'exécute pas

Vérifiez le chemin du script, les autorisations des fichiers et les journaux Verlihub. Vérifiez également que le plugin Lua prend en charge l'API de script utilisée par le script.

 ls -lah /usr/local/etc/verlihub/lua
journalctl -u verlihub -n 100 --no-pager 

Hub devient instable après le chargement d'un script

Déchargez le script ou désactivez le plugin Lua. Si le hub ne répond pas, arrêtez Verlihub depuis le shell et déplacez le script hors du répertoire Lua:

 sudo systemctl stop verlihub
sudo mkdir -p /usr/local/etc/verlihub/lua-disabled
sudo mv /usr/local/etc/verlihub/lua/problem-script.lua /usr/local/etc/verlihub/lua-disabled/
sudo systemctl start verlihub 

Flux de travail d'administration suggéré

  1. Confirmez que le plugin Lua existe.
  2. Ajoutez le plugin avec !addplug.
  3. Activez-le avec !modplug.
  4. Commencez-le avec !onplug.
  5. Confirmez-le avec !pluglist.
  6. Créez un répertoire de scripts Lua dédié.
  7. Ajoutez un petit script de test.
  8. Vérifiez les journaux Verlihub.
  9. Ajoutez les scripts de production un par un.
  10. Conservez des sauvegardes des scripts de travail avant d'apporter des modifications.

Verlihub Lua Bibliothèque de scripts

La bibliothèque de scripts Verlihub Lua contient des exemples de scripts et du code Lua réutilisable pour la personnalisation du hub. Utilisez-le comme référence pour les fonctions, les hooks d'événements et les modèles de commandes pris en charge.

Lors de l'utilisation de scripts de la bibliothèque:

  • Vérifiez le script avant de l'installer.
  • Confirmez qu'il correspond à votre version Verlihub.
  • Testez-le d'abord sur un hub hors production.
  • Recherchez les chemins codés en dur, les noms de hub, les surnoms d'opérateur ou les paramètres de base de données.
  • Conservez une sauvegarde du script original avant de le modifier.

Ouvrez la bibliothèque de scripts Verlihub Lua

Related Pages

Page Parente