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.
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_MuOnlineyRanking). - 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.exeque 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:
| Componente | Ejecutable (ejemplo) | Configuración (ejemplo) |
|---|---|---|
| Base de datos | — | Scripts .sql / archivos .mdf/.ldf |
| JoinServer | JoinServer.exe | JoinServerStartUp.dat |
| ConnectServer | ConnectServer.exe | ConnectServerList.dat / ServerList.dat |
| GameServer | GameServer.exe | GameServerInfo (Data/), CommonServer.dat |
| Cliente | Main.exe | ServerList.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
- Instala el SQL Server en modo de autenticación mixta (SQL Server y Windows). Esto permite usar el usuario
sacon contraseña, que es lo que MuEMU suele esperar. - Define y anota la contraseña del
sa— va en las cadenas de conexión del JoinServer y del GameServer. - Abre el SSMS y conéctate a tu servidor SQL local (
.\SQLEXPRESSo el nombre de la instancia). - Restaura/crea las bases que vinieron en el paquete. Hay dos formas comunes:
- Adjuntar (.mdf/.ldf):
Databases → Attach…y apunta a los archivosMuOnline.mdf,Me_MuOnline.mdfyRanking.mdf. - Ejecutar scripts: abre y ejecuta los
.sqlque crean las tablas en cada base.
- Confirma que las tres bases aparecen en el SSMS:
MuOnline,Me_MuOnlineyRanking.
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:
- Abre el ODBC Data Sources (64-bit o 32-bit según los ejecutables del emulador).
- En System DSN, agrega uno nuevo con el driver SQL Server.
- Nómbralo exactamente como el emulador espera (frecuentemente
MuOnline). - Apunta a la instancia SQL, usa autenticación SQL con
say la contraseña, y define la base predeterminada comoMuOnline. - 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.
- 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"
- Para prueba local, usa
127.0.0.1. Para abrir al público, cámbialo por la IP pública/de la VPS. - 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.
- En el
GameServerInfo(dentro deData/) y/oCommonServer.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.
- 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
- 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.
- Localiza dónde el cliente guarda la IP/puerto — suele ser un
ServerList.bmd(cifrado) o una configuración del launcher. - Cambia la IP a
127.0.0.1(local) o la IP pública (online) y el puerto al del ConnectServer (ej.:44405). - 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. - 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
- 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). - Da acceso de GM a esa cuenta ajustando el campo de tipo/CtlCode según tu revisión — así pruebas sin farmear.
- Ejecuta el
Main.exe, haz login y confirma que la lista de servidores aparece y que entras al mundo. - 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:
- Prueba drop y pickup de ítems matando mobs.
- Prueba la experiencia subiendo un nivel y comparando con la tasa configurada.
- Ejecuta comandos de GM (ej.:
/make,/move, comandos de evento) para generar ítems y teletransportar. - Abre la tienda/NPC y prueba compra/venta de ítems básicos.
- 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 %.
- En el Firewall de Windows, crea reglas de entrada para los puertos del ConnectServer, GameServer y (si es necesario) JoinServer.
- En el router/VPS, haz el port forwarding de los mismos puertos hacia la máquina del servidor.
- Cambia todas las IPs
127.0.0.1por la IP pública — en el ConnectServer (lista), en el GameServer (IP anunciada) y en el cliente. - Prueba el login desde otra red (datos móviles, por ejemplo) para confirmar el acceso externo real.
| Componente | Puerto típico (ejemplo) | ¿Necesita abrirse al público? |
|---|---|---|
| ConnectServer | 44405 | Sí |
| GameServer | 55901 | Sí |
| JoinServer | 55970 | No (interno) |
| SQL Server | 1433 | No (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íntoma | Causa probable | Solución |
|---|---|---|
| El JoinServer se cierra al abrir | Contraseña del sa equivocada o TCP/IP apagado | Verifica credenciales y habilita TCP/IP en el Configuration Manager |
| El GameServer no conecta a la base de datos | DSN ausente o 32/64 bits cambiados | Recrea el DSN en el ODBC correcto y prueba la conexión |
| Lista de servidores vacía en el cliente | IP/puerto equivocados en el cliente | Ajusta el ServerList del cliente hacia el ConnectServer |
| "Disconnect" en el login | Cliente de season diferente al del server | Usa el Main de la misma Season/Episode del emulador |
| El servidor aparece pero no entra | ServerCode divergente | Iguala el código en el ConnectServer y en el GameServer |
| Error al abrir los .exe | Visual C++ Redistributable faltante | Instala todas las versiones del VC++ Redist |
| Nadie de afuera conecta | Firewall/port forwarding | Abre 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
saanotada y TCP/IP activo. - Bases
MuOnline,Me_MuOnlineyRankingrestauradas 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.