El mayor portal de MU Online de Brasil — desde 2003
Tutorial Avanzado Infra

Cómo probar el plan de recuperación ante desastres de tu servidor de MU Online

Aprende a armar y, sobre todo, probar de verdad un plan de recuperación ante desastres (DRP) para tu servidor de MU Online, con simulaciones de falla de base de datos, de host y de corrupción de datos, y métricas de RTO y RPO.

RO Rodrigo · Actualizado el 12 nov 2016 · ⏱ 15 min de lectura
Respuesta rápida

Todo administrador de servidor de MU Online dice que "tiene backup". Pocos han probado, de verdad, restaurar ese backup desde cero, bajo presión de tiempo, y poner el servidor de vuelta en línea sin perder datos críticos. Un plan de recuperación ante desastres (DRP) solo vale algo después de haber s

Todo administrador de servidor de MU Online dice que "tiene backup". Pocos han probado, de verdad, restaurar ese backup desde cero, bajo presión de tiempo, y poner el servidor de vuelta en línea sin perder datos críticos. Un plan de recuperación ante desastres (DRP) solo vale algo después de haber sido probado — en el papel, es solo una lista de buenas intenciones. Este tutorial muestra cómo estructurar un DRP para un servidor de MU y, sobre todo, cómo simular desastres reales para validar que el plan funciona antes de que lo necesites de verdad.

Por qué "tener backup" no es lo mismo que "tener un plan"

Un backup es un archivo. Un plan de recuperación ante desastres es un proceso: quién lo ejecuta, con qué acceso, restaurando qué, en qué orden, y cómo validar que todo volvió correcto. Los servidores que solo tienen el archivo descubren en el momento de la crisis que falta la contraseña del proveedor de hosting, que el script de restauración está desactualizado, o que el backup de la base de datos no incluye las tablas de personaje más recientes. Probar el plan convierte esas suposiciones en hechos verificados.

Definiendo RTO y RPO antes de cualquier prueba

Antes de simular cualquier desastre, define dos números:

MétricaDefiniciónEjemplo para servidor medio
RTO (Recovery Time Objective)Tiempo máximo hasta que el servidor vuelva a estar en línea2 horas
RPO (Recovery Point Objective)Pérdida máxima de datos aceptable, en tiempo15 minutos

Estos números orientan decisiones técnicas: un RPO de 15 minutos exige backup incremental de la base de datos cada 15 minutos (o replicación), no solo un dump diario. Un RTO de 2 horas exige que el proceso de restauración completo (base de datos + GameServer + ConnectServer + panel web) esté documentado y cronometrado — si hoy toma 6 horas, el plan necesita ajuste antes de cualquier desastre real.

Inventario de lo que necesita ser recuperado

Un servidor de MU tiene varias piezas que necesitan recuperarse juntas y en el orden correcto:

ComponentePrioridad de restauraciónFuente del backup
Base de datos (cuentas, personajes, ítems)1 (crítica)Dump/backup incremental de SQL Server o MySQL
Archivos de configuración del GameServer2Repositorio versionado o snapshot de disco
ConnectServer y JoinServer2Snapshot de disco o imagen de contenedor
Panel web y base de datos del sitio3Backup separado, puede tener RPO más laxo
Assets del cliente (para redistribución)4Repositorio de archivos/CDN

Sin este inventario documentado, es común restaurar primero la base de datos y descubrir que la versión del GameServer no es compatible con el schema restaurado — un error evitable con un checklist de orden correcto.

Escenarios de desastre que vale la pena simular

No pruebes solo "el servidor se cayó". Simula escenarios específicos, cada uno con una respuesta diferente:

EscenarioQué probarSeñal de éxito
Falla total del host (VPS eliminada)Aprovisionar nuevo host y restaurar todo desde ceroServidor en línea dentro del RTO definido
Corrupción de la base de datosRestaurar desde backup sin el dump más recientePérdida de datos dentro del RPO definido
Eliminación accidental de tablaRestaurar solo la tabla afectada sin downtime totalRestauración puntual sin afectar el resto de la base
Ataque de ransomware/malwareRestaurar en entorno limpio, sin reintroducir el vectorEntorno limpio confirmado antes de reconectar
Error humano en deploy (config rota)Rollback rápido a la versión anteriorRollback completo en minutos, no horas

Armando el entorno de prueba aislado

Nunca pruebes la restauración sobre el entorno de producción. Arma un VPS de prueba o VM local con el mismo stack (SQL Server/MySQL, GameServer, ConnectServer) y ejecuta ahí la restauración completa. Esto permite cronometrar el proceso sin riesgo y documentar cada paso real — comandos exactos, tiempo gastado en cada etapa, credenciales necesarias.

# Ejemplo de restauración de base de datos en entorno de prueba (MySQL)
mysql -u root -p mu_test < backup_2026-07-15_0300.sql

# Ejemplo para SQL Server vía sqlcmd
sqlcmd -S localhost -Q "RESTORE DATABASE MuOnline FROM DISK = 'D:\Backups\MuOnline_full.bak' WITH REPLACE"

Después de restaurar la base de datos, levanta el GameServer apuntando a esa instancia de prueba y confirma login, creación de personaje y persistencia de ítems — restaurar la base de datos sin validar que el servidor puede leerla correctamente es una prueba incompleta.

Cronometrando el proceso real

Durante la prueba, registra el tiempo de cada etapa en una tabla como esta:

EtapaTiempo estimadoTiempo real en la pruebaResponsable
Aprovisionar nuevo host/VM30 minInfra
Restaurar base de datos20 minDBA/Admin
Levantar GameServer y ConnectServer15 minAdmin
Validar login e integridad de personaje15 minQA/GM
Comunicar el estado a la comunidad10 minComunidad

Si el tiempo real supera el RTO definido, el plan necesita ajuste — ya sea automatizando etapas manuales, o pre-aprovisionando un host de contingencia ya configurado (standby caliente).

Validando la integridad de los datos después de la restauración

Restaurar sin validar es arriesgado. Después de cualquier prueba de restauración, ejecuta verificaciones específicas:

  • El conteo de cuentas y personajes coincide con lo esperado (comparar con la métrica monitoreada antes del backup).
  • El login de una cuenta de prueba conocida funciona y refleja el estado esperado de ítems y Zen.
  • Los logs del GameServer no muestran errores de schema o tabla ausente.
  • El ranking y las ligas cargan sin error (indicativo de integridad de tablas relacionadas).

Comunicación durante un desastre real

Parte del plan es cómo te comunicas mientras restauras. Prepara con anticipación un mensaje modelo para Discord/sitio informando que hubo un incidente, una estimación de retorno y un canal para actualizaciones — esto reduce el volumen de tickets duplicados y protege la reputación del servidor incluso durante una falla real.

Frecuencia de pruebas y disparadores de reprueba

Define una cadencia mínima y disparadores que activen una nueva prueba fuera del calendario:

DisparadorAcción
Calendario trimestralPrueba completa de restauración desde cero
Calendario mensualPrueba rápida de restauración de base de datos aislada
Cambio de proveedor de hostingReprueba completa antes de confiar en el nuevo entorno
Actualización de versión del emuladorReprueba de compatibilidad del backup restaurado
Cambio en el equipo (salida de administrador)Revalidación de credenciales y accesos del plan

Documentando el plan para alguien que no seas tú

Un plan de recuperación ante desastres solo funciona si otra persona del equipo puede ejecutarlo sin que tú estés disponible. Documenta cada paso en lenguaje simple, con comandos exactos, rutas de archivo y dónde encontrar credenciales (idealmente en una bóveda de contraseñas compartida, nunca en texto plano en Discord). Prueba esto literalmente pidiéndole a otro miembro del equipo que siga el documento sin tu ayuda.

Errores comunes y soluciones

SíntomaCausa probableSolución
Nunca se hizo la prueba de restauraciónEl plan existe solo en el papelAgendar la primera prueba completa en entorno aislado
La restauración tarda mucho más que el RTOProceso manual sin automatizaciónAutomatizar etapas con scripts y considerar standby caliente
El backup restaurado no levanta en el GameServerIncompatibilidad de versión/schemaValidar compatibilidad en cada actualización de emulador
Los datos restaurados no coinciden con lo esperadoEl backup incremental falló silenciosamenteAgregar alerta de falla de backup y chequeo de integridad
Solo una persona sabe ejecutar el planFalta de documentación y prueba con otra personaDocumentar y probar con un segundo miembro del equipo

Lista de verificación de prueba de recuperación ante desastres

  • RTO y RPO definidos y documentados.
  • Inventario de componentes y orden de restauración documentado.
  • Entorno de prueba aislado aprovisionado.
  • Escenarios de desastre (host, corrupción, eliminación, ataque) simulados individualmente.
  • Tiempo real de cada etapa cronometrado y comparado con el RTO.
  • Validación de integridad post-restauración ejecutada.
  • Plan documentado y probado por una segunda persona del equipo.
  • Calendario de repruebas definido con disparadores adicionales.

Un plan probado es lo que separa un incidente de algunas horas de una pérdida permanente de confianza de la comunidad. Después de validar tu recuperación ante desastres, revisa también la base de infraestructura descrita en la guía de creación de servidor de MU Online para asegurarte de que los fundamentos de backup y monitoreo ya nazcan alineados con tu plan.

Preguntas frecuentes

¿Tener backup automatizado ya es suficiente como plan de recuperación ante desastres?

No. El backup es solo un componente. Un plan de recuperación ante desastres también define quién actúa, en qué orden, con qué credenciales y en cuánto tiempo — y eso solo se valida probando una restauración completa, no simplemente confirmando que el archivo de backup existe.

¿Con qué frecuencia debo probar el plan de recuperación?

Lo mínimo recomendable es una prueba completa cada 3 meses y una prueba rápida (restauración de base de datos aislada) mensual. Después de cualquier cambio grande de infraestructura (cambio de host, nueva versión del emulador), repite la prueba completa antes de volver a confiar en el plan.

¿Qué son el RTO y el RPO y por qué importan tanto?

El RTO (Recovery Time Objective) es el tiempo máximo aceptable hasta que el servidor vuelva a estar en línea. El RPO (Recovery Point Objective) es la cantidad máxima de datos aceptable para perder, medida en tiempo. Definir ambos antes de un desastre real evita decisiones de pánico durante la crisis.

¿Necesito un servidor secundario para probar el plan?

Idealmente sí — un entorno aislado (VPS de prueba o VM local) evita que la prueba de restauración afecte al servidor de producción. Probar restaurando encima de la base de datos de producción es arriesgado y puede causar la misma interrupción que estás tratando de prevenir.

¿Qué hacer si la prueba de restauración falla?

Documenta exactamente dónde falló, corrige la causa (backup corrupto, script desactualizado, credencial expirada) y repite la prueba hasta completarla con éxito. Es mejor descubrir ahora que un plan falla en la prueba, que durante un incidente real con jugadores conectados.

RO
Fundador y editor jefe

Rodrigo mantiene ViciadosMU desde los inicios del portal. Especialista en creación y administración de servidores de MU Online, historia del juego y la evolución de las seasons — escribió buena parte del archivo antes de 2024.

Sigue leyendo

Artículos relacionados