Cómo configurar el Windows Server desde cero para MU Online
Configura un Windows Server limpio para MU Online: sistema, runtimes, SQL Server, directorios, firewall y servicios en el orden correcto hasta que el servidor levante estable.
Un Windows Server recién aprovisionado es una hoja en blanco: sin runtimes, sin base de datos, con servicios inútiles encendidos y un firewall que o bloquea todo o nada. Transformar esa máquina limpia en una base sólida para MU Online exige seguir un orden específico — sistema, runtimes, SQL Server,
Un Windows Server recién aprovisionado es una hoja en blanco: sin runtimes, sin base de datos, con servicios inútiles encendidos y un firewall que o bloquea todo o nada. Transformar esa máquina limpia en una base sólida para MU Online exige seguir un orden específico — sistema, runtimes, SQL Server, directorios, archivos de configuración, firewall e inicialización — porque cada etapa depende de la anterior. Saltarse una de ellas suele resultar en el clásico GameServer que abre y cierra en un segundo. Esta guía recorre el proceso completo, desde el primer acceso RDP hasta los procesos del servidor levantando de forma estable. Rutas, versiones y puertos aquí son ejemplos y varían según el paquete y la versión de MU.
Requisitos previos
- VPS o máquina con Windows Server 2019/2022 limpio y acceso Administrador.
- Acceso RDP (IP público, usuario y contraseña del proveedor).
- Instalador del SQL Server compatible (2017 o 2019 son seguros para servidores modernos).
- SQL Server Management Studio (SSMS) para administrar la base de datos.
- Paquete del MuServer correspondiente a la versión deseada (ConnectServer, DataServer, GameServer, EventServer) y los scripts
.sqlde creación/restauración de la base de datos. - Paquetes Visual C++ Redistributable (2010, 2013, 2015-2022, x86 y x64).
- Noción de la estructura general del servidor — si aún no la tienes, revisa la guía de cómo crear un servidor de MU Online.
Parte 1 — Preparación del sistema operativo
Paso 1: Primer acceso e identificación de la máquina
Conéctate vía RDP con el usuario Administrator. Abre PowerShell como Administrador y renombra la máquina para facilitar la lectura de logs, además de ajustar la zona horaria:
# Renombrar el servidor (reinicia al final)
Rename-Computer -NewName "MU-PROD-01" -Restart
# Tras el reinicio, definir zona horaria (ejemplo Brasil, UTC-3)
Set-TimeZone -Id "E. South America Standard Time"
# Verificar build y version de Windows
[System.Environment]::OSVersion.Version
Paso 2: Actualizar Windows antes de instalar cualquier cosa
Aplica primero las actualizaciones pendientes — instalar el SQL Server sobre un sistema desactualizado puede generar fallas de dependencia. Después, configura Windows Update para no reiniciar solo, evitando que la máquina caiga con jugadores en línea.
# Definir para descargar y notificar, sin reinicio automatico
# (via Politica de Grupo: gpedit.msc -> Windows Update)
# Configuracion del Equipo -> Plantillas Administrativas ->
# Componentes de Windows -> Windows Update ->
# "Configurar Actualizaciones Automaticas" = opcion 3 (descargar y notificar)
Paso 3: Deshabilitar servicios innecesarios
Un servidor de juego no necesita indexación de búsqueda, impresión ni precarga de apps. Apagarlos libera CPU e I/O:
# Windows Search — I/O de disco innecesario
Set-Service -Name "WSearch" -StartupType Disabled
Stop-Service -Name "WSearch" -Force
# SysMain (Superfetch) — inutil en un servidor
Set-Service -Name "SysMain" -StartupType Disabled
Stop-Service -Name "SysMain" -Force
# Print Spooler — sin impresora en el VPS
Set-Service -Name "Spooler" -StartupType Disabled
Stop-Service -Name "Spooler" -Force
Paso 4: Instalar los runtimes Visual C++
Los binarios del MuServer están compilados esperando runtimes específicos. Su ausencia es la causa número uno del GameServer que se cierra al abrir. Instala todos en la siguiente cobertura, x86 y x64:
- Visual C++ 2010 Redistributable
- Visual C++ 2013 Redistributable
- Visual C++ 2015-2022 Redistributable
Paso 5: Agregar exclusiones en Windows Defender
Muchos ejecutables de MuServer son detectados como falso positivo. En vez de apagar el antivirus, excluye solo las carpetas y procesos del servidor:
Add-MpPreference -ExclusionPath "C:\MuServer"
Add-MpPreference -ExclusionProcess "GameServer.exe"
Add-MpPreference -ExclusionProcess "ConnectServer.exe"
Add-MpPreference -ExclusionProcess "DataServer.exe"
Add-MpPreference -ExclusionProcess "EventServer.exe"
Parte 2 — Instalación y configuración del SQL Server
Paso 6: Instalar el SQL Server
Ejecuta el instalador eligiendo la instalación Personalizada y marca, como mínimo, Database Engine Services. Configura la instancia como Default Instance (MSSQLSERVER), lo que evita especificar el nombre de instancia en las cadenas de conexión del MuServer. Durante la instalación, selecciona el modo de autenticación mixta (SQL Server y Windows) y define una contraseña fuerte para el usuario sa.
Paso 7: Habilitar TCP/IP y el puerto 1433
Abre el SQL Server Configuration Manager:
- Expande SQL Server Network Configuration → Protocols for MSSQLSERVER.
- Habilita TCP/IP (clic derecho → Enable).
- Doble clic en TCP/IP → pestaña IP Addresses → en IPAll, define TCP Port =
1433. - Reinicia el servicio en
services.msc→ SQL Server (MSSQLSERVER).
Paso 8: Limitar la memoria del SQL Server
Sin límite, el SQL Server consume casi toda la RAM y deja al GameServer sin recursos. Ajusta según el total del VPS (el ejemplo de abajo es para una máquina de 4 GB):
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
-- Reservar como maximo 2 GB para el SQL en un VPS de 4 GB
EXEC sp_configure 'max server memory', 2048;
RECONFIGURE;
Paso 9: Crear la base de datos y el usuario dedicado
Nunca uses el sa en la cadena de conexión del servidor. Crea un login exclusivo:
-- Base de datos principal con la collation esperada por MU
CREATE DATABASE MuOnline COLLATE Latin1_General_CI_AS;
GO
CREATE DATABASE MuOnlineLog COLLATE Latin1_General_CI_AS;
GO
-- Login dedicado al GameServer
CREATE LOGIN muserver_user WITH PASSWORD = 'Senh@ForteExemplo2024',
DEFAULT_DATABASE = MuOnline,
CHECK_EXPIRATION = OFF,
CHECK_POLICY = OFF;
GO
USE MuOnline;
GO
CREATE USER muserver_user FOR LOGIN muserver_user;
EXEC sp_addrolemember 'db_owner', 'muserver_user';
GO
Paso 10: Restaurar o crear las tablas del MuServer
Si el paquete trae un archivo .bak, restáuralo; si trae scripts .sql, ejecútalos en el orden indicado por el paquete. La ruta de datos varía según la versión del SQL — el ejemplo usa SQL Server 2019 (MSSQL15); en 2017 sería MSSQL14.
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_log.ldf',
REPLACE, STATS = 10;
GO
Parte 3 — Organización de los archivos del servidor
Paso 11: Estructura de directorios
Mantén todo bajo una raíz única, lo que simplifica las exclusiones de antivirus, respaldos y permisos:
C:\MuServer\
├── ConnectServer\
│ └── ConnectServer.exe
├── DataServer\
│ └── DataServer.exe
├── EventServer\
│ └── EventServer.exe
├── GameServer\
│ ├── Data\
│ ├── Logs\
│ └── GameServer.exe
├── backup\
└── StartAll.bat
Paso 12: Configurar las cadenas de conexión
Ajusta los archivos .ini para apuntar al SQL local. Los nombres exactos varían según el paquete (DBConfig.ini, DBConnectConfig.ini, DSConfig.ini). Ejemplo del GameServer:
[DBCONFIG]
DBServer=127.0.0.1
DBPort=1433
DBName=MuOnline
DBUser=muserver_user
DBPass=Senh@ForteExemplo2024
Y del DataServer:
[DataServer]
ServerCode=0
DB_Ip=127.0.0.1
DB_Port=1433
DB_Name=MuOnline
DB_User=muserver_user
DB_Pass=Senh@ForteExemplo2024
Paso 13: Apuntar el ConnectServer al IP público
El cliente conecta al GameServer por el IP que el ConnectServer informa. Usa el IP público del VPS, nunca 127.0.0.1:
[ServerInfo0]
ServerCode=0
ServerName=Lorencia
GameServerIPAddress=SEU_IP_PUBLICO
GameServerPort=55901
Parte 4 — Firewall y puertos
Paso 14: Crear las reglas de entrada
Abre solo los puertos necesarios. Los puertos exactos varían según el paquete — confírmalos en los .ini antes de aplicar:
New-NetFirewallRule -DisplayName "MU-ConnectServer" -Direction Inbound -Protocol TCP -LocalPort 44405 -Action Allow
New-NetFirewallRule -DisplayName "MU-GameServer" -Direction Inbound -Protocol TCP -LocalPort 55901-55910 -Action Allow
New-NetFirewallRule -DisplayName "MU-DataServer" -Direction Inbound -Protocol TCP -LocalPort 55960 -Action Allow
New-NetFirewallRule -DisplayName "MU-WebPanel" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
127.0.0.1) y no requiere regla de firewall. Exponer el 1433 es una de las fallas más explotadas en servidores de MU.Recuerda también el firewall del proveedor en el panel del VPS, que es separado del firewall de Windows. Los mismos puertos deben estar liberados allí.
Parte 5 — Inicialización y verificación
Paso 15: Script de inicialización en el orden correcto
El orden es obligatorio: DataServer → EventServer → ConnectServer → GameServer. Crea 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 Todos los servicios iniciados.
Ejecútalo siempre como Administrador.
Paso 16: Verificar puertos y conexión con la base de datos
# Confirmar que los puertos estan escuchando
netstat -ano | findstr ":44405 :55901 :55960"
-- Confirmar integridad de la base de datos (la tabla varia por version)
USE MuOnline;
GO
SELECT * FROM T_CommonServerInfo;
GO
Errores comunes y soluciones
| Error | Causa probable | Solución |
|---|---|---|
| El GameServer abre y cierra | Runtime VC++ ausente | Instalar todos los Visual C++ (x86 y x64) |
| El GameServer no conecta a la base de datos | TCP/IP deshabilitado o credenciales erradas | Habilitar TCP/IP, revisar los .ini y el login SQL |
| "Cannot connect to DataServer" | Orden de inicialización equivocado | Levantar el DataServer antes del GameServer |
| El cliente no entra al juego | IP interno en el ConnectServer | Cambiar 127.0.0.1 por el IP público |
| El SQL consume toda la RAM | Sin límite de memoria | Definir max server memory |
| Falso positivo del antivirus | Defender bloqueando .exe | Agregar exclusiones de carpeta y proceso |
| Puertos cerrados externamente | Firewall del proveedor | Liberar puertos en el panel del VPS también |
| El servidor se reinicia solo | Windows Update automático | Configurar para descargar y notificar |
Lista de verificación de lanzamiento
- Windows Server renombrado y zona horaria ajustada
- Actualizaciones aplicadas y reinicio automático desactivado
- Servicios innecesarios deshabilitados
- Runtimes Visual C++ (x86 y x64) instalados
- Exclusiones de Windows Defender agregadas
- SQL Server instalado en modo de autenticación mixta
- TCP/IP habilitado y puerto 1433 definido
- Memoria del SQL Server limitada
- Base de datos creada/restaurada y login dedicado configurado
- Estructura de directorios organizada en C:\MuServer
- Cadenas de conexión de los
.iniajustadas - ConnectServer apuntando al IP público
- Reglas de firewall creadas (Windows y proveedor)
- Script StartAll.bat en el orden correcto
- Puertos verificados con netstat y base de datos íntegra
Conclusión
Configurar el Windows Server desde cero para MU Online es una secuencia de dependencias: el sistema necesita los runtimes, el GameServer necesita la base de datos, la base de datos necesita el TCP/IP habilitado, y todo el conjunto necesita iniciar en el orden correcto. Siguiendo los pasos de esta guía — preparación del sistema, SQL Server optimizado, archivos organizados, firewall escueto e inicialización secuencial — llegas a un servidor que levanta estable y acepta conexiones. A partir de aquí, el próximo movimiento natural es blindar esa base contra ataques con un proceso de hardening completo, cubriendo RDP, cuentas, actualizaciones y monitoreo.
Preguntas frecuentes
¿Qué versión de Windows Server usar para MU Online?
Windows Server 2019 o 2022 son las opciones más seguras hoy: tienen buen soporte, corren los runtimes modernos y son compatibles con la mayoría de los paquetes MuServer. Versiones muy antiguas como 2008 R2 aún funcionan con paquetes legados, pero quedan sin actualizaciones de seguridad. La compatibilidad varía según el paquete.
¿Por qué el GameServer se cierra apenas se abre?
En la aplastante mayoría de los casos es un runtime de Visual C++ ausente o base de datos inaccesible. Instala los paquetes Visual C++ (2010, 2013, 2015-2022) en x86 y x64, confirma que el SQL Server esté corriendo con TCP/IP habilitado y que la cadena de conexión en los archivos .ini sea correcta. Revisa siempre el log en GameServer\\Logs.
¿Necesito instalar el SQL Server en la misma máquina del GameServer?
No es obligatorio, pero en servidores pequeños y medianos es el estándar por simplicidad y latencia cero entre base de datos y juego. Cuando el SQL y el GameServer se disputan demasiado los recursos, separarlos en dos máquinas ayuda. La decisión depende del tamaño del servidor y del VPS contratado.
¿Cuál es el orden correcto de iniciar los servicios de MU?
Primero el DataServer, después el EventServer (si lo hay), en seguida el ConnectServer y por último el GameServer. Iniciar fuera de ese orden hace que el GameServer no encuentre el DataServer y se cierre. Un script .bat con pausas entre cada etapa garantiza la secuencia.
¿Debo desactivar el Windows Defender en el servidor?
No. Los VPS con IP público son barridos por escáneres todo el tiempo. En vez de desactivar la protección, agrega exclusiones de carpeta y de proceso para los ejecutables del MuServer, evitando falsos positivos sin renunciar a la seguridad. Refuérzalo después con un hardening dedicado.