Cómo migrar el servidor de MU de una PC a un VPS
Paso a paso completo para sacar tu servidor de MU de la PC de casa y llevarlo a un VPS, con backup consistente de la base de datos, ajuste de IPs, DNS, firewall y una ventana de migración sin perder el progreso de los jugadores.
Correr el servidor de MU en la PC de casa funciona al comienzo: es barato y tienes control físico de la máquina. Pero conforme el proyecto crece, aparecen los límites: se corta la energía y el servidor desaparece, el internet residencial tiene poco upload e IP dinámico, la PC necesita reiniciarse pa
Correr el servidor de MU en la PC de casa funciona al comienzo: es barato y tienes control físico de la máquina. Pero conforme el proyecto crece, aparecen los límites: se corta la energía y el servidor desaparece, el internet residencial tiene poco upload e IP dinámico, la PC necesita reiniciarse para actualizaciones y nadie puede jugar, y la exposición de tu IP doméstico se vuelve un riesgo real de DDoS apuntado a tu casa. Migrar a un VPS resuelve todo esto de una vez: uplink dedicado, IP fijo, energía y red redundantes, y la posibilidad de reiniciar sin afectar tu vida personal. El problema es que la migración, si se hace mal, puede corromper la base, perder el progreso de los jugadores o dejar el servidor horas fuera de línea. Esta guía muestra cómo hacer el cambio de forma consistente y con el menor tiempo de indisponibilidad posible.
La migración es una tarea avanzada porque mezcla base de datos, red, DNS y archivos del cliente. Si todavía no tienes familiaridad con la estructura de un MuServer, vale la pena repasar el paso a paso de cómo crear un servidor de MU Online antes de encarar el cambio de entorno: la migración asume que ya entiendes cómo conversan los componentes.
Requisitos previos
- Servidor actual funcionando en la PC, con acceso al SQL Server y a la carpeta del MuServer.
- VPS contratado, con Windows Server y acceso administrativo (RDP + consola KVM/VNC del panel).
- Misma versión (o compatible) del SQL Server en el VPS y en la PC. Restaurar un backup de una versión más nueva en una más antigua no funciona.
- Espacio en disco suficiente en el VPS para la base, el MuServer y un margen de crecimiento.
- Un dominio (recomendado) con acceso al panel de DNS, para no atar el cliente a un IP.
- Una ventana de mantenimiento acordada con los jugadores (avisa con antelación).
- Herramienta de transferencia de archivos (RDP con compartición de disco, FTP/SFTP o un servicio en la nube).
Dimensionando el VPS
Elegir el VPS correcto evita rehacer trabajo. Los números de abajo son un punto de partida (varían según proveedor/versión y según el número real de jugadores):
| Perfil | vCPU | RAM | Disco | Observación |
|---|---|---|---|---|
| Prueba / dev | 2 | 4 GB | 40 GB SSD | Solo para validar la migración |
| Season 6 pequeño | 4 | 8 GB | 80 GB NVMe | Hasta algunos cientos online |
| Season 6 mediano/grande | 6-8 | 16 GB | 160 GB NVMe | Comunidad activa, eventos llenos |
| Seasons modernas | 8+ | 16-32 GB | 200 GB+ NVMe | Cliente y base más pesados |
El factor más importante suele ser el disco: el SQL Server es sensible a I/O, así que prefiere NVMe/SSD. RAM insuficiente hace que la base pagine en disco y que el servidor se atore en los eventos. Deja un margen de CPU para picos como el Castle Siege.
Visión general de la estrategia
Para minimizar el tiempo offline, la migración se divide en dos fases:
- Preparación anticipada (sin prisa): montas el VPS entero — SQL Server, MuServer, puertos, firewall — usando una copia antigua de la base solo para probar. Nadie lo nota, porque el servidor de producción sigue en línea en la PC.
- Cambio final (ventana corta): detienes el servidor de producción, haces el backup final y consistente, lo restauras en el VPS ya listo, ajustas los IPs y giras el DNS. Como el VPS ya está todo configurado y probado, la indisponibilidad real baja a pocos minutos.
Esa separación es lo que diferencia una migración amateur (servidor caído por horas) de una profesional (caído por minutos).
Fase 1 — Preparar el VPS con antelación
Etapa 1: instalar la base en el VPS
- Conéctate al VPS por RDP e instala el SQL Server en la misma versión/edición de la PC.
- Instala las dependencias del MuServer (runtimes/redistributables que tu versión exija — varía según la versión).
- Copia la carpeta del MuServer de la PC al VPS. Mantén la misma estructura de carpetas para no romper rutas internas.
- Haz un backup de prueba de la base actual (puede ser con el servidor corriendo, pues es solo un ensayo) y restáuralo en el VPS.
Etapa 2: hacer un backup de prueba de la base
En el SQL Server Management Studio (SSMS) de la PC, genera un backup completo:
BACKUP DATABASE [MuOnline] TO DISK = N'C:\Backups\MuOnline_teste.bak'
WITH FORMAT, INIT, NAME = N'MuOnline - Teste de Migracao', STATS = 10;
GO
Si tu servidor usa bases adicionales (por ejemplo Me_MuOnline, Ranking, Event), haz el backup de todas. Transfiere los archivos .bak al VPS y restáuralos allí:
RESTORE DATABASE [MuOnline] FROM DISK = N'C:\Backups\MuOnline_teste.bak'
WITH MOVE 'MuOnline' TO N'C:\SQLData\MuOnline.mdf',
MOVE 'MuOnline_log' TO N'C:\SQLData\MuOnline_log.ldf',
REPLACE, STATS = 10;
GO
MOVE (MuOnline, MuOnline_log) pueden variar. Descubre los correctos con RESTORE FILELISTONLY FROM DISK = N'...\arquivo.bak'; antes de restaurar.Etapa 3: recrear el login del SQL y mapear el usuario
Un problema clásico tras restaurar: la base llegó, pero el login del SQL que el MuServer usa no existe en el VPS, o existe con un SID diferente ("usuario huérfano"). Recrea el login y realínealo:
-- Cria o login usado pelo MuServer (ajuste nome e senha reais)
CREATE LOGIN [muserver] WITH PASSWORD = 'SenhaForteAqui', CHECK_POLICY = OFF;
GO
USE [MuOnline];
GO
-- Corrige o usuario orfao, ligando ao login recem-criado
ALTER USER [muserver] WITH LOGIN = [muserver];
GO
Etapa 4: ajustar los archivos de configuración del MuServer
Aquí está el corazón de la migración de red. Varios archivos aún apuntan al IP de la PC de casa y a las credenciales antiguas de la base. Recórrelos y ajústalos (los nombres/rutas varían según la versión):
- Conexión con la base: archivos como
MuServer\GameServer\Data\...ODBCo.inide conexión. Apunta a127.0.0.1/localhosten el VPS (la base está en la misma máquina) y al login/contraseña correctos. - ConnectServer / lista de servidores: cambia cualquier IP público antiguo por el nuevo IP público del VPS. Si vas a usar dominio, muchos setups permiten poner el dominio en el archivo que el cliente lee.
- Bind de escucha: confirma que los servicios escuchen en
0.0.0.0(todas las interfaces) para aceptar conexiones externas.
Etapa 5: abrir los puertos y el firewall en el VPS
Replica en el VPS el esquema de puertos del servidor: ConnectServer, GameServers y, si el sitio está junto, web. Bloquea el SQL y los puertos internos. El detalle por grupo (game/connect/web) está en el tutorial de firewall por puerto; lo esencial es liberar solo lo necesario para internet y restringir el RDP a tu IP.
Etapa 6: prueba de extremo a extremo en el VPS
Con la copia de prueba corriendo en el VPS:
- Levanta los procesos (DataServer, ConnectServer, GameServer) y verifica en los logs si conectan a la base sin error.
- Edita temporalmente tu cliente para apuntar al IP del VPS e intenta loguearte, crear personaje, entrar a un mapa, guardar y reconectar.
- Valida un evento simple y la grabación en la base (crea un personaje de prueba y confirma que persiste tras reiniciar el servidor).
Si todo funciona con la copia de prueba, el VPS está listo. Ahora solo falta el cambio final con los datos reales.
Fase 2 — El cambio final
Etapa 7: entrar en mantenimiento y detener el servidor de producción
En el horario acordado:
- Avisa a los jugadores (mensaje en el juego/Discord) y pon el servidor en mantenimiento.
- Detén todos los procesos del MuServer en la PC (GameServer, ConnectServer, DataServer). Esto garantiza que nadie más escriba en la base.
- Confirma que no haya sesiones activas antes de seguir.
Etapa 8: backup final consistente
Con el servidor detenido, genera el backup definitivo — este es el que carga el progreso real:
BACKUP DATABASE [MuOnline] TO DISK = N'C:\Backups\MuOnline_final.bak'
WITH FORMAT, INIT, NAME = N'MuOnline - Migracao Final', CHECKSUM, STATS = 10;
GO
Repite para todas las bases auxiliares. El CHECKSUM ayuda a detectar corrupción a la hora del restore. Transfiere los .bak al VPS.
Etapa 9: restaurar en el VPS y reiniciar
- Restaura las bases finales en el VPS (el mismo comando
RESTOREde la Etapa 2, ahora con los.bakfinales yREPLACE). - Reejecuta el ajuste de usuario huérfano (Etapa 3) si es necesario.
- Levanta los procesos del MuServer en el VPS y monitorea los logs.
Etapa 10: girar el DNS (o distribuir el nuevo cliente)
- Si usas dominio: cambia el registro A del dominio al nuevo IP del VPS. Como la propagación de DNS toma tiempo, usa un TTL bajo (ej.: 300s) configurado con antelación para acelerar el cambio.
- Si el cliente apunta a IP fijo: necesitarás distribuir un parche/launcher con el nuevo IP. Por eso el dominio es tan recomendado — evita este retrabajo cada vez.
Etapa 11: validación posmigración y apagado de la PC
- Conéctate con un cliente real y valida login, creación, movimiento, guardado y reconexión.
- Pide a algunos jugadores de confianza que prueben antes de reabrir para todos.
- Confirma el funcionamiento de eventos, ranking y tienda/sitio.
- Mantén la PC antigua intacta por algunos días como plan de retorno, sin reiniciar el servidor en ella (para no generar dos bases divergentes). Solo desactívala del todo tras comprobar que el VPS es estable.
Errores comunes y soluciones
| Síntoma | Causa probable | Solución |
|---|---|---|
| Pérdida de progreso tras migrar | Backup hecho con el servidor corriendo | Rehazlo con el servidor detenido (backup consistente) y restaura de nuevo |
| El MuServer no conecta a la base | Login inexistente o usuario huérfano | Recrea el login y ejecuta ALTER USER ... WITH LOGIN |
| Los jugadores no ven la lista de servidores | IP antiguo aún en el ConnectServer/lista | Actualiza todos los archivos al nuevo IP/dominio |
| El cliente conecta local pero no externo | Servicios escuchando solo en 127.0.0.1 | Ajusta el bind a 0.0.0.0 y abre los puertos en el firewall |
| El restore falla por versión | SQL del VPS más antiguo que el de la PC | Usa la misma versión/edición o superior en el VPS |
| El DNS tarda en apuntar al VPS | TTL alto en el registro A | Baja el TTL antes del cambio; espera la propagación |
| SQL lento en los eventos | Disco lento o poca RAM en el VPS | Migra a NVMe/SSD y aumenta la RAM dedicada al SQL |
Lista de verificación de lanzamiento
- VPS dimensionado (CPU, RAM, disco NVMe) para la season y el público
- SQL Server en el VPS en la misma versión/edición (o superior) de la PC
- MuServer copiado con la misma estructura de carpetas
- Backup de prueba restaurado y servidor validado en el VPS (Fase 1)
- Login del SQL recreado y usuario huérfano corregido
- Todos los archivos de configuración apuntando al nuevo IP/dominio
- Servicios escuchando en 0.0.0.0 y puertos abiertos en el firewall
- RDP restringido a mi IP y consola KVM/VNC probada
- TTL del DNS reducido con antelación
- Jugadores avisados de la ventana de mantenimiento
- Servidor de producción DETENIDO antes del backup final
- Backup final consistente (con CHECKSUM) de todas las bases
- Restore final aplicado y servidor en línea en el VPS
- DNS girado (o parche/launcher distribuido)
- Validación posmigración con jugadores de confianza
- PC antigua mantenida intacta por algunos días como rollback
Migrar de la PC al VPS es, en el fondo, un ejercicio de disciplina: preparar todo con calma, congelar el servidor en el momento justo, hacer un backup consistente y girar el DNS con el entorno ya probado. Hecho en ese orden, el cambio ocurre con pocos minutos de indisponibilidad y sin perder un solo personaje — y tu servidor gana la estabilidad y la protección que el internet residencial nunca podría ofrecer.
Preguntas frecuentes
¿Voy a perder el progreso de los jugadores en la migración?
No, si haces el backup de la base de datos con el servidor detenido (backup en frío o consistente). El error clásico es copiar la base con el servidor corriendo: las cuentas siguen guardando y el backup queda desactualizado. Congela el servidor, haz el backup, migra y solo entonces libéralo.
¿Qué configuración de VPS necesito para correr MU Online?
Depende de la season y del número de jugadores. Como ejemplo (varía según proveedor/versión), un servidor Season 6 pequeño corre bien con 4 vCPU, 8 GB de RAM, disco SSD/NVMe y Windows Server. Servidores más grandes o seasons modernas piden más RAM y CPU. Prioriza un disco rápido para el SQL Server.
¿Necesito cambiar los IPs en algún archivo después de migrar?
Sí. El IP de la PC de casa aparece en varios lugares: ConnectServer, lista de servidores, archivos del cliente y configuración de la base. Todos necesitan apuntar al nuevo IP público del VPS (o a un dominio vía DNS). Olvidar uno solo hace que el juego no conecte.
¿Es mejor usar IP directo o un dominio (DNS) en el cliente?
Un dominio es mucho mejor. Si apuntas el cliente a un dominio vía DNS, futuros cambios de servidor/IP no exigen redistribuir el cliente: basta con actualizar el registro DNS. Con IP fijo en el cliente, cada cambio obliga a todos los jugadores a descargar un parche nuevo.
¿Cómo hago la migración sin dejar el servidor mucho tiempo offline?
Prepara todo en el VPS con antelación (SQL, MuServer instalado, puertos abiertos) usando una copia antigua de la base para probar. El día indicado, solo detienes el servidor, haces el backup final, lo restauras en el VPS ya listo y giras el DNS. La ventana real de indisponibilidad baja a minutos en lugar de horas.