Creado: 2026/07/02 19:41:27 America/Chicago
Por: admin
Modificado: 2026/07/03 16:24:56 America/Chicago
Por: admin

Verlihub puede cargar scripts Lua a través de su complemento Lua. Utilice Lua cuando un concentrador necesite un pequeño cambio de comportamiento sin volver a compilar el servidor Verlihub.

Los usos comunes incluyen bots de visualización, anuncios programados, comandos auxiliares, reglas de validación, asistentes de moderación automatizada, estadísticas centrales y enlaces de integración. La compatibilidad con Lua depende del complemento que se instale, cree y habilite.

Qué hace el complemento Lua

El complemento Lua ejecuta scripts Lua dentro del proceso central. Esto brinda a los administradores un camino más fácil para la personalización del concentrador que editar el código fuente Verlihub C++ o escribir un complemento compilado.

Los scripts Lua suelen ser más fáciles de revisar y reemplazar que los complementos compilados cuando el cambio es pequeño y específico del centro.

  • Comandos de concentrador personalizados
  • Mensajes de bienvenida automatizados
  • Anuncios cronometrados
  • Comprobaciones de validación de usuario
  • Respuestas de bots
  • Comandos de ayuda del operador
  • Ganchos de registro o notificación
  • Comprobaciones simples antispam o anti-flood
  • Comportamiento específico del concentrador que no justifica un complemento de C++

Requisitos

Antes de habilitar la compatibilidad con Lua, confirme que el complemento Lua exista en el servidor. Una ruta de complemento común es /usr/local/lib/liblua_pi.so.

Compruebe si el archivo del complemento existe:

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

Si el archivo no existe, es probable que Lua no se haya compilado ni instalado. Reconstruya Verlihub con la compatibilidad con el complemento Lua habilitada.

Dependiendo del sistema y del método de instalación, el complemento también puede vivir en /usr/lib, /usr/lib64, /usr/local/lib, o /usr/local/lib64. Búscalo antes de cambiar la configuración del hub:

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

Edificio Verlihub con soporte Lua

Si no se incluyó soporte para Lua durante la instalación, instale primero el paquete de desarrollo Lua. En Debian o Ubuntu:

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

Algunas compilaciones Verlihub utilizan Lua 5.3 en lugar de Lua 5.4. Instale el paquete correspondiente cuando su sucursal o distribución lo requiera:

 sudo apt install lua5.3 liblua5.3-dev 

Luego reconstruya Verlihub con el complemento Lua habilitado a través de CMake:

 cmake .. -DWITH_LUA=ON
make
sudo make install 

El nombre exacto de la opción CMake puede variar según la versión Verlihub. Verifique las opciones de compilación disponibles antes de reconstruir un centro de producción:

 cmake -LAH .. 

Después de la instalación, confirme que se instaló la biblioteca de complementos:

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

Comandos de complemento

El complemento Lua se administra mediante comandos del complemento Verlihub desde una cuenta de operador.

  • Listar complementos instalados o conocidos con !lstplug.
  • Registre el complemento Lua con !addplug lua -p /usr/local/lib/liblua_pi.so -a 1 -d Support for Lua scripts..
  • Marque el complemento Lua activo con !modplug lua -a 1.
  • Cargue el complemento con !onplug lua.
  • Confirme los complementos cargados con !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 

Explicación del comando

!lstplug

Enumera los complementos conocidos por Verlihub. Úselo primero para ver si el complemento Lua ya está registrado.

 !lstplug 

!addplug

Registra el complemento Lua con Verlihub.

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

Significado de la opción:

  • lua: Nombre del complemento interno.
  • -p /usr/local/lib/liblua_pi.so: Ruta a la biblioteca compartida del complemento Lua.
  • -a 1: Marca el complemento como activo.
  • -d Support for Lua scripts.: Descripción del complemento legible por humanos.

!modplug

Modifica el registro del complemento y se asegura de que el complemento Lua esté marcado como activo.

 !modplug lua -a 1 

!onplug

Carga o inicia el complemento Lua después de agregarlo y habilitarlo.

 !onplug lua 

!pluglist

Muestra los complementos cargados actualmente. Úselo para confirmar que Lua está activo.

 !pluglist 

Mantenga los scripts Lua en un directorio dedicado propiedad del usuario del servicio 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 su servicio Verlihub se ejecuta como otro usuario, reemplace verlihub:verlihub con el usuario y grupo correctos.

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

No haga que los directorios de scripts Lua sean escribibles en todo el mundo. Evitar chmod 777 /usr/local/etc/verlihub/lua.

Ejemplo de secuencia de comandos Lua

Cree un pequeño script de prueba:

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

Contenido de ejemplo:

 -- 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 

Las funciones Lua disponibles dependen de la API del complemento Verlihub Lua. Algunas instalaciones exponen objetos o funciones auxiliares de manera diferente, así que compare los ejemplos con la biblioteca de scripts Verlihub utilizada por su versión Verlihub.

Cargando scripts Lua

Una vez que el complemento Lua está activo, los scripts generalmente se pueden cargar a través de comandos Lua específicos del complemento o directorios de scripts configurados.

Comience verificando los comandos del complemento Lua disponibles desde el interior del concentrador:

 !help lua
!plughelp lua 

Si el complemento admite la lista, carga, descarga o recarga de secuencias de comandos, es posible que vea comandos similares a estos:

 !lua
!lslua
!loadlua
!unloadlua
!reloadlua 

Los nombres de los comandos pueden diferir entre las compilaciones Verlihub y las versiones del complemento.

Verificando que Lua esté funcionando

Verifique la configuración por etapas. Primero confirme que el complemento esté registrado, luego confirme que esté cargado:

 !lstplug
!pluglist 

Luego verifique los registros del servidor para ver los mensajes del complemento Lua:

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

Si Verlihub no está administrado por systemd, verifique el directorio de registro Verlihub configurado. Las ubicaciones comunes incluyen /var/log/verlihub y /usr/local/var/log/verlihub.

Busque entradas de registro relacionadas con Lua cuando el registro de servicio sea grande:

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

Recomendaciones de producción

Utilice Lua para comportamientos personalizados pequeños, no para procesamiento pesado. El código Lua se ejecuta dentro del proceso central, por lo que un script incorrecto puede afectar el chat, el inicio de sesión o las actualizaciones de la lista de usuarios.

Buenos casos de uso de Lua:

  • Comandos simples
  • Mensajes centrales
  • Comprobaciones de usuario
  • Automatización ligera
  • Pequeños ganchos de integración

Evite utilizar Lua para:

  • Trabajos en segundo plano de larga duración
  • Consultas pesadas de bases de datos
  • Procesamiento de archivos grandes
  • Bloquear llamadas de red
  • Bucles con mucha CPU
  • Cualquier cosa que pueda congelar el proceso central.

Pruebe los scripts en un centro de ensayo antes de cargarlos en un centro público con usuarios conectados.

Notas de seguridad

Solo los administradores de confianza deberían poder cargar o modificar scripts Lua.

Permisos recomendados:

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

No permita que usuarios que no sean de confianza escriban archivos Lua. No almacene secretos directamente en los scripts Lua a menos que los permisos de los archivos estén bloqueados.

Mantenga los comandos de administración de complementos solo para operadores o administradores. Los usuarios normales no deberían poder cargar, descargar ni reemplazar scripts.

Solución de problemas

Archivo de complemento no encontrado

Los síntomas incluyen Cannot load plugin, No such file, o liblua_pi.so not found. Busque la biblioteca y luego actualice la ruta del complemento almacenado:

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

El complemento Lua no aparece en la lista de complementos

Compruebe si se agregó. Si falta, agréguelo, márquelo como activo y cárguelo:

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

El complemento existe pero no se carga

Verifique las dependencias de la biblioteca compartida y busque las bibliotecas Lua que faltan:

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

Si faltan las bibliotecas Lua, instale el paquete de tiempo de ejecución Lua correspondiente.

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

El script no se ejecuta

Verifique la ruta del script, los permisos de los archivos y los registros Verlihub. También verifique que el complemento Lua admita la API de secuencia de comandos utilizada por la secuencia de comandos.

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

Hub se vuelve inestable después de cargar un script

Descargue el script o desactive el complemento Lua. Si el concentrador no responde, detenga Verlihub desde el shell y saque el script del directorio 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 

Flujo de trabajo de administración sugerido

  1. Confirme que existe el complemento Lua.
  2. Añade el complemento con !addplug.
  3. Habilítelo con !modplug.
  4. Empiece con !onplug.
  5. Confírmalo con !pluglist.
  6. Cree un directorio de script Lua dedicado.
  7. Agregue un pequeño script de prueba.
  8. Verifique los registros Verlihub.
  9. Agregue guiones de producción uno a la vez.
  10. Mantenga copias de seguridad de los scripts en funcionamiento antes de realizar cambios.

Verlihub Lua Biblioteca de scripts

La biblioteca de scripts Verlihub Lua contiene scripts de ejemplo y código Lua reutilizable para la personalización del concentrador. Úselo como referencia para funciones admitidas, enlaces de eventos y patrones de comando.

Cuando utilice scripts de la biblioteca:

  • Revise el script antes de instalarlo.
  • Confirme que coincida con su versión Verlihub.
  • Pruébelo primero en un centro que no sea de producción.
  • Busque rutas codificadas, nombres de centros, apodos de operadores o configuraciones de bases de datos.
  • Mantenga una copia de seguridad del guión original antes de editarlo.

Abra la biblioteca de scripts Verlihub Lua

Related Pages

Página Superior