Creato: 2026/07/02 19:41:27 America/Chicago
Da: admin
Modificato: 2026/07/03 16:24:56 America/Chicago
Da: admin

Verlihub può caricare gli script Lua tramite il suo plugin Lua. Utilizzare Lua quando un hub necessita di una piccola modifica al comportamento senza ricompilare il server Verlihub.

Gli usi comuni includono bot di visualizzazione, annunci pianificati, comandi di supporto, regole di convalida, helper di moderazione automatizzata, statistiche dell'hub e hook di integrazione. Il supporto Lua dipende dal plug-in installato, creato e abilitato.

Cosa fa il plugin Lua

Il plugin Lua esegue gli script Lua all'interno del processo hub. Ciò offre agli amministratori un percorso più semplice per la personalizzazione dell'hub rispetto alla modifica dell'origine C++ Verlihub o alla scrittura di un plug-in compilato.

Gli script Lua sono generalmente più facili da rivedere e sostituire rispetto ai plugin compilati quando la modifica è piccola e specifica dell'hub.

  • Comandi dell'hub personalizzato
  • Messaggi di benvenuto automatizzati
  • Annunci a tempo
  • Controlli di convalida dell'utente
  • Risposte dei bot
  • Comandi dell'assistente operatore
  • Hook di registrazione o notifica
  • Semplici controlli anti-spam o anti-flood
  • Comportamento specifico dell'hub che non giustifica un plug-in C++

Requisiti

Prima di abilitare il supporto Lua, verificare che il plug-in Lua esista sul server. Un percorso comune del plugin è /usr/local/lib/liblua_pi.so.

Controlla se il file plugin esiste:

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

Se il file non esiste, probabilmente Lua non è stato creato o installato. Ricostruisci Verlihub con il supporto del plugin Lua abilitato.

A seconda del sistema e del metodo di installazione, il plug-in potrebbe anche risiedere /usr/lib, /usr/lib64, /usr/local/lib, O /usr/local/lib64. Cercalo prima di modificare la configurazione dell'hub:

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

Edificio Verlihub Con Lua Supporto

Se il supporto Lua non è stato incluso durante l'installazione, installare prima il pacchetto di sviluppo Lua. Su Debian o Ubuntu:

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

Alcune build Verlihub utilizzano Lua 5.3 invece di Lua 5.4. Installa il pacchetto corrispondente quando il tuo ramo o distribuzione lo richiede:

 sudo apt install lua5.3 liblua5.3-dev 

Quindi ricostruisci Verlihub con il plugin Lua abilitato tramite CMake:

 cmake .. -DWITH_LUA=ON
make
sudo make install 

Il nome esatto dell'opzione CMake può variare in base alla versione Verlihub. Controlla le opzioni di build disponibili prima di ricostruire un hub di produzione:

 cmake -LAH .. 

Dopo l'installazione, conferma che la libreria dei plugin è stata installata:

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

Comandi del plugin

Il plugin Lua è gestito tramite i comandi del plugin Verlihub da un account operatore.

  • Elenca i plugin installati o conosciuti con !lstplug.
  • Registra il plugin Lua con !addplug lua -p /usr/local/lib/liblua_pi.so -a 1 -d Support for Lua scripts..
  • Contrassegna il plugin Lua attivo con !modplug lua -a 1.
  • Carica il plugin con !onplug lua.
  • Conferma i plugin caricati 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 

Spiegazione del comando

!lstplug

Elenca i plugin conosciuti da Verlihub. Usalo prima per vedere se il plugin Lua è già registrato.

 !lstplug 

!addplug

Registra il plugin Lua con Verlihub.

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

Significato dell'opzione:

  • lua: nome del plugin interno.
  • -p /usr/local/lib/liblua_pi.so: percorso della libreria condivisa del plugin Lua.
  • -a 1: contrassegna il plugin come attivo.
  • -d Support for Lua scripts.: Descrizione del plugin leggibile dall'uomo.

!modplug

Modifica il record del plugin e si assicura che il plugin Lua sia contrassegnato come attivo.

 !modplug lua -a 1 

!onplug

Carica o avvia il plugin Lua dopo che è stato aggiunto e abilitato.

 !onplug lua 

!pluglist

Mostra i plugin attualmente caricati. Usalo per confermare che Lua è attivo.

 !pluglist 

Conserva gli script Lua in una directory dedicata di proprietà dell'utente del servizio 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 

Se il tuo servizio Verlihub viene eseguito come un altro utente, sostituisci verlihub:verlihub con l'utente e il gruppo corretti.

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

Non rendere le directory degli script Lua scrivibili da tutti. Evitare chmod 777 /usr/local/etc/verlihub/lua.

Esempio Lua Script

Crea un piccolo script di prova:

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

Contenuto di esempio:

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

Le funzioni Lua disponibili dipendono dall'API del plugin Verlihub Lua. Alcune installazioni espongono oggetti o funzioni helper in modo diverso, quindi confronta gli esempi con la libreria di script Lua utilizzata dalla tua versione Verlihub.

Caricamento script Lua

Dopo che il plugin Lua è attivo, gli script possono solitamente essere caricati tramite comandi Lua specifici del plugin o directory di script configurate.

Inizia controllando i comandi del plugin Lua disponibili dall'interno dell'hub:

 !help lua
!plughelp lua 

Se il plugin supporta l'elenco, il caricamento, lo scaricamento o il ricaricamento degli script, potresti visualizzare comandi simili a questi:

 !lua
!lslua
!loadlua
!unloadlua
!reloadlua 

I nomi dei comandi possono differire tra le build Verlihub e le versioni del plugin.

Verifica che Lua funzioni

Verificare la configurazione in più fasi. Per prima cosa conferma che il plugin è registrato, poi conferma che sia caricato:

 !lstplug
!pluglist 

Quindi controlla i log del server per i messaggi del plugin Lua:

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

Se Verlihub non è gestito da systemd, controlla invece la directory di log configurata Verlihub. Le posizioni comuni includono /var/log/verlihub E /usr/local/var/log/verlihub.

Cerca le voci di registro correlate a Lua quando il registro del servizio è di grandi dimensioni:

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

Raccomandazioni per la produzione

Utilizzare Lua per comportamenti personalizzati di piccole dimensioni, non per elaborazioni pesanti. Il codice Lua viene eseguito all'interno del processo dell'hub, quindi uno script errato può influire sugli aggiornamenti della chat, dell'accesso o dell'elenco degli utenti.

Buono Lua casi d'uso:

  • Comandi semplici
  • Messaggi dell'Hub
  • Verifiche utente
  • Automazione leggera
  • Piccoli ganci di integrazione

Evitare di utilizzare Lua per:

  • Lavori in background a lunga esecuzione
  • Query pesanti sul database
  • Elaborazione di file di grandi dimensioni
  • Blocco delle chiamate di rete
  • Loop pesanti per la CPU
  • Tutto ciò che può congelare il processo hub

Testare gli script su un hub di staging prima di caricarli su un hub pubblico con gli utenti connessi.

Note sulla sicurezza

Solo gli amministratori attendibili dovrebbero essere in grado di caricare o modificare gli script Lua.

Autorizzazioni consigliate:

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

Non consentire agli utenti non attendibili di scrivere file Lua. Non archiviare i segreti direttamente negli script Lua a meno che le autorizzazioni dei file non siano bloccate.

Mantieni i comandi di gestione dei plugin riservati solo all'operatore o all'amministratore. Gli utenti normali non dovrebbero essere in grado di caricare, scaricare o sostituire gli script.

Risoluzione dei problemi

File del plugin non trovato

I sintomi includono Cannot load plugin, No such file, O liblua_pi.so not found. Cerca la libreria, quindi aggiorna il percorso del plugin memorizzato:

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

Il plugin Lua non appare nell'elenco dei plugin

Controlla se è stato aggiunto. Se manca, aggiungilo, contrassegnalo come attivo e caricalo:

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

Il plugin esiste ma non riesce a caricarsi

Controlla le dipendenze delle librerie condivise e cerca le librerie Lua mancanti:

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

Se mancano le librerie Lua, installare il pacchetto runtime Lua corrispondente.

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

Lo script non viene eseguito

Controlla il percorso dello script, le autorizzazioni dei file e i registri Verlihub. Verifica inoltre che il plug-in Lua supporti l'API di script utilizzata dallo script.

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

L'hub diventa instabile dopo aver caricato uno script

Scarica lo script o disabilita il plugin Lua. Se l'hub non risponde, arresta Verlihub dalla shell e sposta lo script fuori dalla directory 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 

Flusso di lavoro amministrativo suggerito

  1. Conferma che il plugin Lua esiste.
  2. Aggiungi il plugin con !addplug.
  3. Abilitalo con !modplug.
  4. Inizia con !onplug.
  5. Confermalo con !pluglist.
  6. Crea una directory di script dedicata Lua.
  7. Aggiungi un piccolo script di test.
  8. Controlla i registri Verlihub.
  9. Aggiungi gli script di produzione uno alla volta.
  10. Conserva i backup degli script funzionanti prima di apportare modifiche.

Verlihub Lua Libreria di script

La libreria di script Verlihub Lua contiene script di esempio e codice riutilizzabile Lua per la personalizzazione dell'hub. Usalo come riferimento per le funzioni supportate, gli hook di eventi e i modelli di comando.

Quando si utilizzano gli script della libreria:

  • Esaminare lo script prima di installarlo.
  • Conferma che corrisponda alla tua versione Verlihub.
  • Provalo prima su un hub non di produzione.
  • Verifica la presenza di percorsi codificati, nomi di hub, soprannomi di operatori o impostazioni del database.
  • Conserva un backup dello script originale prima di modificarlo.

Apri la libreria di script Verlihub Lua

Related Pages

Pagina Padre