LB Phone installieren und einrichten: ESX, QBCore und QBOX
Von Luke, RPScripts

Was LB Phone ist und was es braucht
LB Phone ist eine vollständige Smartphone-Ressource für FiveM. Ab Werk deckt es ab, was Spieler von einem Handy erwarten: Anrufe, Nachrichten, Mail, Kamera, Uhr, Notizen, Karten, Wetter, Sprachmemos und einen App Store, dazu Social Apps (InstaPic, Birdy, Trendy und Spark) und Extras wie DarkChat, einen Marktplatz, Yellow Pages, Musik und Krypto. Der Download enthält zwei Ressourcen: lb-phone selbst und eine eigene Ressource für das Handy-Prop, lb-phoneprop.
Bevor du ein Handy installierst, schreib auf, was dein Server tatsächlich nutzt: Framework, Inventar, Bibliotheken sowie deine GTA-V-Edition mit der FXServer-Artifact-Version. Ein Handy greift in Anrufe, Charakterdaten, Inventar-Items und Serverdienste ein. Prüfe deshalb diese Integrationen, nicht nur die App-Liste.
Unterstützte Frameworks
Laut Produktseite läuft LB Phone mit ESX, QBCore, QBOX, ox_core, vRP 2.0 oder Standalone und erkennt das Framework standardmäßig automatisch. Auch die Dokumentation des Erstellers bestätigt die automatische Erkennung. Für jedes andere Framework gibt es einen dokumentierten Weg über ein Custom Framework (siehe unten).
Voraussetzungen
Die Pflichtvoraussetzungen sind kurz: oxmysql plus eines der unterstützten Frameworks oder Standalone. ox_core ist eine dieser Framework-Optionen, keine zusätzliche Abhängigkeit; in der Abhängigkeitsliste des Erstellers steht es nicht. Die offizielle Installationsanleitung ergänzt diese Punkte:
- MariaDB 10.11 oder neuer. Deine Version prüfst du mit
SELECT VERSION()in HeidiSQL. Von XAMPP rät die Anleitung ausdrücklich ab. - oxmysql
- loaf_bcrypt (empfohlen)
- aktuelle Server-Artifacts
- OneSync Infinity (optional), nötig für einige Funktionen wie AirShare
Vor dem Start: Datenbank sichern und prüfen
Die Anleitung des Erstellers verlangt, vor jeder Änderung an der Datenbank ein Backup anzulegen. Hier ist das besonders wichtig: Bevor du die SQL-Datei von LB Phone ausführst, sollst du laut Anleitung alle Tabellen löschen, die mit phone_ beginnen.
Auf einem brandneuen Server ist das harmlos. Auf einem Server, auf dem schon ein anderes Handy lief, kann es dessen Daten löschen. Das ursprüngliche gcPhone und die base.sql von Re-Ignited legen zum Beispiel phone_app_chat, phone_calls, phone_messages und phone_users_contacts an; alle vier passen also auf das Präfix phone_. Quasar Smartphone V3 versieht seine Tabellen mit dem Präfix qs_phone_. Exportiere die Datenbank, bevor du etwas löschst, liste jede Tabelle mit phone_ am Anfang auf und prüfe, welche Ressource sie angelegt hat. Wer eine bestehende Datenbank nach Reset-Anleitung behandelt, verliert den Handyverlauf. Willst du alte Handydaten behalten, plane zuerst eine Migration auf einem Testserver statt einer Neuinstallation.
Installation Schritt für Schritt
Die folgenden Schritte verbinden die Produktseite mit der offiziellen Installationsanleitung. Wo die Anleitung genauer ist, folgen wir ihr.
1. Ressourcen kopieren
Entpacke den Download und kopiere lb-phone und lb-phoneprop aus dem Ordner [lb] in den resources-Ordner deines Servers.
2. Alte phone_-Tabellen löschen und SQL-Datei ausführen
Sobald das Backup steht, löschst du alle Tabellen, die mit phone_ beginnen, und führst danach die mitgelieferte Datei lb-phone/phone.sql in deiner Datenbank aus. Der Ersteller empfiehlt HeidiSQL und rät von phpMyAdmin ab. Auf seiner Seite mit häufigen Problemen steht außerdem, dass SQL-Importfehler meist von phpMyAdmin oder einer veralteten MariaDB-Version kommen und dass Hoster mit Gamepanel oft beides mitliefern.
3. Abhängigkeiten installieren
Installiere oxmysql und halte deine Server-Artifacts aktuell. oxmysql ist nicht im Download enthalten und muss zuerst starten.
loaf_bcrypt ist optional, aber empfohlen. Laut Ersteller läuft das eingebaute bcrypt von FiveM im Haupt-Thread des Servers und kann einen Hänger von rund 80 ms verursachen, wenn LB Phone ein Passwort hasht oder prüft; loaf_bcrypt erledigt das in einem eigenen Worker-Thread. LB Phone erkennt und nutzt es automatisch, sobald es gestartet ist. Füge diese Zeilen vor start lb-phone in deine server.cfg ein:
add_unsafe_worker_permission loaf_bcrypt
start loaf_bcrypt
4. Startreihenfolge in der server.cfg festlegen
Jede Ressource, die LB Phone nutzt, also auch dein Framework, oxmysql und dein Inventar, muss vor LB Phone starten. Eigene Apps starten danach. Die Produktseite nennt diese Reihenfolge, eingetragen nach oxmysql und deinem Framework:
ensure oxmysql
ensure lb-phoneprop
ensure lb-phone
5. Uploads und API-Keys einrichten
Passe config/config.lua an deine Bedürfnisse an. Foto-, Video- und Audio-Uploads brauchen eine Upload-Methode und API-Keys: Die Methode wählst du in config.lua, die Keys trägst du in lb-phone/server/apiKeys.lua ein. Standardmäßig ist Fivemanage eingestellt; wer lieber eigenen S3- oder R2-Speicher nutzt, findet beim Ersteller den Verweis auf lb-presigned. Rechne den Upload-Dienst zu deinen laufenden Kosten und halte Zugangsdaten in der serverseitigen Konfiguration, nicht im Client-Code.
Danach sollte das Handy laut Ersteller sofort funktionieren; weitere Optionen findest du im config-Ordner.
Du hast LB Phone noch nicht? Hol dir LB Phone v2 bei RPScripts: Sofort-Download, neuere Dateien in den Downloads deines Kontos, Hilfe bei der Einrichtung.
Hinweise zu ESX, QBCore und QBOX
LB Phone erkennt ESX, QBCore und QBOX standardmäßig automatisch; einen eigenen Installationsweg pro Framework gibt es in den geprüften Quellen nicht. Die Unterschiede zeigen sich bei deinem Inventar und bei den Framework-Apps.
Einzigartige Handy-Items
LB Phone kann jedem Handy-Item eine eigene Nummer geben. So können Spieler Handys stehlen und weitergeben, dafür braucht es aber ein Inventar mit Metadaten-Unterstützung. Der Ersteller empfiehlt ox_inventory (für ESX, QBOX und andere) oder qb-inventory (für QBCore) und nennt lj-inventory, core_inventory und qs-inventory als direkt unterstützt. Andere Inventare mit Metadaten lassen sich über die Anleitung des Erstellers für Custom-Inventare anbinden.
Für beide empfohlenen Inventare setzt du in der LB-Phone-Config Config.Item.Unique und Config.Item.Require auf true, optional Config.Item.Inventory auf den Namen des Inventars. Bei ox_inventory fügst du das Item phone in ox_inventory/data/items.lua hinzu oder ersetzt es und entfernst den NPWD-Integrationsblock für Item('phone' in ox_inventory/items/client.lua. Bei qb-inventory (die Anleitung bezieht sich auf Version 2.0.0) ersetzt du den Eintrag phone in qb-core/shared/items.lua. Starte den Server danach neu.
Lege fest, was passieren soll, wenn ein Handy verschenkt, eingelagert oder beschlagnahmt wird, und teste deine Integration, statt anzunehmen, dass jedes Inventar mit Metadaten unverändert funktioniert.
Housing und Custom Frameworks
Die Home-App unterstützt standardmäßig qb-houses, loaf_housing und qs-housing; dein Skript wählst du mit Config.HouseScript. Andere Housing-Skripte brauchen eine eigene Integration, für die laut Ersteller Programmiererfahrung nötig ist.
Bei einem Custom Framework bearbeitest du die Standalone-Framework-Dateien auf Client- und Serverseite. Damit Wallet-, Home-, Garage- und Services-App erscheinen, setzt du Config.CustomFramework auf true oder legst eigene Framework-Dateien an. Auch ein Standalone-Setup braucht für diese Apps also Integrationsarbeit.
Videoanrufe und TURN-Server
LB Phone nutzt WebRTC für Videoanrufe, InstaPic Live und das Aufnehmen der Stimmen von Spielern in der Nähe. Zeigen Videoanrufe oder Livestreams niemanden, blockiert laut Ersteller meist eine Firewall die Verbindung, und ein TURN-Server behebt das in der Regel. Das Handy unterstützt den Realtime-TURN-Server von Cloudflare direkt über Config.DynamicWebRTC; alternativ nutzt du einen Dienst wie Metered über Config.RTCConfig. Prüfe auch deine GTA-V-Edition: Die Migrationshinweise von Cfx.re führen Mumble auf Enhanced als veraltet, eine Voice-Abhängigkeit allein beweist dort also nicht, dass Anrufe funktionieren.
Häufige Probleme nach der Installation
- Wallet-, Garage- oder Services-App fehlt: Das Skript hat dein Framework nicht erkannt, oder es ist nicht richtig eingerichtet.
- Home-App fehlt: Dein Housing-Skript ist nicht konfiguriert; standardmäßig funktioniert die Home-App nur mit wenigen Skripten.
- Handy öffnet sich nicht: Der Ersteller rät zu einer frischen Kopie von
lb-phone, dannConfig.DisableOpenNUIauffalsezu setzen, um eine kollidierende Ressource zu finden, und schließlichConfig.Debugzu aktivieren. - SQL-Importfehler: Nimm HeidiSQL statt phpMyAdmin und eine aktuelle MariaDB.
- "Unknown column x in field list": Eine Datenbankspalte aus einem Update fehlt; die Queries zur Behebung veröffentlicht der Ersteller im Kanal #updates seines Discords.
- AirShare funktioniert nicht: Aktiviere OneSync Infinity und aktualisiere deine Artifacts.
Bei allgemeinen Fehlern beginnst du mit der ersten roten Zeile zur Ressource in deiner Serverkonsole. Ein Framework-Objekt, das nil ist, bedeutet meist, dass das Framework später startet oder das falsche ist.
LB Phone später aktualisieren
Woher du die neuen Dateien bekommst, hängt davon ab, wo du das Handy gekauft hast. Bei RPScripts erscheint eine neuere Datei in den Downloads deines Kontos, sobald sie verfügbar ist. Die Anleitung des Erstellers verweist Käufer seines eigenen Pakets auf Cfx.re.
Die Update-Schritte aus der Anleitung des Erstellers:
- Sichere den Ordner
lb-phone, zum Beispiel als ZIP. - Sichere deine Datenbank, wenn die Patch Notes eine Datenbankänderung nennen. Die Anleitung nutzt in HeidiSQL "Export database as SQL" mit angehakten "Create"-Feldern, nicht angehakten "Drop"-Feldern und für die Daten "Insert ignore (do not update existing)".
- Lösche die alte Ressource
lb-phone. - Installiere die neueste Version.
- Übernimm deine Config-Änderungen wieder. Sofern die Patch Notes nichts anderes sagen, kannst du den ganzen config-Ordner kopieren.
Fügt ein Update eine Datenbankspalte hinzu und du hast die Queries aus den Patch Notes ausgelassen, siehst du den oben genannten Fehler "Unknown column".
FAQ
Welche Frameworks unterstützt LB Phone?
ESX, QBCore, QBOX, ox_core, vRP 2.0 oder Standalone, standardmäßig mit automatischer Erkennung.
Ist ox_core Pflicht?
Nein. ox_core ist eines der unterstützten Frameworks. Pflicht ist oxmysql.
Welche MariaDB-Version brauche ich?
MariaDB 10.11 oder neuer, laut Installationsanleitung des Erstellers.
Muss ich die phone_-Tabellen wirklich löschen?
Laut Anleitung des Erstellers löschst du vor dem Ausführen der SQL-Datei alle Tabellen, die mit phone_ beginnen. Mach zuerst ein Backup und prüfe, zu welcher Ressource jede Tabelle gehört, denn ältere Handys wie gcPhone nutzen dasselbe Präfix.
Ist OneSync Pflicht?
OneSync Infinity ist optional, einige Funktionen wie AirShare brauchen es aber.
Kann jedes Handy eine eigene Nummer haben?
Ja, mit der Funktion für einzigartige Handys und einem Inventar mit Metadaten-Unterstützung.
Brauche ich loaf_bcrypt?
Es ist empfohlen, nicht Pflicht. Es verlagert das Passwort-Hashing aus dem Haupt-Thread des Servers.
Für diese Handyentscheidung vergleiche Telefonskripte: LB Phone v2 gehört zur aktuellen Auswahl für mehrere Frameworks, GKSPhone (ESX) ist ausdrücklich das ältere Paket für ESX 1.1/1.2 (1.2 FIX 5), und bei CodeM Phone (mPhone 2.0) musst du die Abhängigkeiten im Paket prüfen. Die aktuelle Dokumentation zu GKSPHONE V2 beschreibt ein anderes Produkt als den hier verlinkten GKSPhone-Download. Für keines ist eine verlustfreie Übernahme deiner Handydaten belegt. RPScripts verkauft diese Pakete.