Verlihub poate încărca scripturi Lua prin pluginul său Lua. Utilizați Lua atunci când un hub are nevoie de o mică schimbare de comportament fără a recompila serverul Verlihub.
Utilizările obișnuite includ roboți de afișare, anunțuri programate, comenzi de ajutor, reguli de validare, ajutoare de moderare automată, statistici hub și cârlige de integrare. Suportul Lua depinde de pluginul care este instalat, construit și activat.
Ce face pluginul Lua
Pluginul Lua execută Lua în interiorul procesului hub. Acest lucru oferă administratorilor o cale mai ușoară pentru personalizarea hub-ului decât editarea sursei Verlihub C++ sau scrierea unui plugin compilat.
Scripturile Lua sunt de obicei mai ușor de revizuit și înlocuit decât pluginurile compilate atunci când modificarea este mică și specifică centrului.
- Comenzi hub personalizate
- Mesaje automate de bun venit
- Anunțuri programate
- Verificări de validare a utilizatorului
- Răspunsuri bot
- Comenzi de ajutor operator
- Cârlige de înregistrare sau notificare
- Verificări simple anti-spam sau anti-inundare
- Comportament specific hub-ului care nu justifică un plugin C++
Cerințe
Înainte de a activa suportul Lua, confirmați că pluginul Lua există pe server. O cale comună pentru plugin este /usr/local/lib/liblua_pi.so.
Verificați dacă fișierul plugin există:
ls -lah /usr/local/lib/liblua_pi.so
Dacă fișierul nu există, probabil că Lua nu a fost construit sau instalat. Reconstruiți Verlihub cu suportul pentru plugin Lua activat.
În funcție de sistem și de metoda de instalare, pluginul poate fi și el /usr/lib, /usr/lib64, /usr/local/lib, sau /usr/local/lib64. Căutați-l înainte de a modifica configurația hub:
find /usr /usr/local -name 'liblua_pi.so' 2>/dev/null
Clădirea Verlihub Cu suport Lua
Dacă suportul Lua nu a fost inclus în timpul instalării, instalați mai întâi pachetul de dezvoltare Lua. Pe Debian sau Ubuntu:
sudo apt update
sudo apt install lua5.4 liblua5.4-dev
Unele versiuni Verlihub folosesc Lua 5.3 în loc de Lua 5.4. Instalați pachetul potrivit atunci când filiala sau distribuția dvs. necesită acest lucru:
sudo apt install lua5.3 liblua5.3-dev
Apoi reconstruiți Verlihub cu pluginul Lua activat prin CMake:
cmake .. -DWITH_LUA=ON
make
sudo make install
Numele exact al opțiunii CMake poate varia în funcție de versiunea 8800442200001900222440088. Verificați opțiunile de construire disponibile înainte de a reconstrui un hub de producție:
cmake -LAH ..
După instalare, confirmați că biblioteca de pluginuri a fost instalată:
find /usr /usr/local -name 'liblua_pi.so' 2>/dev/null
Comenzi pentru pluginuri
Pluginul Lua este gestionat prin comenzile pluginului Verlihub dintr-un cont de operator.
- Listați pluginurile instalate sau cunoscute cu
!lstplug. - Înregistrați pluginul Lua cu
!addplug lua -p /usr/local/lib/liblua_pi.so -a 1 -d Support for Lua scripts.. - Marcați pluginul Lua activ cu
!modplug lua -a 1. - Încărcați pluginul cu
!onplug lua. - Confirmați pluginurile încărcate cu
!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
Explicația comenzii
!lstplug
Listează pluginurile cunoscute de Verlihub. Folosiți-l mai întâi pentru a vedea dacă pluginul Lua este deja înregistrat.
!lstplug
!addplug
Înregistrează pluginul Lua cu Verlihub.
!addplug lua -p /usr/local/lib/liblua_pi.so -a 1 -d Support for Lua scripts.
Semnificația opțiunii:
lua: Numele pluginului intern.-p /usr/local/lib/liblua_pi.so: Calea către biblioteca partajată a pluginului Lua.-a 1: marchează pluginul ca activ.-d Support for Lua scripts.: Descrierea pluginului care poate fi citită de om.
!modplug
Modifică înregistrarea pluginului și se asigură că pluginul Lua este marcat activ.
!modplug lua -a 1
!onplug
Încarcă sau pornește pluginul Lua după ce a fost adăugat și activat.
!onplug lua
!pluglist
Afișează pluginurile încărcate în prezent. Folosiți-l pentru a confirma că Lua este activ.
!pluglist
Recomandat Lua Locație de script
Păstrați scripturile Lua într-un director dedicat deținut de utilizatorul serviciului 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
Dacă serviciul dvs. Verlihub rulează ca alt utilizator, înlocuiți verlihub:verlihub cu utilizatorul și grupul corect.
sudo chown -R vh:vh /usr/local/etc/verlihub/lua
sudo chown -R www-data:www-data /usr/local/etc/verlihub/lua
Nu faceți Lua directoare de scripturi care pot fi scrise în întreaga lume. Evita chmod 777 /usr/local/etc/verlihub/lua.
Exemplu Lua Script
Creați un mic script de testare:
sudo nano /usr/local/etc/verlihub/lua/test.lua
Exemplu de conținut:
-- 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
Funcțiile disponibile Lua depind de API-ul pluginului 88004422440088 Lua. Unele instalări expun obiectele sau funcțiile de ajutor în mod diferit, deci comparați exemplele cu biblioteca de scripturi 88004422440088 utilizată de versiunea dvs. 88004422440088.
Se încarcă scripturi Lua
După ce pluginul Lua este activ, scripturile pot fi de obicei încărcate prin comenzi Lua specifice pluginului sau directoare de script configurate.
Începeți prin a verifica comenzile pluginului Lua disponibile din interiorul hubului:
!help lua
!plughelp lua
Dacă pluginul acceptă listarea, încărcarea, descărcarea sau reîncărcarea scripturilor, este posibil să vedeți comenzi similare cu acestea:
!lua
!lslua
!loadlua
!unloadlua
!reloadlua
Numele comenzilor pot diferi între Verlihub versiuni și versiuni de plugin.
Verificarea Lua funcționează
Verificați configurarea în etape. Mai întâi confirmați că pluginul este înregistrat, apoi confirmați că este încărcat:
!lstplug
!pluglist
Apoi verificați jurnalele de server pentru mesaje de plugin Lua:
journalctl -u verlihub -n 100 --no-pager
Dacă Verlihub nu este gestionat de systemd, verificați în schimb directorul de jurnal configurat Verlihub. Locațiile comune includ /var/log/verlihub şi /usr/local/var/log/verlihub.
Căutați intrări de jurnal legate de Lua atunci când jurnalul de service este mare:
grep -i lua /var/log/verlihub/* 2>/dev/null
Recomandări de producție
Utilizați Lua pentru un comportament personalizat mic, nu pentru procesare grea. Codul Lua rulează în cadrul procesului hub, așa că un script prost poate afecta actualizările de chat, autentificare sau liste de utilizatori.
Bun Lua cazuri de utilizare:
- Comenzi simple
- Mesaje hub
- Verificări de utilizator
- Automatizare ușoară
- Mici cârlige de integrare
Evitați utilizarea Lua pentru:
- Lucrări de fundal de lungă durată
- Interogări grele de baze de date
- Procesarea fișierelor mari
- Blocarea apelurilor în rețea
- Bucle grele pentru procesor
- Orice poate îngheța procesul hub
Testați scripturile pe un hub de procesare înainte de a le încărca pe un hub public cu utilizatorii conectați.
Note de securitate
Doar administratorii de încredere ar trebui să poată încărca sau modifica Lua scripturi.
Permisiuni recomandate:
sudo chown -R verlihub:verlihub /usr/local/etc/verlihub/lua
sudo chmod -R u=rwX,g=rX,o= /usr/local/etc/verlihub/lua
Nu permiteți utilizatorilor neîncrezători să scrie Lua fișiere. Nu stocați secrete direct în scripturile Lua decât dacă permisiunile pentru fișiere sunt blocate.
Păstrați comenzile de gestionare a pluginurilor doar pentru operator sau numai pentru administrator. Utilizatorii normali nu ar trebui să poată încărca, descărca sau înlocui scripturi.
Depanare
Fișierul plugin nu a fost găsit
Simptomele includ Cannot load plugin, No such file, sau liblua_pi.so not found. Căutați biblioteca, apoi actualizați calea pluginului stocată:
find /usr /usr/local -name 'liblua_pi.so' 2>/dev/null
!modplug lua -p /correct/path/to/liblua_pi.so
Lua pluginul nu apare în lista de pluginuri
Verificați dacă a fost adăugat. Dacă lipsește, adăugați-l, marcați-l activ și încărcați-l:
!lstplug
!addplug lua -p /usr/local/lib/liblua_pi.so -a 1 -d Support for Lua scripts.
!modplug lua -a 1
!onplug lua
Pluginul există, dar nu se încarcă
Verificați dependențele bibliotecii partajate și căutați bibliotecile Lua lipsă:
ldd /usr/local/lib/liblua_pi.so
not found
Dacă bibliotecile Lua lipsesc, instalați pachetul de rulare Lua potrivit.
sudo apt install lua5.4 liblua5.4-0
sudo apt install lua5.3 liblua5.3-0
Scriptul nu rulează
Verificați calea scriptului, permisiunile pentru fișiere și jurnalele Verlihub. Verificați, de asemenea, că pluginul Lua acceptă API-ul de script utilizat de script.
ls -lah /usr/local/etc/verlihub/lua
journalctl -u verlihub -n 100 --no-pager
Hub devine instabil după încărcarea unui script
Descărcați scriptul sau dezactivați pluginul Lua. Dacă hub-ul nu răspunde, opriți Verlihub din shell și mutați scriptul din directorul 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 lucru pentru administrare sugerat
- Confirmați că pluginul Lua există.
- Adăugați pluginul cu
!addplug. - Activați-l cu
!modplug. - Începe cu
!onplug. - Confirmați-o cu
!pluglist. - Creați un director de script dedicat Lua.
- Adăugați un mic script de testare.
- Verificați Verlihub jurnalele.
- Adăugați scripturi de producție pe rând.
- Păstrați copii de siguranță ale scripturilor de lucru înainte de a face modificări.
Verlihub Lua Bibliotecă de scripturi
Biblioteca de scripturi Verlihub Lua conține exemple de scripturi și cod Lua reutilizabil pentru personalizarea hub. Utilizați-l ca referință pentru funcțiile acceptate, cârligele de evenimente și modelele de comandă.
Când utilizați scripturi din bibliotecă:
- Examinați scriptul înainte de a-l instala.
- Confirmați că se potrivește cu versiunea dvs. Verlihub.
- Testați-l mai întâi pe un hub care nu este de producție.
- Verificați căile codificate, numele hub-urilor, poreclele operatorilor sau setările bazei de date.
- Păstrați o copie de rezervă a scriptului original înainte de editare.