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

Cómo Configurar MuServer para tu Servidor de MU Online

Guía técnica completa para instalar, configurar y poner en marcha MuServer: archivos clave, puertos, base de datos y primeras pruebas de conexión.

EQ Equipo ViciadosMU · Actualizado el 4 jul 2026 · ⏱ 18 min de lectura

Montar un servidor privado de MU Online desde cero es un proceso técnico que involucra varios componentes interdependientes: el motor del servidor (MuServer), la base de datos relacional, los archivos de configuración de cada servicio y la apertura correcta de puertos. Esta guía cubre cada etapa con precisión, sin atajos que generen problemas difíciles de depurar más adelante.

Arquitectura general de MuServer

MuServer no es un binario único. Es un conjunto de procesos que se comunican entre sí y que deben levantarse en un orden específico. Antes de tocar cualquier archivo de configuración, conviene entender qué hace cada componente.

ProcesoEjecutableFunción
ConnectServerConnectServer.exePunto de entrada del cliente; distribuye conexiones a los GameServers disponibles
GameServerGameServer.exeLógica del juego, mapas, mobs, combate
DataServerDataServer.exeCaché de datos entre GameServer y SQL
EventServerEventServer.exeEventos programados (BC, DS, IT)
WebServerWebServer.exeAPI interna para registro y estadísticas web

El orden de arranque correcto es: SQL Server → DataServer → ConnectServer → GameServer → EventServer. Arrancar el GameServer antes que el DataServer produce errores silenciosos que solo se manifiestan cuando el primer jugador intenta iniciar sesión.

Nota: MuServer utiliza conexiones ODBC para hablar con SQL Server. Aunque el servidor de base de datos esté en la misma máquina, la cadena de conexión debe ser explícita: localhost y 127.0.0.1 no son equivalentes en todos los drivers ODBC; usa siempre el nombre de la instancia SQL o la IP real de la interfaz de red.

Preparar la base de datos

Crear la instancia y el esquema

Abre SQL Server Management Studio y ejecuta los siguientes pasos antes de configurar cualquier archivo .ini:

  1. Crea un nuevo login dedicado al servidor de MU. Nunca uses sa en producción.
  2. Crea la base de datos MuOnline con collation Latin1_General_CI_AS.
  3. Ejecuta los scripts SQL incluidos en la carpeta SQL/ de tu distribución de MuServer en este orden exacto:
scripts/
  ├── 01_MuOnline_Schema.sql       → tablas principales (Character, Account, Guild)
  ├── 02_MuOnline_StoredProcs.sql  → procedimientos almacenados del GameServer
  ├── 03_MuOnline_InitData.sql     → datos base (ítems, mapas, monsters)
  └── 04_MuOnline_Events.sql       → tablas de eventos (BloodCastle, DevilSquare)

Ejecutarlos fuera de este orden genera errores de foreign key que no siempre son obvios en el log.

Configurar el DSN ODBC

En el Panel de Control → Herramientas administrativas → Orígenes de datos ODBC (64 bits), crea un DSN de sistema con los siguientes parámetros:

Nombre del origen → MuOnline
Driver           → SQL Server Native Client 11.0
Servidor         → .\SQLEXPRESS  (o el nombre de tu instancia)
Base de datos    → MuOnline
Autenticación    → SQL Server (usuario/contraseña)

Haz clic en "Probar origen de datos" antes de continuar. Si la prueba falla, ningún componente de MuServer levantará correctamente.

Configurar los archivos .ini principales

DBServer.ini — la conexión a SQL

Este archivo es compartido por DataServer y GameServer. Cada parámetro incorrecto aquí bloquea el arranque completo.

[ODBC]
DSN      → MuOnline          ; nombre exacto del DSN creado en el paso anterior
USER     → mu_admin          ; usuario SQL con permisos db_owner sobre MuOnline
PASSWORD → TuPasswordSegura  ; no uses caracteres especiales sin escapar
TIMEOUT  → 30                ; segundos antes de que la conexión se considere perdida

[LOG]
SaveLog  → 1                 ; habilitar log de errores de DB
LogPath  → Logs\DBServer\    ; el directorio debe existir antes del arranque

> [!ATENCION] > El parámetro PASSWORD en DBServer.ini queda en texto plano. Asegúrate de que el directorio de MuServer tenga permisos restrictivos: solo el usuario del sistema operativo que ejecuta los servicios debe tener acceso de lectura. Nunca expongas este directorio por red compartida.

ConnectServer.ini — distribución de conexiones

[Setting]
ServerGroup   → 1            ; identificador del grupo de servidores
MaxUser       → 10000        ; máximo de conexiones simultáneas al ConnectServer
Port          → 44405        ; puerto que el cliente contacta primero

[SERVER_INFO_1]
ServerCode    → 0            ; código que el cliente recibe al conectar
ServerIP      → 0.0.0.0     ; usa la IP pública del servidor si hay NAT
ServerPort    → 55901        ; debe coincidir con el Port del GameServer
ServerName    → Lorencia     ; nombre visible en la lista de servidores del cliente
MaxUser       → 500          ; máximo de usuarios en este GameServer específico

Cada instancia de GameServer adicional requiere un bloque [SERVER_INFO_N] incrementando el índice y el puerto (55902, 55903, etc.).

GameServer.ini — configuración del juego

[GameServerInfo]
ServerCode    → 0
ServerPort    → 55901
MaxUser       → 500

[Rates]
ExpRate       → 10           ; multiplicador de experiencia (1 = rate oficial)
DropRate      → 5            ; multiplicador de drop de ítems
ZenRate       → 5            ; multiplicador de zen obtenido

[DBServer]
IP            → 127.0.0.1
Port          → 55980        ; puerto interno del DataServer, no de SQL directamente

> [!CONSEJO] > Durante las primeras pruebas, establece MaxUser → 5 y ExpRate → 100. Esto permite verificar que el servidor funciona correctamente con un ciclo de prueba rápido (subir de nivel en minutos) sin necesidad de abrir el servidor a conexiones externas. Ajusta a los valores definitivos solo cuando el servidor esté estable.

Secuencia de arranque y verificación

Arrancar los servicios

Con todos los .ini configurados, levanta los componentes en este orden desde sus respectivos directorios:

1. [SQL Server]    → asegúrate de que la instancia está activa en services.msc
2. DataServer.exe  → espera el mensaje "DataServer Ready" en la consola
3. ConnectServer.exe → espera "ConnectServer Listening on port 44405"
4. GameServer.exe  → el arranque tarda 20-60 segundos mientras carga los mapas
5. EventServer.exe → opcional en la primera prueba

Si algún proceso cierra su consola inmediatamente, el error está en los logs. Cada componente escribe en su propia carpeta Logs/; el archivo más reciente con extensión .log contiene el motivo exacto del fallo.

Verificar conectividad

Desde la máquina donde corre el servidor, abre una terminal y ejecuta:

netstat -an | findstr "44405 55901"

Debes ver ambos puertos en estado LISTENING. Si alguno no aparece, el componente correspondiente no levantó correctamente, independientemente de lo que muestre su consola.

Para probar desde la red local antes de abrir puertos externos, edita el archivo main.ini del cliente y apunta connect_server_ip a la IP local del servidor. Si el cliente muestra la lista de servidores con el nombre configurado en ServerName, el ConnectServer está funcionando.

Gestión de puertos y firewall

Abre las siguientes reglas de entrada en el firewall de Windows (o en tu router si el servidor está detrás de NAT):

Puerto 44405  TCP  → ConnectServer (entrada de clientes)
Puerto 55901  TCP  → GameServer instancia 0
Puerto 55980  TCP  → DataServer (solo red interna, nunca exponer externamente)
Puerto 1433   TCP  → SQL Server (solo red interna)

El DataServer y SQL Server no deben ser accesibles desde Internet. Si tu entorno tiene un firewall perimetral, crea reglas de allow solo para los puertos 44405 y 559xx entre la IP del servidor y el rango de IPs de los jugadores.

Próximos pasos

Con el servidor levantado y verificado, los siguientes temas de administración son:

  • Backup automático de la base de datos: programa un SQL Agent Job que genere un .bak diario de la base MuOnline.
  • Múltiples instancias de GameServer: duplica el directorio del GameServer, asigna un ServerCode y ServerPort distintos, y añade el bloque correspondiente en ConnectServer.ini.
  • Configuración de eventos: el EventServer.ini controla horarios de Blood Castle, Devil Square e Ilusion Temple; cada evento requiere que el mapa correspondiente esté habilitado en el GameServer.
  • Monitoreo de logs: establece una tarea programada que comprima y archive los logs más antiguos de 7 días; en servidores con actividad media, los logs pueden ocupar varios GB por semana.

La estabilidad de un servidor privado de MU Online depende casi completamente de que la base de datos esté sana y de que los archivos .ini sean consistentes entre sí. Cualquier discrepancia en códigos de servidor, puertos o cadenas de conexión produce síntomas que parecen errores del cliente pero tienen su origen en la configuración del servidor.

Perguntas frequentes

¿Qué versión de SQL Server es compatible con MuServer?

MuServer es compatible con Microsoft SQL Server 2008 R2, 2012, 2014 y 2016. Se recomienda SQL Server 2014 Express como punto de partida por su facilidad de instalación. Versiones más recientes como 2019 o 2022 pueden requerir ajustes en los drivers ODBC y en la cadena de conexión del archivo DBServer.ini.

¿Cuáles son los puertos mínimos que debo abrir en el firewall?

Los puertos esenciales son 44405 (ConnectServer), 55901–55910 (GameServer, uno por instancia), 80 (WebServer si aplica) y 3306 o 1433 según el motor de base de datos. Abre también el puerto 13580 si utilizas el módulo de castillo de sangre.

¿Por qué los clientes se conectan pero no aparecen personajes?

Este síntoma casi siempre apunta a un error en la cadena de conexión del GameServer o a permisos insuficientes del usuario SQL sobre la base de datos MuOnline. Revisa el archivo GameServer.ini → sección [DBServer], verifica usuario/contraseña y ejecuta EXEC sp_changedbowner 'muonline_user' en SQL Management Studio.

¿Cómo aumentar el límite de jugadores simultáneos?

El parámetro MaxUser en GameServer.ini controla el límite por instancia. Para escalar más allá de 500 usuarios por instancia es necesario ajustar también los parámetros de memoria del proceso (MaxMemory) y garantizar que el servidor tenga al menos 4 GB de RAM libres por instancia activa. Múltiples instancias de GameServer pueden ejecutarse en paralelo apuntando a puertos distintos.

EQ

Equipo ViciadosMU

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

Sigue leyendo

Artículos relacionados

🛡️
Tutorial

Cómo crear un servidor de MU Online (guía completa 2026)

Guía completa paso a paso para crear tu propio servidor de MU Online: los 4 componentes que necesitas (SQL Server, MuServer, cliente/Main, y launcher), el orden correcto de instalación y configuración, cómo configurar las tasas de experiencia y drop, cómo conectar el servidor a internet con No-IP o IP fija, los puertos que debes abrir en el router y el firewall, los errores más comunes al iniciar por primera vez y cómo resolverlos, la diferencia entre un servidor de prueba local y un servidor público, y las consideraciones básicas de seguridad antes de abrir el servidor a jugadores externos.

12 min · Avanzado
Tutorial

Cómo crear un servidor de MU Online Season 6 — guía completa

Guía completa y específica para crear un servidor de MU Online Season 6 Episodio 3: las diferencias técnicas del S6 respecto a otras versiones (Master Level, Summoner como clase adicional, los eventos específicos de S6), qué versión de SQL Server usar para S6, cómo configurar el MuServer de S6 con las opciones específicas de esta versión (tasas de EXP, Drop Rate, configuración de Resets, Master Level, Castle Siege, Crywolf, Kanturu, Illusion Temple), los errores más comunes al configurar un S6 por primera vez, cómo verificar que la Season 6 está bien configurada (checklist completo de funcionalidades), y cómo equilibrar las tasas para una experiencia que mantenga a los jugadores activos por meses.

12 min · Intermedio
🏰
Tutorial

Cómo configurar el Castle Siege en tu servidor de MU Online

Guía completa para configurar el Castle Siege (Cerco al Castillo) en tu servidor de MU Online: las 4 fases del Castle Siege (registro, período de candidatura, preparación, y la batalla), los archivos de configuración del EventServer donde se define el horario, cómo configurar el horario semanal del evento, la cuota de inscripción en Zen para que las guilds participen, la duración de la batalla, los beneficios que recibe la guild ganadora (impuestos, áreas exclusivas, buffs de servidor), la relación entre Castle Siege y el sistema de Crywolf en Season 6, los errores más comunes en la configuración del Castle Siege (guilds que no pueden inscribirse, batalla que no inicia, impuestos que no cobran), cómo probar el Castle Siege sin esperar el sábado, y las mejores prácticas de horario para maximizar la participación de jugadores.

12 min · Avanzado