El mayor portal de MU Online de Brasil — desde 2003
Tutorial Principiante Tutoriais

Cómo Configurar VPS Windows Server 2019 para MU Online

Guía completa paso a paso para configurar un VPS con Windows Server 2019 y correr tu servidor MU Online con SQL Server, puertos y firewall correctamente definidos.

EQ Equipo ViciadosMU · Actualizado el 3 jul 2026 · ⏱ 12 min de lectura

Introducción

Configurar un VPS con Windows Server 2019 para correr un servidor privado de MU Online requiere atención a varios detalles: instalación de SQL Server, configuración del firewall, ajuste de servicios de Windows y organización de los directorios del servidor. Esta guía cubre el proceso completo — desde el estado inicial del VPS hasta el servidor listo para recibir jugadores.

Nota: Esta guía está orientada a servidores Season 6 Episode 3, el más utilizado en la comunidad de servidores privados. Los pasos fueron validados en Windows Server 2019 Standard/Datacenter (build 1809+) con MuServer S6E3.

Requisitos Previos

  • VPS con Windows Server 2019 (mínimo 4 GB RAM, 2 vCPUs, 60 GB SSD)
  • Acceso RDP al servidor con usuario Administrador
  • Archivos del servidor MU (GameServer, ConnectServer, DataServer, EventServer)
  • Instalador de SQL Server 2017 o 2019

Parte 1 — Preparación Inicial de Windows Server 2019

Paso 1: Primer acceso y configuración del sistema

Conéctate al VPS por Remote Desktop (RDP) usando la IP pública, el usuario Administrator y la contraseña del proveedor. Abre PowerShell como Administrador y renombra el servidor:

# Verificar el build de Windows
winver

# Renombrar para identificar fácilmente en los logs
Rename-Computer -NewName "MUSERVER-PROD" -Restart

Tras el reinicio, configura la zona horaria del servidor para evitar problemas con los timestamps de los logs:

# Ejemplo para México/Colombia/Perú (UTC-5)
Set-TimeZone -Id "SA Pacific Standard Time"

# Ejemplo para Argentina/Chile (UTC-3)
Set-TimeZone -Id "Argentina Standard Time"

Paso 2: Deshabilitar servicios innecesarios

Reduce el consumo de recursos deshabilitando lo que no se necesita en un servidor de juego:

# Windows Search — consume I/O de disco innecesario
Set-Service -Name "WSearch" -StartupType Disabled
Stop-Service -Name "WSearch" -Force

# SysMain (Superfetch) — inútil en un servidor dedicado
Set-Service -Name "SysMain" -StartupType Disabled
Stop-Service -Name "SysMain" -Force

# Print Spooler — innecesario en un VPS
Set-Service -Name "Spooler" -StartupType Disabled
Stop-Service -Name "Spooler" -Force
Atenção: Nunca deshabilites Windows Defender sin tener otro mecanismo de protección activo. Los VPS con IP pública son objetivos constantes de escáneres automatizados. En lugar de desactivarlo, agrega exclusiones para las carpetas de MuServer.

Paso 3: Agregar exclusiones en Windows Defender

Evita falsos positivos sin comprometer la seguridad:

Add-MpPreference -ExclusionPath "C:\MuServer"
Add-MpPreference -ExclusionProcess "GameServer.exe"
Add-MpPreference -ExclusionProcess "ConnectServer.exe"
Add-MpPreference -ExclusionProcess "DataServer.exe"

Paso 4: Instalar Visual C++ Redistributable

La mayoría de los binarios de MuServer Season 6 requieren runtimes específicos. Instala en este orden:

  • Visual C++ 2010 Redistributable (x86)
  • Visual C++ 2012 Redistributable (x86 y x64)
  • Visual C++ 2015-2022 Redistributable (x86 y x64)

Verifica las instalaciones en Panel de Control → Programas y características antes de continuar. Si el GameServer se cierra inmediatamente al abrirlo, un runtime faltante es la causa más común.


Parte 2 — Instalación y Configuración de SQL Server

Paso 5: Instalar SQL Server 2019

Ejecuta el instalador de SQL Server 2019 y selecciona la instalación Personalizada. En la selección de características, marca únicamente:

  • Servicios de Motor de base de datos
  • Replicación de SQL Server (opcional, requerida por algunos paquetes de MU)

Configura la instancia como Instancia predeterminada (nombre: MSSQLSERVER) para que los archivos .ini de MuServer se conecten sin especificar el nombre de la instancia.

Tras la instalación, abre el Administrador de configuración de SQL Server y:

  1. Expande Configuración de red de SQL Server
  2. Haz clic en Protocolos para MSSQLSERVER
  3. Habilita TCP/IP (clic derecho → Habilitar)
  4. Doble clic en TCP/IP → pestaña Direcciones IP → desplázate hasta IPAll → establece Puerto TCP en 1433
  5. Reinicia el servicio SQL Server desde services.msc

Paso 6: Configurar autenticación mixta y límite de memoria

En SQL Server Management Studio (SSMS), conéctate al servidor local y configura:

Autenticación mixta (obligatorio para el login via cadena de conexión):

  1. Clic derecho sobre la instancia → Propiedades
  2. Pestaña Seguridad → selecciona Modo de autenticación de SQL Server y Windows
  3. Haz clic en Aceptar y reinicia el servicio SQL Server

Límite de memoria (evita que SQL consuma toda la RAM disponible):

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;

-- Para un VPS de 4 GB: limitar SQL Server a 2 GB
EXEC sp_configure 'max server memory', 2048;
RECONFIGURE;

Paso 7: Crear la base de datos y un usuario dedicado

-- Crear la base de datos principal con la collation correcta para MU Online
CREATE DATABASE MuOnline
COLLATE Latin1_General_CI_AS;
GO

-- Crear base de datos de log separada (recomendado)
CREATE DATABASE MuOnlineLog
COLLATE Latin1_General_CI_AS;
GO

-- Crear un login dedicado para el GameServer
CREATE LOGIN muserver_user WITH PASSWORD = 'TuContraseñaFuerte@2024',
    DEFAULT_DATABASE = MuOnline,
    CHECK_EXPIRATION = OFF,
    CHECK_POLICY = OFF;
GO

-- Mapear el login a la base de datos y conceder permisos
USE MuOnline;
GO
CREATE USER muserver_user FOR LOGIN muserver_user;
EXEC sp_addrolemember 'db_owner', 'muserver_user';
GO
Dica: Usa contraseñas fuertes para el login SQL. Los ataques de fuerza bruta contra SQL Server en el puerto 1433 son extremadamente comunes en VPS con IP pública.

Paso 8: Restaurar la base de datos de MuServer

Con el archivo .bak disponible en C:\MuServer\backup\, restáuralo desde SSMS:

USE master;
GO
RESTORE DATABASE MuOnline
FROM DISK = 'C:\MuServer\backup\MuOnline.bak'
WITH MOVE 'MuOnline' TO 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\MuOnline.mdf',
     MOVE 'MuOnline_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\MuOnline_ldf.ldf',
     REPLACE, STATS = 10;
GO
Nota: La ruta MSSQL15.MSSQLSERVER corresponde a SQL Server 2019. Para SQL Server 2017 usa MSSQL14.MSSQLSERVER. Verifica la ruta real en C:\Program Files\Microsoft SQL Server\.

Parte 3 — Configuración de los Archivos de MuServer

Paso 9: Organizar la estructura de directorios

Crea la estructura estándar en C:\MuServer\:

C:\MuServer\
├── ConnectServer\
│   └── ConnectServer.exe
├── DataServer\
│   └── DataServer.exe
├── GameServer\
│   ├── Data\
│   │   ├── Events\
│   │   ├── Maps\
│   │   └── Monster\
│   ├── Logs\
│   └── GameServer.exe
├── EventServer\
│   └── EventServer.exe
└── StartAll.bat

Paso 10: Configurar la cadena de conexión en GameServer

Edita GameServer\Data\DBConfig.ini (o DBConnectConfig.ini según la versión del paquete):

[DBCONFIG]
DBServer=127.0.0.1
DBPort=1433
DBName=MuOnline
DBUser=muserver_user
DBPass=TuContraseñaFuerte@2024

Edita también DataServer\DSConfig.ini:

[DataServer]
ServerCode=0
DB_Ip=127.0.0.1
DB_Port=1433
DB_Name=MuOnline
DB_User=muserver_user
DB_Pass=TuContraseñaFuerte@2024

Paso 11: Configurar el ConnectServer

Edita ConnectServer\ConnectServerInfo.ini:

[ConnectServer]
Port=44405
MaxConnectServer=2
ServerCodeStart=0
ServerCodeEnd=10

[ServerInfo0]
ServerCode=0
ServerName=Lorencia
GameServerIPAddress=TU_IP_PUBLICA
GameServerPort=55901

Reemplaza TU_IP_PUBLICA con la IP externa del VPS. El cliente de MU usa esta IP para conectarse directamente al GameServer — nunca uses 127.0.0.1 aquí.


Parte 4 — Configuración del Firewall de Windows

Paso 12: Crear reglas de entrada via PowerShell

Ejecuta el bloque completo en PowerShell como Administrador:

# ConnectServer
New-NetFirewallRule -DisplayName "MU-ConnectServer" -Direction Inbound -Protocol TCP -LocalPort 44405 -Action Allow

# GameServer — puertos por instancia de mapa
New-NetFirewallRule -DisplayName "MU-GameServer" -Direction Inbound -Protocol TCP -LocalPort 55901-55910 -Action Allow

# DataServer
New-NetFirewallRule -DisplayName "MU-DataServer" -Direction Inbound -Protocol TCP -LocalPort 55960 -Action Allow

# Panel web (si aplica)
New-NetFirewallRule -DisplayName "MU-WebPanel" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

# RDP — confirma que está abierto
New-NetFirewallRule -DisplayName "RDP-Custom" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow
Atenção: NO abras el puerto 1433 de SQL Server hacia internet si la base de datos y el GameServer están en la misma máquina. Todas las conexiones a la base de datos son locales (127.0.0.1) y no requieren regla de firewall externa. Exponer el puerto 1433 públicamente es una vulnerabilidad crítica de seguridad.

Parte 5 — Inicio y Verificación

Paso 13: Script de inicio en el orden correcto

El orden de inicio de los componentes es crítico. Crea el archivo C:\MuServer\StartAll.bat:

@echo off
echo Iniciando DataServer...
start "" "C:\MuServer\DataServer\DataServer.exe"
timeout /t 5 /nobreak

echo Iniciando EventServer...
start "" "C:\MuServer\EventServer\EventServer.exe"
timeout /t 3 /nobreak

echo Iniciando ConnectServer...
start "" "C:\MuServer\ConnectServer\ConnectServer.exe"
timeout /t 3 /nobreak

echo Iniciando GameServer...
start "" "C:\MuServer\GameServer\GameServer.exe"
echo.
echo Todos los servicios iniciados.
pause

Ejecútalo siempre como Administrador (clic derecho → Ejecutar como administrador).

Paso 14: Verificar la conectividad de los componentes

Confirma que los puertos están escuchando:

# Verificar todos los puertos de MU de una vez
netstat -ano | findstr ":44405 :55901 :55960"

En SSMS, confirma que el GameServer se conectó a la base de datos:

USE MuOnline;
GO

-- Últimas conexiones registradas
SELECT TOP 10 memb___id, ConnectTM, DisConnectTM
FROM MEMB_INFO
ORDER BY ConnectTM DESC;
GO

-- Configuración de experiencia (confirma integridad de la base de datos)
SELECT * FROM T_CommonServerInfo;
GO

Paso 15: Crear una cuenta de prueba via SQL

Para verificar el flujo completo sin un panel web:

USE MuOnline;
GO
INSERT INTO MEMB_INFO (
    memb___id, memb__pwd, memb_name, sno__numb,
    post_code, addr_info, addr_deta, tel__numb,
    email_info, mail_chek, bloc_code, ctl1_code
)
VALUES (
    'testuser',
    CONVERT(VARCHAR(10), HASHBYTES('MD5', 'pass123'), 2),
    'Test User', '00000000000',
    '00000', 'Direccion', 'Detalle', '00000000000',
    '[email protected]', 'N', 0, 0
);
GO
Dica: Si la tabla T_CommonServerInfo devuelve un error, el script SQL de creación de tablas no se ejecutó correctamente. Revisa los logs en GameServer\Logs\GameServer.log para identificar errores específicos de conexión.

Solución de Problemas Comunes

GameServer se cierra inmediatamente al abrirlo

Secuencia de diagnóstico:

  1. ¿Está corriendo SQL Server? → services.msc → SQL Server (MSSQLSERVER)
  2. ¿Está habilitado TCP/IP en el Administrador de configuración de SQL Server?
  3. ¿Son correctas las credenciales en DBConfig.ini?
  4. ¿Está habilitada la autenticación mixta en las propiedades del servidor SQL?
  5. ¿Está instalado el Visual C++ Redistributable (versión x86)?

ConnectServer no acepta conexiones externas

# Verificar si el puerto está escuchando localmente
netstat -ano | findstr :44405

# Si no aparece: ConnectServer no inició — revisa sus logs
# Si aparece pero el acceso externo falla: verifica el firewall externo del proveedor del VPS

Muchos proveedores de VPS tienen su propio firewall en el panel de control, separado del Firewall de Windows. Verifica y abre los puertos allí también.

Alto uso de CPU por SQL Server

-- Identificar las queries más pesadas
SELECT TOP 10
    qs.total_worker_time / qs.execution_count AS avg_cpu_us,
    qs.execution_count,
    SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
        ((CASE qs.statement_end_offset
            WHEN -1 THEN DATALENGTH(qt.text)
            ELSE qs.statement_end_offset END
          - qs.statement_start_offset)/2)+1) AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY avg_cpu_us DESC;

Conclusión

Con el VPS configurado siguiendo estos pasos, tu servidor MU Online tendrá una base sólida: SQL Server optimizado con límite de memoria, firewall configurado sin exponer el puerto de la base de datos, servicios de Windows ajustados para rendimiento y componentes iniciando en el orden correcto. El siguiente paso es configurar los eventos del servidor (Blood Castle, Devil Square, Chaos Castle) y el panel web de administración.

Perguntas frequentes

¿Qué versión de SQL Server debo usar con Windows Server 2019?

SQL Server 2017 o 2019 son los más compatibles con Windows Server 2019. Evita SQL Server 2000 en este entorno — no tiene soporte oficial. Usa SQL Server 2017 Express (gratuito) para servidores con bases de datos de menos de 10 GB.

¿Qué puertos necesito abrir en el firewall del VPS?

Los puertos esenciales son: 44405 (ConnectServer), 55901-55910 (GameServer por instancia de mapa), 55960 (DataServer), 1433 (SQL Server — solo local), 80 (panel web) y 3389 (RDP). Nunca expongas el puerto 1433 al exterior si la base de datos y el GameServer están en la misma máquina.

El servidor MU se cierra pocos minutos después de iniciarlo en el VPS — ¿qué verificar?

Revisa primero el log en GameServer\\Logs\\GameServer.log. Causas comunes: RAM insuficiente (mínimo 4 GB para Season 6), SQL Server sin límite de memoria configurado, o el antivirus bloqueando los ejecutables. Configura SQL Server para usar como máximo 2 GB de RAM si el VPS tiene 4 GB en total.

¿Cómo evitar que Windows Server 2019 reinicie automáticamente tras las actualizaciones?

Abre gpedit.msc → Configuración del equipo → Plantillas administrativas → Componentes de Windows → Windows Update. Establece 'Configurar actualizaciones automáticas' en 'Notificar la descarga y notificar la instalación' (opción 2). Esto evita reinicios automáticos sin tu aprobación.

EQ

Equipo ViciadosMU

Equipe editorial do ViciadosMU — portal de MU Online no ar desde 2003.

Sigue leyendo

Artículos relacionados

💽
Tutorial

¿Windows o Linux para servidor de MU Online?

Guía completa para decidir entre Windows y Linux al montar un servidor de MU Online: por qué el MuServer está vinculado a Windows (ejecutables .exe y SQL Server de Microsoft), en qué situaciones Linux puede ser útil (especialmente para el sitio web), la combinación más común en servidores LATAM (Windows para el juego + hosting Linux para el sitio), los requisitos de Windows Server para diferentes escalas, cuánto impacto tiene el sistema operativo en el rendimiento, la discusión sobre correr MuServer en Wine/Linux (el estado actual y por qué no es recomendado para producción), y cómo elegir la versión de Windows Server adecuada para tu VPS.

12 min · Principiante
🔌
Tutorial

Cómo conectar a un VPS o dedicado y subir archivos por FTP

Guía completa para conectarse y gestionar un VPS o servidor dedicado para MU Online: qué es un VPS y un dedicado y cuándo cada uno tiene sentido para un servidor de MU Online, cómo conectarse a un VPS Windows por Escritorio Remoto (RDP) con la dirección IP y credenciales del proveedor, cómo configurar RDP para conexiones seguras y cómo cambiar el puerto por defecto para reducir ataques de fuerza bruta, cómo transferir archivos al servidor usando FileZilla y el protocolo SFTP (más seguro que FTP plano), cómo configurar una sesión guardada en FileZilla para no ingresar credenciales cada vez, los comandos de FTP más usados para gestión de archivos, la comparativa técnica entre VPS con Linux y VPS con Windows para servidor de MU, las diferencias de rendimiento entre VPS y dedicado, y los proveedores más populares de VPS para servidores de MU Online en LATAM.

12 min · Principiante
🖥️
Tutorial

Cómo Crear un Servidor de MU Online en un VPS — Paso a Paso

Aprende a montar un servidor privado de MU Online en un VPS desde cero: configuración del SO, SQL Server, GameServer, ConnectServer y reglas de firewall.

18 min · Avanzado