Saltearse al contenido

Actualizar un servidor existente

Esta página es para un servidor que ya funciona. Una instalación nueva usa Instalación o la receta de txAdmin. El contexto general sobre copias de seguridad y migraciones está en Actualizar y base de datos.

  1. Para el servidor.
  2. Haz una copia de seguridad de toda la carpeta del servidor y de la base de datos. Guarda una copia intacta de la versión que instalaste.
  3. Extrae la versión nueva en una carpeta aparte. Nunca la extraigas encima de tu servidor.

Revisar los cambios con la herramienta de actualización

Sección titulada «Revisar los cambios con la herramienta de actualización»

Necesitas Python 3.10 o más reciente y Git. La versión incluye update/bs_update.py.

python update/bs_update.py prepare --base OLD_RELEASE --local YOUR_SERVER --new NEW_RELEASE --review REVIEW_FOLDER
  • REVIEW_FOLDER/plan.json lista exactamente qué archivos cambiaron. Las versiones propuestas están en proposed/.
  • Los archivos que no editaste se actualizan limpiamente. Los que editaste reciben una fusión a tres bandas, y los que tienen conflictos necesitan revisión manual. Los archivos que solo tienes tú no se tocan.
  • Los archivos de config reciben la misma revisión, así que no pises a ciegas tus contraseñas ni ajustes propios.

Pon en REVIEW_FOLDER/accept.txt solo las rutas que apruebes, una por línea. Resuelve antes todos los marcadores de fusión. Un borrado aprobado elimina exactamente ese archivo. Luego:

python update/bs_update.py apply --review REVIEW_FOLDER

Para deshacer los cambios de archivos aprobados antes de seguir editando: python update/bs_update.py rollback --review REVIEW_FOLDER. Restaura la copia de la base de datos por separado si hace falta.

La herramienta nunca toca la base de datos. bs_core aplica las migraciones nuevas en el primer arranque y las registra en bs_migrations, en orden y una sola vez. Las nuevas son 044_operations.sql, 045_darkzone.sql, 046_building_v2.sql y 047_faction_emblems.sql, además de las anteriores que figuran en Migraciones de la base de datos. Nunca importes la base de datos de una instalación nueva encima de la tuya.

Compara tu server.cfg con el nuevo y añade lo que falte. Estos son los recursos que necesitan los sistemas nuevos, en el orden en que los arranca el servidor en vivo:

ensure bs_config
ensure bs_ui
ensure bs_building
ensure bs_zombies
stop pma-voice
setr voice_useNativeAudio true
setr voice_useSendingRangeOnly true
ensure bs_voice
ensure bs_radio
ensure bs_missions
ensure bs_traders
ensure bs_jobs
ensure bs_events
ensure bs_operations
ensure bs_darkzone # sigue desactivada hasta que la actives en F1 > Dark Zone
ensure bs_guard
ensure bs_pushgates
ensure bs_pause
ensure bs_tutorial
ensure bs_pass
ensure bs_survivor

bs_voice sustituye a pma-voice. Para pma-voice antes de activarlo y migra cualquier script propio que lo llame.

Arranca en privado y comprueba: selección de personaje, inventario, guardado en la base de datos y todo lo que cambió. Conserva las copias de seguridad hasta que aceptes el resultado.

  • F1 tiene páginas nuevas: Operations, Dark Zone, Hunting, Tutorial & Pause Menu, Themes & UI, Voice & radio y Building materials. Consulta Zona Oscura, Operaciones, Construcción v2 y Voz, radio y temas.
  • La Zona Oscura está desactivada. Los asaltos y el deterioro de bases están desactivados. Para los jugadores no cambia nada hasta que los actives.
  • Tus perfiles de F1 están en la base de datos y sobreviven a la actualización. Una clave que ya no existe se ignora.
  • Borra cache/ si algo se ve raro tras la actualización. Nunca la copies entre máquinas.

server.private.cfg guarda lo que pertenece solo a esta máquina. server.cfg lo carga cerca del principio con:

exec server.private.cfg

Pon ahí:

  • sv_licenseKey y mysql_connection_string
  • steam_webApiKey si lo usas, y bs_vip_tebex_secret si vendes VIP
  • Tus líneas de administradores, add_principal identifier.license:... group.superadmin
sv_licenseKey "tu clave"
set mysql_connection_string "mysql://usuario:contraseñ[email protected]/beyondsurvival?charset=utf8mb4"
add_principal identifier.license:TU_LICENCIA group.superadmin

Reglas:

  • No está en git y la herramienta de actualización nunca lo sobrescribe, así que actualizar no toca tu clave, tu contraseña ni tu lista de administradores.
  • No lo compartas nunca, no lo comprimas para otras personas, no lo subas a git.
  • Los convars se leen en orden y gana el último set. Si server.cfg vuelve a fijar el mismo convar después de la línea exec, se impone al archivo privado. Mantén los valores de la máquina en un solo sitio y quita el duplicado de server.cfg.
  • Usa set para secretos, no setr, porque setr envía el valor a todos los jugadores.