Saltearse al contenido

Actualización y base de datos

Nunca importas el esquema a mano. bs_core tiene las migraciones en bs_core/sql/ (001_core_schema.sql … 048_backpack_refresh.sql) y la lista en bs_core/server/sv_migrations.lua. Al arrancar ejecuta todos los archivos que aún no están en la tabla bs_migrations y los registra. Las ya aplicadas no vuelven a ejecutarse.

Así que una actualización que trae una tabla nueva es solo: actualizar los archivos y reiniciar. La consola muestra qué migración aplicó.

Algunos resources (bs_config, bs_guard, bs_vip, progresión de bs_factions) también crean sus propias tablas al arrancar si faltan. Es una red de seguridad, la migración sigue siendo la fuente real.

Antes de cualquier actualización: haz una copia

Sección titulada «Antes de cualquier actualización: haz una copia»
Ventana de terminal
powershell -ExecutionPolicy Bypass -File .\tools\Backup-Database.ps1 -Database beyondsurvival -User beyond

Pide la contraseña y escribe un .sql con marca de tiempo en database-backups/. Usa --single-transaction, no bloquea ni cambia la base de datos en vivo.

Hazlo siempre. Las migraciones solo avanzan, no hay “down”.

  1. Detén el servidor.
  2. Haz la copia (arriba).
  3. Sustituye los resources cambiados. Conserva tus archivos de config editados, o compáralos con los nuevos. Las claves nuevas en una config suelen hacer falta para el código nuevo.
  4. No toques server.private.cfg. Mira server.cfg.example por si hay líneas ensure nuevas y añádelas a la tuya.
  5. Ejecuta tools\Test-Deployment.ps1.
  6. Arranca y vigila la consola por si hay líneas rojas.

Tus perfiles F1 viven en la base de datos, sobreviven a las actualizaciones. Una clave de perfil que ya no existe simplemente se ignora.

Nunca copies cache/ entre equipos ni versiones, bórrala si algo se ve raro tras una actualización.

El paquete de release no incluye la base de datos, a propósito. Haz la copia en el antiguo y, en el nuevo, crea una base de datos nueva vacía y:

Ventana de terminal
powershell -ExecutionPolicy Bypass -File .\tools\Import-Database.ps1 -Database beyondsurvival -User beyond -BackupFile D:\transfer\beyondsurvival-YYYYMMDD-HHMMSS.sql

Nunca borra una base de datos y te pide que escribas IMPORT primero. Conserva la copia original hasta que el servidor nuevo lleve funcionando bien un tiempo.

Trata ese archivo .sql como privado. Tiene cada personaje, inventario, banco de facción e identificador.

txadmin/recipe.yaml despliega la release y una base de datos nueva y vacía mediante el Server Deployer de txAdmin. Es un mundo nuevo, nada de la base de datos antigua viene con él. Mira txadmin/README.md para la estructura del zip.