Erstellt: 2026/07/02 19:41:27 America/Chicago
Von: admin
Geändert: 2026/07/03 16:24:56 America/Chicago
Von: admin

Verlihub kann Lua-Skripte über sein Lua-Plugin laden. Verwenden Sie Lua, wenn ein Hub eine kleine Verhaltensänderung benötigt, ohne den Server Verlihub neu zu kompilieren.

Zu den häufigen Verwendungszwecken gehören Display-Bots, geplante Ankündigungen, Hilfsbefehle, Validierungsregeln, automatisierte Moderationshilfen, Hub-Statistiken und Integrations-Hooks. Die Unterstützung von Lua hängt davon ab, welches Plugin installiert, erstellt und aktiviert wird.

Was das Plugin Lua macht

Das Lua-Plugin führt Lua-Skripte innerhalb des Hub-Prozesses aus. Dies bietet Administratoren einen einfacheren Weg zur Hub-Anpassung als das Bearbeiten der C++-Quelle Verlihub oder das Schreiben eines kompilierten Plugins.

Lua Skripte sind in der Regel einfacher zu überprüfen und zu ersetzen als kompilierte Plugins, wenn die Änderung klein und hubspezifisch ist.

  • Benutzerdefinierte Hub-Befehle
  • Automatisierte Willkommensnachrichten
  • Zeitgesteuerte Ankündigungen
  • Benutzervalidierungsprüfungen
  • Bot-Antworten
  • Operator-Hilfsbefehle
  • Protokollierungs- oder Benachrichtigungs-Hooks
  • Einfache Anti-Spam- oder Anti-Flood-Prüfungen
  • Hub-spezifisches Verhalten, das ein C++-Plugin nicht rechtfertigt

Anforderungen

Bevor Sie die Lua-Unterstützung aktivieren, bestätigen Sie, dass das Plugin Lua auf dem Server vorhanden ist. Ein gängiger Plugin-Pfad ist /usr/local/lib/liblua_pi.so.

Überprüfen Sie, ob die Plugin-Datei vorhanden ist:

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

Wenn die Datei nicht existiert, wurde Lua wahrscheinlich nicht erstellt oder installiert. Erstellen Sie Verlihub mit aktivierter Plugin-Unterstützung für Lua neu.

Je nach System und Installationsmethode kann das Plugin auch vorhanden sein /usr/lib, /usr/lib64, /usr/local/lib, oder /usr/local/lib64. Suchen Sie danach, bevor Sie die Hub-Konfiguration ändern:

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

Gebäude Verlihub mit Lua Unterstützung

Wenn die Unterstützung für Lua während der Installation nicht enthalten war, installieren Sie zuerst das Entwicklungspaket Lua. Unter Debian oder Ubuntu:

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

Einige Verlihub-Builds verwenden Lua 5.3 anstelle von Lua 5.4. Installieren Sie das passende Paket, wenn Ihr Zweig oder Ihre Distribution es erfordert:

 sudo apt install lua5.3 liblua5.3-dev 

Erstellen Sie dann Verlihub mit dem über CMake aktivierten Plugin Lua neu:

 cmake .. -DWITH_LUA=ON
make
sudo make install 

Der genaue Optionsname CMake kann je nach Version Verlihub variieren. Überprüfen Sie die verfügbaren Build-Optionen, bevor Sie einen Produktionshub neu erstellen:

 cmake -LAH .. 

Bestätigen Sie nach der Installation, dass die Plugin-Bibliothek installiert wurde:

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

Plugin-Befehle

Das Plugin Lua wird über Verlihub Plugin-Befehle von einem Betreiberkonto aus verwaltet.

  • Installierte oder bekannte Plugins auflisten mit !lstplug.
  • Registrieren Sie das Plugin Lua bei !addplug lua -p /usr/local/lib/liblua_pi.so -a 1 -d Support for Lua scripts..
  • Markieren Sie das Plugin Lua als aktiv mit !modplug lua -a 1.
  • Laden Sie das Plugin mit !onplug lua.
  • Bestätigen Sie geladene Plugins mit !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 

Befehlserklärung

!lstplug

Listet Plugins auf, die Verlihub bekannt sind. Verwenden Sie es zunächst, um zu sehen, ob das Plugin Lua bereits registriert ist.

 !lstplug 

!addplug

Registriert das Plugin Lua mit Verlihub.

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

Bedeutung der Option:

  • lua: Interner Plugin-Name.
  • -p /usr/local/lib/liblua_pi.so: Pfad zur gemeinsam genutzten Plugin-Bibliothek Lua.
  • -a 1: Markiert das Plugin als aktiv.
  • -d Support for Lua scripts.: Für Menschen lesbare Plugin-Beschreibung.

!modplug

Ändert den Plugin-Datensatz und stellt sicher, dass das Plugin Lua als aktiv markiert ist.

 !modplug lua -a 1 

!onplug

Lädt oder startet das Plugin Lua, nachdem es hinzugefügt und aktiviert wurde.

 !onplug lua 

!pluglist

Zeigt aktuell geladene Plugins an. Bestätigen Sie damit, dass Lua aktiv ist.

 !pluglist 

Bewahren Sie Lua-Skripte in einem dedizierten Verzeichnis auf, das dem Dienstbenutzer Verlihub gehört.

 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 

Wenn Ihr Verlihub-Dienst unter einem anderen Benutzer ausgeführt wird, ersetzen Sie ihn verlihub:verlihub mit dem richtigen Benutzer und der richtigen Gruppe.

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

Machen Sie Lua Skriptverzeichnisse nicht weltweit beschreibbar. Vermeiden chmod 777 /usr/local/etc/verlihub/lua.

Beispiel Lua Skript

Erstellen Sie ein kleines Testskript:

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

Beispielinhalt:

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

Die verfügbaren Lua-Funktionen hängen von der Plugin-API Verlihub Lua ab. Einige Installationen stellen Hilfsobjekte oder -funktionen anders zur Verfügung. Vergleichen Sie daher die Beispiele mit der Skriptbibliothek Lua, die von Ihrer Version Verlihub verwendet wird.

Lua Skripte werden geladen

Nachdem das Plugin Lua aktiv ist, können Skripte normalerweise über Plugin-spezifische Lua-Befehle oder konfigurierte Skriptverzeichnisse geladen werden.

Überprüfen Sie zunächst die verfügbaren Lua Plugin-Befehle im Hub:

 !help lua
!plughelp lua 

Wenn das Plugin das Auflisten, Laden, Entladen oder Neuladen von Skripten unterstützt, werden möglicherweise Befehle wie diese angezeigt:

 !lua
!lslua
!loadlua
!unloadlua
!reloadlua 

Befehlsnamen können zwischen Verlihub Builds und Plugin-Versionen unterschiedlich sein.

Überprüfen, ob Lua funktioniert

Überprüfen Sie die Einrichtung schrittweise. Bestätigen Sie zunächst, dass das Plugin registriert ist, und bestätigen Sie dann, dass es geladen ist:

 !lstplug
!pluglist 

Überprüfen Sie dann die Serverprotokolle auf Lua-Plugin-Meldungen:

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

Wenn Verlihub nicht von systemd verwaltet wird, überprüfen Sie stattdessen das konfigurierte Protokollverzeichnis Verlihub. Zu den üblichen Standorten gehören: /var/log/verlihub Und /usr/local/var/log/verlihub.

Suchen Sie nach Lua -bezogenen Protokolleinträgen, wenn das Dienstprotokoll groß ist:

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

Produktionsempfehlungen

Verwenden Sie Lua für kleines benutzerdefiniertes Verhalten, nicht für umfangreiche Verarbeitung. Lua Code wird im Hub-Prozess ausgeführt, sodass ein fehlerhaftes Skript Auswirkungen auf Chat, Anmeldung oder Benutzerlistenaktualisierungen haben kann.

Gute Lua Anwendungsfälle:

  • Einfache Befehle
  • Hub-Nachrichten
  • Benutzerprüfungen
  • Leichte Automatisierung
  • Kleine Integrationshaken

Vermeiden Sie die Verwendung von Lua für:

  • Hintergrundjobs mit langer Laufzeit
  • Umfangreiche Datenbankabfragen
  • Verarbeitung großer Dateien
  • Netzwerkanrufe blockieren
  • CPU-lastige Schleifen
  • Alles, was den Hub-Prozess einfrieren kann

Testen Sie Skripte auf einem Staging-Hub, bevor Sie sie mit verbundenen Benutzern auf einen öffentlichen Hub laden.

Sicherheitshinweise

Nur vertrauenswürdige Administratoren sollten in der Lage sein, Lua-Skripte hochzuladen oder zu ändern.

Empfohlene Berechtigungen:

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

Erlauben Sie nicht vertrauenswürdigen Benutzern nicht, Lua Dateien zu schreiben. Speichern Sie Geheimnisse nicht direkt in Lua-Skripten, es sei denn, die Dateiberechtigungen sind gesperrt.

Behalten Sie die Plugin-Verwaltungsbefehle nur für Bediener oder Administratoren bei. Normale Benutzer sollten nicht in der Lage sein, Skripte zu laden, zu entladen oder zu ersetzen.

Fehlerbehebung

Plugin-Datei nicht gefunden

Zu den Symptomen gehören: Cannot load plugin, No such file, oder liblua_pi.so not found. Suchen Sie nach der Bibliothek und aktualisieren Sie dann den gespeicherten Plugin-Pfad:

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

Lua Plugin erscheint nicht in der Plugin-Liste

Überprüfen Sie, ob es hinzugefügt wurde. Wenn es fehlt, fügen Sie es hinzu, markieren Sie es als aktiv und laden Sie es:

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

Plugin existiert, kann aber nicht geladen werden

Überprüfen Sie die Abhängigkeiten der gemeinsam genutzten Bibliotheken und suchen Sie nach fehlenden Lua-Bibliotheken:

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

Wenn die Bibliotheken Lua fehlen, installieren Sie das entsprechende Laufzeitpaket Lua.

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

Das Skript wird nicht ausgeführt

Überprüfen Sie den Skriptpfad, die Dateiberechtigungen und die Protokolle Verlihub. Stellen Sie außerdem sicher, dass das Plugin Lua die vom Skript verwendete Skript-API unterstützt.

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

Der Hub wird nach dem Laden eines Skripts instabil

Entladen Sie das Skript oder deaktivieren Sie das Plugin Lua. Wenn der Hub nicht reagiert, stoppen Sie Verlihub aus der Shell und verschieben Sie das Skript aus dem Verzeichnis 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 

Vorgeschlagener Admin-Workflow

  1. Bestätigen Sie, dass das Plugin Lua vorhanden ist.
  2. Fügen Sie das Plugin mit hinzu !addplug.
  3. Aktivieren Sie es mit !modplug.
  4. Beginnen Sie mit !onplug.
  5. Bestätigen Sie es mit !pluglist.
  6. Erstellen Sie ein dediziertes Lua-Skriptverzeichnis.
  7. Fügen Sie ein kleines Testskript hinzu.
  8. Überprüfen Sie die Protokolle Verlihub.
  9. Fügen Sie Produktionsskripts einzeln hinzu.
  10. Erstellen Sie Sicherungskopien der funktionierenden Skripte, bevor Sie Änderungen vornehmen.

Verlihub Lua Skriptbibliothek

Die Verlihub Lua Skriptbibliothek enthält Beispielskripte und wiederverwendbaren Lua Code für die Hub-Anpassung. Verwenden Sie es als Referenz für unterstützte Funktionen, Ereignis-Hooks und Befehlsmuster.

Bei Verwendung von Skripten aus der Bibliothek:

  • Überprüfen Sie das Skript, bevor Sie es installieren.
  • Bestätigen Sie, dass es mit Ihrer Version Verlihub übereinstimmt.
  • Testen Sie es zunächst auf einem Nicht-Produktions-Hub.
  • Suchen Sie nach fest codierten Pfaden, Hub-Namen, Betreiber-Spitznamen oder Datenbankeinstellungen.
  • Erstellen Sie vor der Bearbeitung eine Sicherungskopie des Originalskripts.

Öffnen Sie die Skriptbibliothek Verlihub Lua

Related Pages

Übergeordnete Seite