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

Cómo configurar un servidor de MU Online en MuEMU (Season 6)

Monta un servidor de MU Online Season 6 usando el emulador MuEMU: base de datos SQL Server, ConnectServer, JoinServer, GameServer y cliente Main. Ajusta IPs, puertos, experiencia, drop y prueba todo en el juego antes de abrir.

BR Bruno · Actualizado el 10 sep 2024 · ⏱ 18 min de lectura
Respuesta rápida

Montar un servidor de MU Online Season 6 con MuEMU es el camino más común para quien está empezando: la base está ampliamente documentada, corre en Windows y usa Microsoft SQL Server, lo que facilita encontrar tutoriales, correcciones y soporte de la comunidad. Pero "ponerlo al aire" implica orquest

Montar un servidor de MU Online Season 6 con MuEMU es el camino más común para quien está empezando: la base está ampliamente documentada, corre en Windows y usa Microsoft SQL Server, lo que facilita encontrar tutoriales, correcciones y soporte de la comunidad. Pero "ponerlo al aire" implica orquestar cuatro piezas que deben conversar entre sí — base de datos, ConnectServer, JoinServer y GameServer — más un cliente Main editado para apuntar a tu servidor. Equivocar una IP, un puerto o una cadena de conexión es el motivo número uno de "el servidor no abre" o "se traba en el login". Este tutorial recorre el armado entero, de la base de datos a la prueba en el juego, con los puntos donde las revisiones de MuEMU divergen. Si todavía no tienes el paquete base, empieza por el tutorial de creación de servidor de MU y vuelve aquí para la configuración fina.

Visión general de la arquitectura

Un servidor de MU Season 6 en MuEMU tiene, como mínimo, cinco componentes corriendo juntos:

  • SQL Server — guarda cuentas, personajes, ranking y configuraciones persistentes (bases MuOnline, Me_MuOnline y Ranking).
  • JoinServer (DataServer) — puente entre el juego y la base de cuentas/personajes.
  • ConnectServer — la lista de servidores que aparece en el cliente; enruta al jugador al GameServer correcto.
  • GameServer — el mundo en sí: mapas, mobs, drop, comercio, eventos.
  • Cliente Main — el Main.exe que el jugador ejecuta, apuntado a tu ConnectServer.

El flujo de login es: el cliente habla con el ConnectServer → elige el servidor → el GameServer valida la cuenta vía JoinServer → el JoinServer consulta el SQL Server. Si cualquier eslabón está caído o mal configurado, el login falla en algún punto de esa cadena.

Requisitos previos

  • Windows (Server o 10/11) para el servidor. Para prueba local, tu propia máquina sirve.
  • Microsoft SQL Server instalado (2014/2017/2019/2022 o Express) y el SQL Server Management Studio (SSMS).
  • Paquete base de MuEMU Season 6 (Server Files) y el cliente Main correspondiente.
  • Visual C++ Redistributable (varias versiones — 2010, 2013, 2015+) instalados; su falta causa error al abrir los ejecutables.
  • Conocimiento básico de IP/puerto y firewall de Windows.
  • Backup de todo el paquete antes de empezar a editar.

> Trabaja siempre con una copia de los server files. Un archivo de configuración corrupto derriba el servicio en el arranque, y sin backup reinstalas todo.

Archivos y componentes involucrados

Los nombres exactos varían según la revisión de MuEMU, pero la estructura es siempre parecida. Los principales:

ComponenteEjecutable (ejemplo)Configuración (ejemplo)
Base de datosScripts .sql / archivos .mdf/.ldf
JoinServerJoinServer.exeJoinServerStartUp.dat
ConnectServerConnectServer.exeConnectServerList.dat / ServerList.dat
GameServerGameServer.exeGameServerInfo (Data/), CommonServer.dat
ClienteMain.exeServerList.bmd / launcher

> "Varía según el emulador/revisión": algunos paquetes llaman al JoinServer DataServer, y las claves de IP quedan en archivos con nombres diferentes. Verifica siempre los archivos que vinieron en tu paquete en vez de asumir los nombres de este tutorial.

Paso 1 — Preparar el SQL Server y restaurar la base de datos

  1. Instala el SQL Server en modo de autenticación mixta (SQL Server y Windows). Esto permite usar el usuario sa con contraseña, que es lo que MuEMU suele esperar.
  2. Define y anota la contraseña del sa — va en las cadenas de conexión del JoinServer y del GameServer.
  3. Abre el SSMS y conéctate a tu servidor SQL local (.\SQLEXPRESS o el nombre de la instancia).
  4. Restaura/crea las bases que vinieron en el paquete. Hay dos formas comunes:
  • Adjuntar (.mdf/.ldf): Databases → Attach… y apunta a los archivos MuOnline.mdf, Me_MuOnline.mdf y Ranking.mdf.
  • Ejecutar scripts: abre y ejecuta los .sql que crean las tablas en cada base.
  1. Confirma que las tres bases aparecen en el SSMS: MuOnline, Me_MuOnline y Ranking.

Si el SQL Server no está aceptando conexión TCP, habilita el protocolo TCP/IP en el SQL Server Configuration Manager y reinicia el servicio. Muchos "el JoinServer no conecta a la base de datos" son solo el TCP/IP apagado.

Paso 2 — Crear un ODBC/DSN (cuando la revisión lo exige)

Buena parte de las revisiones clásicas de MuEMU conecta a la base de datos por un DSN ODBC llamado, por convención, MuOnline. Si la tuya lo exige:

  1. Abre el ODBC Data Sources (64-bit o 32-bit según los ejecutables del emulador).
  2. En System DSN, agrega uno nuevo con el driver SQL Server.
  3. Nómbralo exactamente como el emulador espera (frecuentemente MuOnline).
  4. Apunta a la instancia SQL, usa autenticación SQL con sa y la contraseña, y define la base predeterminada como MuOnline.
  5. Prueba la conexión dentro del propio asistente del ODBC antes de cerrar.

> Cuidado con 32 vs 64 bits: si los ejecutables de MuEMU son de 32 bits, el DSN debe crearse en el ODBC de 32 bits (C:\Windows\SysWOW64\odbcad32.exe), si no el emulador no ve el DSN.

Paso 3 — Configurar el JoinServer (DataServer)

El JoinServer necesita saber cómo hablar con la base de datos. En su archivo de configuración (ej.: JoinServerStartUp.dat), ajusta las credenciales:

; Ejemplo ilustrativo — las claves varían según la revisión de MuEMU
ODBC_Name   = MuOnline
ODBC_User   = sa
ODBC_Pass   = SUA_SENHA_SA
JoinServerPort = 55970
  • Si tu revisión no usa ODBC, el mismo archivo tendrá las cadenas de conexión directas (servidor SQL, usuario, contraseña).
  • Anota la puerto del JoinServer — el GameServer va a apuntar a ella.

Levanta el JoinServer.exe. Debe indicar conexión exitosa a la base de datos. Si se cierra solo, casi siempre es la contraseña del sa equivocada, DSN inexistente o TCP/IP apagado.

Paso 4 — Configurar el ConnectServer y la lista de servidores

El ConnectServer es lo que el cliente ve primero. Dos cosas importan aquí: el puerto que el cliente usa y la lista de GameServers.

  1. En el archivo de lista (ej.: ServerList.dat), registra el/los servidor(es) con nombre, IP y puerto del GameServer:
; Ejemplo ilustrativo
0   127.0.0.1   55901   "ViciadosMU Season 6"
  1. Para prueba local, usa 127.0.0.1. Para abrir al público, cámbialo por la IP pública/de la VPS.
  2. Confirma el puerto del ConnectServer (comúnmente 44405) — va en el cliente.

Levanta el ConnectServer.exe. Queda escuchando y mostrando la lista de servidores configurada.

Paso 5 — Configurar el GameServer (IP, base de datos y tasas)

El GameServer es el corazón. Necesita apuntar al JoinServer y a la base de datos, y es donde defines la jugabilidad.

  1. En el GameServerInfo (dentro de Data/) y/o CommonServer.dat, ajusta:
  • IP del JoinServer y su puerto (del Paso 3).
  • IP del propio GameServer que será anunciada (local = 127.0.0.1; pública = IP de la VPS).
  • Código del servidor (ServerCode), que debe coincidir con el registrado en la lista del ConnectServer.
  1. Ajusta las tasas principales (nombres ilustrativos — varían según la revisión):
[GameServerInfo]
ServerName      = "ViciadosMU Season 6"
ExperienceRate  = 100      ; multiplicador de experiencia
DropRate        = 30       ; probabilidad de drop (%) — la escala varía por revisión
ZenDropRate     = 30
MaxLevel        = 400      ; nivel máx. (400 normal + Master Level)
PointsPerLevel  = 5
  1. Guarda y levanta el GameServer.exe. Debe conectar al JoinServer y a la base de datos, cargar los mapas y quedar "online".

> La escala de DropRate y de experiencia no es universal entre revisiones — en algunas es porcentual directo, en otras es un multiplicador. Levanta con valores conservadores, prueba in-game y solo entonces calibra.

Paso 6 — Editar el cliente Main (IP y puerto)

El cliente necesita apuntar a tu ConnectServer, no al del paquete original.

  1. Localiza dónde el cliente guarda la IP/puerto — suele ser un ServerList.bmd (cifrado) o una configuración del launcher.
  2. Cambia la IP a 127.0.0.1 (local) o la IP pública (online) y el puerto al del ConnectServer (ej.: 44405).
  3. Si el archivo está cifrado (.bmd), usa el editor de ServerList de la comunidad compatible con tu season para descifrar, editar y volver a cifrar.
  4. Garantiza que el cliente es de la misma Season/Episode del emulador — una versión cambiada da error de conexión o pantalla negra.

Paso 7 — Crear cuenta y probar el login

  1. En el SSMS, inserta una cuenta de prueba en la tabla de cuentas de la base MuOnline (o usa el sistema de registro/sitio si el paquete tiene uno).
  2. Da acceso de GM a esa cuenta ajustando el campo de tipo/CtlCode según tu revisión — así pruebas sin farmear.
  3. Ejecuta el Main.exe, haz login y confirma que la lista de servidores aparece y que entras al mundo.
  4. Crea un personaje, entra al juego y verifica movimiento, spawn de mobs y chat.

Paso 8 — Validar jugabilidad y comandos de GM

Con el personaje GM dentro del juego, valida lo esencial antes de pensar en abrir:

  1. Prueba drop y pickup de ítems matando mobs.
  2. Prueba la experiencia subiendo un nivel y comparando con la tasa configurada.
  3. Ejecuta comandos de GM (ej.: /make, /move, comandos de evento) para generar ítems y teletransportar.
  4. Abre la tienda/NPC y prueba compra/venta de ítems básicos.
  5. Verifica eventos automáticos (Blood Castle, Devil Square, Chaos Castle) si el paquete los inicia.

Paso 9 — Abrir puertos y habilitar acceso externo (opcional)

Solo haz esto cuando la prueba local esté al 100 %.

  1. En el Firewall de Windows, crea reglas de entrada para los puertos del ConnectServer, GameServer y (si es necesario) JoinServer.
  2. En el router/VPS, haz el port forwarding de los mismos puertos hacia la máquina del servidor.
  3. Cambia todas las IPs 127.0.0.1 por la IP pública — en el ConnectServer (lista), en el GameServer (IP anunciada) y en el cliente.
  4. Prueba el login desde otra red (datos móviles, por ejemplo) para confirmar el acceso externo real.
ComponentePuerto típico (ejemplo)¿Necesita abrirse al público?
ConnectServer44405
GameServer55901
JoinServer55970No (interno)
SQL Server1433No (nunca expongas la base de datos)

> Nunca expongas el puerto del SQL Server a internet. La base de datos debe ser accesible solo internamente por el JoinServer/GameServer.

Errores comunes y soluciones

SíntomaCausa probableSolución
El JoinServer se cierra al abrirContraseña del sa equivocada o TCP/IP apagadoVerifica credenciales y habilita TCP/IP en el Configuration Manager
El GameServer no conecta a la base de datosDSN ausente o 32/64 bits cambiadosRecrea el DSN en el ODBC correcto y prueba la conexión
Lista de servidores vacía en el clienteIP/puerto equivocados en el clienteAjusta el ServerList del cliente hacia el ConnectServer
"Disconnect" en el loginCliente de season diferente al del serverUsa el Main de la misma Season/Episode del emulador
El servidor aparece pero no entraServerCode divergenteIguala el código en el ConnectServer y en el GameServer
Error al abrir los .exeVisual C++ Redistributable faltanteInstala todas las versiones del VC++ Redist
Nadie de afuera conectaFirewall/port forwardingAbre puertos y cambia 127.0.0.1 por la IP pública

Lista de verificación de lanzamiento

  • SQL Server en autenticación mixta, contraseña del sa anotada y TCP/IP activo.
  • Bases MuOnline, Me_MuOnline y Ranking restauradas y visibles.
  • DSN/ODBC creado (en la arquitectura correcta 32/64 bits) y probado.
  • JoinServer conectado a la base de datos sin cerrarse.
  • ConnectServer con la lista de servidores (nombre, IP, puerto) correcta.
  • GameServer apuntando al JoinServer y a la base de datos, con tasas definidas.
  • Cliente Main editado con la IP/puerto del ConnectServer y de la misma season.
  • Cuenta de prueba + GM creada; login y creación de personaje funcionando.
  • Drop, experiencia, NPCs, comandos de GM y eventos probados in-game.
  • Firewall/port forwarding e IP pública configurados (si vas a abrir al público).
  • Backup completo de los server files y de la base de datos guardado.

Con los cuatro servicios al aire y el login validado de punta a punta, tienes una base estable para evolucionar: ajustar economía, agregar sistemas (Sockets, Custom Wings), configurar eventos y, por fin, un sitio con registro de cuentas. Documenta cada puerto, IP y contraseña en un único lugar seguro — cuando el servidor crezca, esa planilla de infraestructura evita horas de retrabajo en cada cambio de host.

Preguntas frecuentes

¿MuEMU es gratuito?

La base de MuEMU (Season 6 Episode 3) circula gratuitamente en la comunidad desde hace años y es la más usada en servidores privados. Existen versiones pagas con más recursos y correcciones, pero para aprender y montar un servidor de prueba la base gratuita es suficiente. Confirma siempre la procedencia del paquete para evitar archivos adulterados.

¿Qué base de datos usa MuEMU?

Microsoft SQL Server. La base clásica fue diseñada para SQL Server 2008/2014, pero corre en versiones más nuevas (2017/2019/2022 y Express). Restauras los archivos .mdf/.ldf o ejecutas los scripts .sql que acompañan el paquete para crear MuOnline, Me_MuOnline y Ranking.

¿Necesito IP fija o VPS para abrir a internet?

Para prueba local basta la IP interna (127.0.0.1). Para abrir al público necesitas una IP accesible — un VPS/dedicado es lo ideal — y abrir los puertos del ConnectServer, JoinServer y GameServer en el firewall y en el router. Cambiar la IP interna por la IP pública en el ConnectServer y en el cliente es obligatorio.

¿Cuál es la diferencia entre ConnectServer, JoinServer y GameServer?

El ConnectServer es la lista de servidores que el cliente ve y lo encamina al GameServer. El JoinServer hace de puente entre el juego y la base de cuentas/personajes. El GameServer es el mundo en sí (mapas, mobs, drop, comercio). Los tres deben estar al aire y apuntando a la base de datos y entre sí para que el login funcione.

¿Dónde ajusto la tasa de experiencia y drop?

En el archivo de configuración del GameServer (comúnmente GameServerInfo en Data/), en las claves de ExperienceRate y DropRate. Los nombres exactos varían según la revisión de MuEMU; edita, guarda y reinicia el GameServer para aplicar. Prueba siempre con un personaje nuevo antes de abrir al público.

¿El cliente Main tiene que ser de la misma versión del servidor?

Sí. El cliente (Main.exe) tiene que ser de la misma Season/Episode del emulador, si no da error de conexión, pantalla negra o desconexión en el login. Usa el cliente que acompaña el paquete de MuEMU y edita la IP/puerto en él para que coincida con tu ConnectServer.

BR
Editor de eventos, mapas e ítems

Bruno es especialista en eventos, mapas, bosses y economía de ítems de MU Online. Documenta cada detalle basándose en el juego real.

Sigue leyendo

Artículos relacionados