Saltar al contenido

10 % de descuento, aplicado al pagar

RPScriptsRPScripts

De GCPhone o Quasar a LB Phone: plan de migración

Por Luke, RPScripts

Pasos ilustrados de migración de datos de GCPhone y Quasar Smartphone a LB Phone

Antes de empezar: no hay conversor oficial

Cambiar de teléfono merece una buena planificación, porque un teléfono guarda números, contactos, mensajes y los vínculos con tus scripts de inventario, banco y trabajos. Algo importante desde el principio: ni la documentación de LB Phone ni nuestras guías documentan una herramienta que copie los datos de GCPhone o Quasar Smartphone a LB Phone. La guía de instalación oficial describe una instalación limpia, no una importación de datos.

Eso deja dos opciones honestas: un nuevo comienzo bien comunicado o una conversión a medida que programes tú o pagues. Esta guía cubre el plan para ambas. No presentes el cambio a tus jugadores como sin pérdidas hasta haber comprobado registros representativos y sus relaciones.

Paso 1: decide qué quieres conservar

Haz una lista por tipo de dato: números de teléfono, contactos, mensajes, historial de llamadas, fotos y cuentas de redes sociales. Para cada uno, decide si se traslada, se vuelve a crear o empieza de cero. Exige un plan de conversión para cada tipo de dato que quieras conservar, también para personajes desconectados y teléfonos únicos.

Tres decisiones marcan toda la migración:

  • ¿De quién es un número: del personaje o del item de teléfono? La función de teléfonos únicos de LB Phone da a cada item de teléfono su propio número y necesita un inventario con soporte de metadatos.
  • Cómo resuelves las colisiones de números, por ejemplo cuando dos personajes acaban con el mismo número.
  • Si las URL de fotos y adjuntos siguen accesibles. LB Phone usa su propio método de subida, Fivemanage por defecto.

Empezar de cero es la opción más sencilla. Si a tus jugadores les importan sobre todo sus contactos, volver a crearlos puede ser un término medio (ver el paso 6).

Paso 2: haz una copia de seguridad de la base de datos y del teléfono antiguo

LB Scripts pide hacer siempre una copia de seguridad antes de cambiar la base de datos. Guarda dos cosas:

  1. La base de datos. La guía de LB muestra cómo exportarla con HeidiSQL: clic derecho en la base de datos, elige "Export database as SQL", deja marcadas las casillas "Create" y sin marcar las casillas "Drop", y elige un nombre de archivo. Para una copia completa de migración, asegúrate de que la exportación incluye los datos además de la estructura.
  2. El recurso del teléfono antiguo y su configuración, por ejemplo en un ZIP. Guarda una copia de reversión del recurso antiguo y de sus datos. En Quasar, guarda también la configuración actual del teléfono.

Paso 3: monta un servidor de pruebas a partir de la copia

Nunca ejecutes la migración primero en tu ciudad en producción. Restaura la copia en una base de datos aparte y conecta a ella una copia de tu servidor. Todos los pasos siguientes se hacen en este servidor de pruebas hasta el paso 9.

Paso 4: comprueba qué tablas borraría LB Phone

Este es el paso que decide si los datos sobreviven. Antes de ejecutar el archivo SQL de LB Phone, la guía oficial indica borrar todas las tablas que empiezan por phone_. En un servidor nuevo no hay problema. En un servidor con un teléfono antiguo, puede borrar su historial.

Si vienes de GCPhone / Re-Ignited

El base.sql de GCPhone añade una columna phone_number a la tabla users y crea phone_app_chat, phone_calls, phone_messages y phone_users_contacts. El base.sql de Re-Ignited crea las mismas cuatro tablas. Las cuatro empiezan por phone_, así que el paso de instalación de LB Phone eliminaría los contactos, mensajes, llamadas y chats de GCPhone. La columna phone_number de users y las tablas independientes twitter_* de twitter.sql no coinciden con el prefijo.

Por tanto: exporta esas cuatro tablas (y users.phone_number) antes de instalar LB, o renómbralas en el servidor de pruebas con un prefijo como old_phone_, para poder leerlas todavía en el paso 6. Apunta qué edición usas, porque Re-Ignited trae archivos separados para ESX 1.1 y ESX 1.2.

Si vienes de Quasar Smartphone

Comprueba primero tu edición. La línea actual, Smartphone 2026 o V3, usa el prefijo qs_phone_ en todas sus tablas, así que no coinciden con la regla phone_ de LB Phone. Borra solo las tablas que empiezan exactamente por phone_ y revisa cada coincidencia antes de borrarla.

La línea antigua Smartphone PRO es distinta. La ficha de RPScripts de QS Smartphone (Legacy 1.7.96) indica que sus archivos esx.sql y qb.sql borran y vuelven a crear las tablas del teléfono. Abre el archivo SQL que instalaste y lista sus nombres de tabla antes de borrar nada. Las apps, adaptadores de voz y complementos de una edición de Quasar no forman parte automáticamente de otra, y las apps DLC gratuitas de Quasar necesitan el teléfono base de Quasar, así que esas apps no pasarán a LB Phone.

Paso 5: instala LB Phone en el servidor de pruebas

Quita o detén primero el teléfono antiguo. La propia guía de Quasar pide quitar cualquier otro teléfono antes de instalar uno, y menciona lb-phone entre otros, porque estos teléfonos usan el mismo item, las mismas teclas y los mismos eventos, y tener dos en marcha a la vez provoca errores y llamadas cortadas. Lo mismo vale en sentido contrario. Detén el teléfono antiguo en lugar de borrar sus archivos, para poder volver atrás.

Después sigue la guía de instalación oficial de LB:

  • MariaDB 10.11 o posterior, oxmysql, artifacts del servidor actualizados, loaf_bcrypt recomendado.
  • Tras tus comprobaciones del paso 4, borrar las tablas phone_ y ejecutar lb-phone/phone.sql con HeidiSQL.
  • Arrancar tu framework, oxmysql y tu inventario antes del teléfono. La página del producto da ensure oxmysql, ensure lb-phoneprop, ensure lb-phone.
  • Configurar el método de subida en config.lua y las claves en lb-phone/server/apiKeys.lua.

Si usas teléfonos únicos, configura el item phone en tu inventario como explica la guía de teléfonos únicos de LB; en ox_inventory eso incluye quitar el bloque de integración de NPWD para Item('phone'.

Paso 6: traslada o vuelve a crear los datos y compáralos

No hay un importador documentado, así que cualquier dato que conserves necesita un paso a medida. LB Phone sí documenta exports de servidor que un desarrollador puede usar. Por ejemplo, AddContact añade un contacto a un número concreto y SendMessage envía un mensaje entre dos números. Un desarrollador puede leer la tabla de contactos antigua del paso 4 y volver a crear los contactos con AddContact cuando los jugadores tengan sus nuevos números de LB. Es un script a medida, no una herramienta oficial de migración, y nuestras fuentes no documentan si se pueden conservar los números antiguos.

Antes de fiarte del resultado, compara los datos:

  • Cuenta los registros por tipo de dato antes y después, por ejemplo los contactos por personaje.
  • Revisa registros representativos y sus relaciones a mano: el contacto correcto en el número correcto, en un personaje conectado y en uno desconectado.
  • Busca duplicados y colisiones de números.
  • Revisa los enlaces antiguos de fotos. Puede que las URL de adjuntos guardadas dejen de funcionar tras el cambio.

Paso 7: adapta los scripts que llamaban al teléfono antiguo

Las alertas de trabajos, el dispatch o los scripts de garaje suelen llamar al teléfono antiguo mediante exports o eventos. Cuando ese teléfono desaparece, esas llamadas fallan; "No such export" significa que el recurso llamado no está iniciado o tiene otro nombre. La documentación de LB lista los exports y eventos propios de LB Phone, por ejemplo SendMessage, SendNotification y EmergencyNotification. No documenta alias para los exports de gcPhone o Quasar, así que cada script que llamaba al teléfono antiguo debe adaptarse a los exports de LB Phone. Re-Ignited arranca gcphone antes de los recursos de trabajos, lo que da una buena pista de qué scripts dependen de él.

Paso 8: prueba con dos personajes

Prueba con dos personajes normales en el servidor de pruebas: llamadas en ambos sentidos, mensajes y adjuntos tras un reinicio, la entrega de un teléfono único, transferencias bancarias y apps de trabajo. Prueba las reconexiones, los números duplicados y las alertas de trabajos antes de sustituir el teléfono en producción. Si las videollamadas no muestran a nadie, configura un servidor TURN; LB Phone es compatible de serie con Cloudflare.

Paso 9: cambia el servidor en producción

Haz el cambio solo cuando los pasos 6 a 8 estén superados. Un orden razonable:

  1. Avisa a tus jugadores con antelación de qué se traslada y qué no, sobre todo si su historial del teléfono no se conserva.
  2. Detén el servidor y haz una copia de seguridad nueva como en el paso 2.
  3. Ejecuta exactamente los pasos que funcionaron en el servidor de pruebas, en el mismo orden: proteger o exportar las tablas antiguas, instalar LB Phone y ejecutar tu script de conversión si lo tienes.
  4. Arranca el servidor y repite una versión corta de las pruebas del paso 8.

¿Estás planificando el cambio? Consigue LB Phone v2 en RPScripts y pruébalo primero en tu servidor de staging.

Paso 10: ten un plan de reversión

Guarda la copia de reversión del recurso del teléfono antiguo y de sus datos hasta que estés seguro de que ya no la necesitas. Escribe la reversión antes del día del cambio: detener el servidor, restaurar la copia de la base de datos del paso 9, volver a poner las líneas ensure del teléfono antiguo y restaurar los scripts de trabajos que cambiaste en el paso 7. Prueba también esta reversión una vez en el servidor de pruebas, para saber que funciona.

FAQ

¿Hay una herramienta oficial para pasar los datos de GCPhone o Quasar a LB Phone?

No en la documentación de LB Phone ni en RPScripts. Las opciones son una conversión a medida o empezar de cero.

¿Instalar LB Phone borrará mis datos de GCPhone?

Es posible. La guía de LB indica borrar todas las tablas phone_ antes de ejecutar el archivo SQL, y las tablas de contactos, mensajes, llamadas y chat de gcPhone empiezan todas por phone_. Haz antes una copia de seguridad y expórtalas.

¿Borrará mis datos de Quasar Smartphone V3?

Las tablas de V3 empiezan por qs_phone_, así que no coinciden con la regla phone_. Aun así, haz primero una copia de seguridad y revisa cada tabla antes de borrarla.

¿Puedo mantener el teléfono antiguo junto a LB Phone?

No. Según la guía de Quasar, tener dos teléfonos en marcha a la vez provoca errores y llamadas cortadas. Detén el teléfono antiguo, pero conserva sus archivos y datos para una reversión.

¿Puedo volver a crear los contactos automáticamente?

Un desarrollador puede usar el export documentado AddContact de LB Phone en un script a medida. No es una herramienta oficial de migración.

Para esta elección de teléfono, compara Scripts de teléfono: LB Phone v2 forma parte de la selección actual para varios frameworks, GKSPhone (ESX) es específicamente el paquete antiguo para ESX 1.1/1.2 (1.2 FIX 5), y CodeM Phone (mPhone 2.0) requiere revisar las dependencias del paquete. La documentación actual de GKSPHONE V2 describe un producto distinto del GKSPhone enlazado aquí. Ninguno demuestra una migración sin pérdida de los datos de tu teléfono. RPScripts vende estos paquetes.