Von GCPhone oder Quasar zu LB Phone: der Migrationsplan
Von Luke, RPScripts

Vorab: Es gibt keinen offiziellen Konverter
Ein Handywechsel will gut geplant sein, denn ein Handy hält Nummern, Kontakte, Nachrichten und die Verbindungen zu deinen Inventar-, Bank- und Job-Skripten. Eines gleich vorweg: Weder die Dokumentation von LB Phone noch unsere Anleitungen beschreiben ein Werkzeug, das Daten aus GCPhone oder Quasar Smartphone in LB Phone kopiert. Die offizielle Installationsanleitung beschreibt eine Neuinstallation, keinen Datenimport.
Damit bleiben zwei ehrliche Optionen: ein klar angekündigter Neustart oder eine eigene Konvertierung, die du selbst baust oder bezahlst. Diese Anleitung beschreibt den Plan für beide. Kündige den Wechsel deinen Spielern nicht als verlustfrei an, bevor repräsentative Datensätze und ihre Beziehungen geprüft sind.
Schritt 1: Entscheide, was du behalten willst
Lege eine Liste pro Datentyp an: Telefonnummern, Kontakte, Nachrichten, Anrufverlauf, Fotos und Social-Media-Konten. Entscheide für jeden, ob er umzieht, neu angelegt wird oder bei null beginnt. Verlange für jeden Datentyp, den du behalten willst, einen Konvertierungsplan, auch für Offline-Charaktere und einzigartige Handy-Items.
Drei Entscheidungen prägen die ganze Migration:
- Wem gehört eine Nummer: dem Charakter oder dem Handy-Item? Die Funktion für einzigartige Handys in LB Phone gibt jedem Handy-Item eine eigene Nummer und braucht ein Inventar mit Metadaten-Unterstützung.
- Wie du Nummernkollisionen auflöst, etwa wenn zwei Charaktere am Ende dieselbe Nummer haben.
- Ob Foto- und Anhang-URLs erreichbar bleiben. LB Phone nutzt eine eigene Upload-Methode, standardmäßig Fivemanage.
Ein Neustart ist die einfachere Wahl. Geht es deinen Spielern vor allem um ihre Kontakte, kann das Neuanlegen der Kontakte ein Mittelweg sein (siehe Schritt 6).
Schritt 2: Datenbank und altes Handy sichern
LB Scripts verlangt, vor jeder Änderung an der Datenbank ein Backup anzulegen. Sichere zwei Dinge:
- Die Datenbank. Die LB-Anleitung zeigt den Export mit HeidiSQL: Rechtsklick auf die Datenbank, "Export database as SQL" wählen, die "Create"-Felder angehakt und die "Drop"-Felder nicht angehakt lassen und einen Dateinamen wählen. Achte bei einem vollständigen Migrations-Backup darauf, dass der Export neben der Struktur auch die Daten enthält.
- Die alte Handy-Ressource und ihre Konfiguration, zum Beispiel als ZIP. Bewahre eine Rollback-Kopie der alten Ressource und ihrer Handydaten auf. Bei Quasar sicherst du auch die bestehende Handy-Konfiguration.
Schritt 3: Testserver aus dem Backup aufbauen
Führe die Migration nie zuerst auf deinem Live-Server aus. Spiele das Backup in eine separate Datenbank ein und betreibe eine Kopie deines Servers damit. Alle folgenden Schritte passieren bis Schritt 9 auf diesem Testserver.
Schritt 4: Prüfen, welche Tabellen LB Phone löschen würde
Dieser Schritt entscheidet, ob Daten überleben. Vor dem Ausführen der SQL-Datei von LB Phone sollst du laut offizieller Anleitung alle Tabellen löschen, die mit phone_ beginnen. Auf einem frischen Server ist das in Ordnung. Auf einem Server mit altem Handy kann es dessen Verlauf löschen.
Wechsel von GCPhone / Re-Ignited
Die base.sql von GCPhone fügt der Tabelle users eine Spalte phone_number hinzu und legt phone_app_chat, phone_calls, phone_messages und phone_users_contacts an. Die base.sql von Re-Ignited legt dieselben vier Tabellen an. Alle vier beginnen mit phone_, der Installationsschritt von LB Phone würde also Kontakte, Nachrichten, Anrufe und Chat von GCPhone entfernen. Die Spalte phone_number in users und die separaten Tabellen twitter_* aus twitter.sql passen nicht auf das Präfix.
Deshalb: Exportiere diese vier Tabellen (und users.phone_number) vor der LB-Installation, oder benenne sie auf dem Testserver auf ein Präfix wie old_phone_ um, damit du sie in Schritt 6 noch lesen kannst. Notiere, welche Edition du nutzt, denn Re-Ignited liefert getrennte Archive für ESX 1.1 und ESX 1.2.
Wechsel von Quasar Smartphone
Prüfe zuerst deine Edition. Die aktuelle Linie, Smartphone 2026 bzw. V3, versieht alle ihre Tabellen mit dem Präfix qs_phone_; sie fallen also nicht unter die phone_-Regel von LB Phone. Lösche nur Tabellen, die genau mit phone_ beginnen, und prüfe jeden Treffer, bevor du ihn löschst.
Die ältere Smartphone-PRO-Linie ist anders. Laut dem RPScripts-Eintrag zu QS Smartphone (Legacy 1.7.96) löschen ihre esx.sql und qb.sql die Handytabellen und legen sie neu an. Öffne die SQL-Datei, die du installiert hast, und liste ihre Tabellennamen auf, bevor du etwas löschst. Apps, Voice-Adapter und Add-ons einer Quasar-Edition sind nicht automatisch Teil einer anderen, und Quasars kostenlose DLC-Apps brauchen das Quasar-Basis-Handy; diese Apps kommen also nicht zu LB Phone mit.
Schritt 5: LB Phone auf dem Testserver installieren
Entferne oder stoppe zuerst das alte Handy. Quasars eigene Anleitung sagt, vor der Installation eines Handys jedes andere Handy zu entfernen, und nennt dabei unter anderem lb-phone, weil diese Handys dasselbe Item, dieselben Tasten und Events nutzen und zwei gleichzeitig laufende Handys Fehler und abgebrochene Anrufe verursachen. Das gilt auch in die andere Richtung. Stoppe das alte Handy, statt seine Dateien zu löschen, damit du zurückwechseln kannst.
Folge dann der offiziellen LB-Installationsanleitung:
- MariaDB 10.11 oder neuer, oxmysql, aktuelle Server-Artifacts, loaf_bcrypt empfohlen.
- Nach deinen Prüfungen aus Schritt 4 die
phone_-Tabellen löschen undlb-phone/phone.sqlmit HeidiSQL ausführen. - Framework, oxmysql und Inventar vor dem Handy starten. Die Produktseite nennt
ensure oxmysql,ensure lb-phoneprop,ensure lb-phone. - Die Upload-Methode in
config.luaund die Keys inlb-phone/server/apiKeys.luaeintragen.
Nutzt du einzigartige Handys, richte das Item phone in deinem Inventar so ein, wie es LBs Anleitung für einzigartige Handys beschreibt; bei ox_inventory gehört dazu, den NPWD-Integrationsblock für Item('phone' zu entfernen.
Schritt 6: Daten übertragen oder neu anlegen und vergleichen
Es gibt keinen dokumentierten Importer, jede Datenübernahme braucht also einen eigenen Schritt. LB Phone dokumentiert aber Server-Exports, die ein Entwickler nutzen kann. AddContact fügt zum Beispiel einer bestimmten Telefonnummer einen Kontakt hinzu, und SendMessage sendet eine Nachricht zwischen zwei Nummern. Ein Entwickler kann die alte Kontakttabelle aus Schritt 4 auslesen und die Kontakte über AddContact neu anlegen, sobald die Spieler ihre neuen LB-Nummern haben. Das ist ein eigenes Skript, kein offizielles Migrationswerkzeug, und ob alte Nummern erhalten bleiben können, ist in unseren Quellen nicht dokumentiert.
Bevor du dem Ergebnis traust, vergleiche die Daten:
- Datensätze zählen pro Datentyp vorher und nachher, zum Beispiel Kontakte pro Charakter.
- Repräsentative Datensätze prüfen und ihre Beziehungen von Hand kontrollieren: der richtige Kontakt auf der richtigen Nummer, bei einem Online- und einem Offline-Charakter.
- Auf Duplikate prüfen, ebenso auf Nummernkollisionen.
- Alte Fotolinks prüfen. Gespeicherte Anhang-URLs sind nach dem Wechsel womöglich nicht mehr erreichbar.
Schritt 7: Skripte anpassen, die das alte Handy aufgerufen haben
Job-Alarme, Dispatch- oder Garagen-Skripte rufen das alte Handy oft über Exports oder Events auf. Ist dieses Handy weg, schlagen diese Aufrufe fehl; "No such export" bedeutet, dass die aufgerufene Ressource nicht gestartet ist oder anders heißt. Die LB-Docs listen die eigenen Exports und Events von LB Phone auf, zum Beispiel SendMessage, SendNotification und EmergencyNotification. Aliase für gcPhone- oder Quasar-Exports dokumentieren sie nicht, also muss jedes Skript, das das alte Handy aufgerufen hat, an die Exports von LB Phone angepasst werden. Re-Ignited startet gcphone vor den Job-Ressourcen; das ist ein guter Hinweis darauf, welche Skripte davon abhängen.
Schritt 8: Mit zwei Charakteren testen
Teste mit zwei normalen Charakteren auf dem Testserver: Anrufe in beide Richtungen, Nachrichten und Anhänge nach einem Neustart, die Übergabe eines einzigartigen Handys, Überweisungen und Job-Apps. Teste Reconnects, doppelte Telefonnummern und Job-Alarme, bevor du das Live-Handy ersetzt. Zeigen Videoanrufe niemanden, richte einen TURN-Server ein; LB Phone hat integrierte Cloudflare-Unterstützung.
Schritt 9: Den Live-Server umstellen
Stelle erst um, wenn die Schritte 6 bis 8 bestanden sind. Eine sinnvolle Reihenfolge:
- Sag deinen Spielern vorab, was umzieht und was nicht, vor allem wenn ihr Handyverlauf nicht mitkommt.
- Stoppe den Server und lege ein frisches Backup wie in Schritt 2 an.
- Führe genau die Schritte aus, die auf dem Testserver funktioniert haben, in derselben Reihenfolge: alte Tabellen schützen oder exportieren, LB Phone installieren, dein Konvertierungsskript ausführen, falls du eines hast.
- Starte den Server und führe eine Kurzfassung der Tests aus Schritt 8 durch.
Du planst den Wechsel? Hol dir LB Phone v2 bei RPScripts und teste es zuerst auf deinem Staging-Server.
Schritt 10: Einen Rollback-Plan bereithalten
Behalte die Rollback-Kopie der alten Handy-Ressource und ihrer Daten, bis du sicher bist, dass du sie nicht mehr brauchst. Schreib den Rollback vor dem Umstellungstag auf: Server stoppen, das Datenbank-Backup aus Schritt 9 zurückspielen, die ensure-Zeilen wieder auf das alte Handy umstellen und alle in Schritt 7 geänderten Job-Skripte wiederherstellen. Teste diesen Rollback einmal auch auf dem Testserver, damit du weißt, dass er funktioniert.
FAQ
Gibt es ein offizielles Werkzeug, um GCPhone- oder Quasar-Daten in LB Phone zu übertragen?
Weder in der Dokumentation von LB Phone noch bei RPScripts. Die Optionen sind eine eigene Konvertierung oder ein Neustart.
Löscht die Installation von LB Phone meine GCPhone-Daten?
Das kann passieren. Laut LB-Anleitung löschst du vor dem Ausführen der SQL-Datei alle phone_-Tabellen, und die Kontakt-, Nachrichten-, Anruf- und Chat-Tabellen von gcPhone beginnen alle mit phone_. Mach zuerst ein Backup und exportiere sie.
Löscht sie meine Daten aus Quasar Smartphone V3?
V3-Tabellen beginnen mit qs_phone_ und fallen damit nicht unter die phone_-Regel. Mach trotzdem zuerst ein Backup und prüfe jede Tabelle, bevor du sie löschst.
Kann ich das alte Handy neben LB Phone weiterlaufen lassen?
Nein. Laut Quasars Anleitung verursachen zwei gleichzeitig laufende Handys Fehler und abgebrochene Anrufe. Stoppe das alte Handy, behalte aber seine Dateien und Daten für einen Rollback.
Kann ich Kontakte automatisch neu anlegen?
Ein Entwickler kann den dokumentierten Export AddContact von LB Phone in einem eigenen Skript nutzen. Ein offizielles Migrationswerkzeug ist das nicht.
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.