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

Cómo instalar y configurar el ConnectServer aislado en MU Online

Entiende el papel del ConnectServer en MU Online y configúralo aislado en máquina y puerto propios: lista de servidores, ServerList.dat, IpAddress, puertos 44405/55901/55557 y redireccionamiento correcto del cliente hasta el GameServer.

GA Gabriel · Actualizado el 19 jul 2025 · ⏱ 15 min de lectura
Respuesta rápida

El ConnectServer es la pieza más incomprendida — y más crítica — de un servidor de MU Online. No corre mapa, no calcula daño, no guarda personaje: su único trabajo es ser la puerta de entrada. Cuando el jugador abre el cliente, es el ConnectServer quien entrega la lista de servidores, muestra la car

El ConnectServer es la pieza más incomprendida — y más crítica — de un servidor de MU Online. No corre mapa, no calcula daño, no guarda personaje: su único trabajo es ser la puerta de entrada. Cuando el jugador abre el cliente, es el ConnectServer quien entrega la lista de servidores, muestra la carga de cada uno y, al hacer clic en un servidor, redirige la conexión al IP y al puerto del GameServer correcto. Por ser la única pieza expuesta a internet antes del login, es también el primer blanco de ataques y el punto donde nace el 90% de los errores de "no conecta". Este tutorial explica el papel del ConnectServer en detalle y muestra cómo instalarlo y configurarlo aislado, en máquina y puerto propios, como lo hacen los servidores de producción.

Qué es el ConnectServer

Imagina el ConnectServer como la recepción de un edificio con varios pisos (los GameServers). El visitante (cliente) no sube directo al piso: pasa por la recepción, ve la lista de pisos disponibles y es enviado al piso elegido. El flujo real es:

  1. El cliente abre y lee el ServerList.dat, que contiene el IP y el puerto del ConnectServer.
  2. El cliente conecta al ConnectServer (puerto público, ej.: 44405).
  3. El ConnectServer devuelve la lista de servidores — cada GameServer registrado, con nombre y porcentaje de ocupación.
  4. El jugador elige un servidor; el ConnectServer responde con el IP:puerto de ese GameServer.
  5. El cliente se desconecta del ConnectServer y conecta directo al GameServer para loguear y jugar.

Es decir: después de redirigir, el ConnectServer sale de escena. Eso es lo que permite aislarlo — es liviano, sin estado de juego, y puede vivir solo.

Por qué aislar el ConnectServer

Correr el ConnectServer separado del GameServer trae ventajas concretas:

  • Seguridad: el IP real del GameServer no queda expuesto hasta el redireccionamiento. Floods y scans golpean primero al ConnectServer aislado, protegiendo el servidor de juego.
  • Disponibilidad: reinicias el GameServer (patch, ajuste, crash) sin tumbar la pantalla de selección de servidores. El jugador ve "servidor offline" en vez de "no conecta".
  • Escala: un único ConnectServer puede listar varios GameServers, incluso en máquinas distintas. Así se monta un servidor multicanal o multirealm.
  • Mitigación de ataques: puedes poner firewall, rate-limit o protección anti-DDoS solo frente al ConnectServer, sin tocar el GameServer.

En un servidor de prueba local, todo corre en la misma máquina (127.0.0.1) y el aislamiento no importa. En producción, aislar es estándar profesional.

Requisitos previos

  • Un servidor de MU ya montado y funcional (si aún no lo tienes, mira el tutorial de creación de servidor).
  • Acceso al paquete de tu emulador (IGCN, MuEMU, X-Team, Season 6, etc.) que contenga el ejecutable del ConnectServer.
  • Una IP pública (o VPS) si el servidor es en línea; o 127.0.0.1 para pruebas locales.
  • Permiso para abrir puertos en el firewall del sistema y en el NAT del proveedor/router.
  • La herramienta de edición del ServerList.dat de tu emulador (el archivo suele estar cifrado).
  • Copia de seguridad de los archivos de configuración antes de cualquier cambio.

Archivos y puertos involucrados

Los nombres y números varían por emulador — trata los valores de abajo como ejemplos y confírmalos en tu paquete.

FunciónArchivo / puerto (ejemplo)Dónde está
Config del ConnectServerConnectServer.ini / CSMain.iniServidor
Lista interna de servidoresServerList.dat (lado servidor)Servidor
Puerto público (cliente)44405Servidor
Puerto de registro del GameServer55557Servidor
Puerto de datos/respuesta55901Servidor
Dirección que lee el clienteServerList.dat (lado cliente)Cliente
IP anunciado del GameServerIpAddress en la config del GameServerServidor

> Cuidado con la colisión de nombres: existe un ServerList.dat en el servidor (que el ConnectServer usa para saber qué GameServers listar) y otro ServerList.dat en el cliente (que dice dónde está el ConnectServer). Son archivos distintos con el mismo nombre — no los confundas.

Paso 1 — Localizar y preparar el ejecutable

En el paquete del emulador, el ConnectServer suele estar en una carpeta propia (ConnectServer/, CS/ o similar), con el ejecutable y un archivo de configuración .ini o .dat. Si vas a aislarlo en otra máquina/VM, copia la carpeta entera del ConnectServer allí, manteniendo la estructura. Generalmente no necesita MySQL ni los datos de juego — es autosuficiente.

Paso 2 — Configurar el ConnectServer (puertos y escucha)

Abre la config principal del ConnectServer. En muchos emuladores es un .ini al estilo de abajo — los nombres de las claves varían, pero el concepto es el mismo:

[ConnectServer]
; Puerto en que el CLIENTE conecta (el mismo del ServerList.dat del cliente)
ConnectServerPort = 44405

; Puerto en que los GameServers se REGISTRAN en el ConnectServer
GameServerListPort = 55557

; Puerto de datos/respuesta usado internamente
DataPort = 55901

; Numero maximo de conexiones simultaneas en la entrada
MaxConnections = 1000

; Mostrar la carga (%) de cada servidor en la lista
ShowServerLoad = 1
  • ConnectServerPort es el puerto público — al que el jugador realmente accede. Necesita estar abierto en el firewall y en el NAT.
  • GameServerListPort es por donde cada GameServer "se presenta" al ConnectServer. Si ConnectServer y GameServer están en máquinas distintas, ese puerto necesita ser alcanzable entre ellas (red interna o liberado).
  • MaxConnections es tu primera línea de defensa contra floods — ajústalo al tamaño del servidor.

Guarda y deja el reinicio para después de configurar la lista.

Paso 3 — Registrar los GameServers en la lista del ConnectServer

El ConnectServer necesita saber cuáles servidores anunciar. Esto suele quedar en un ServerList.dat (lado servidor) o en una sección de la propia config. Cada línea define un servidor de la pantalla de selección:

[ServerList]
; Codigo | Nombre mostrado | IP del GameServer | Puerto del GameServer
0 | ViciadosMU - Season 6 | 200.100.50.10 | 55901
1 | ViciadosMU - PvP      | 200.100.50.11 | 55901

Aquí es donde ocurre el redireccionamiento: el IP y el puerto de esta lista son exactamente adonde será enviado el cliente cuando el jugador elija ese servidor. Si aislaste el ConnectServer, el IP aquí es el del GameServer (otra máquina), no el del propio ConnectServer. Equivocarse en esto es la causa n.º 1 de "selecciono el servidor y no entra".

Paso 4 — Ajustar el IpAddress del GameServer

Del otro lado, el GameServer también necesita anunciar correctamente el IP en el que acepta conexiones. En la config del GameServer (varía: GameServerInfo.dat, GameServer.ini, sección [ServerInfo]) existe una clave de dirección:

[GameServerInfo]
; IP que el GameServer anuncia al ConnectServer y al cliente
IpAddress = 200.100.50.10

; Puerto en que el GameServer acepta jugadores (coincide con la lista del CS)
GameServerPort = 55901

; Direccion:puerto del ConnectServer donde este GameServer se registrara
ConnectServerIp = 200.100.50.20
ConnectServerPort = 55557

Regla de oro del IpAddress:

  • Servidor local/prueba: 127.0.0.1.
  • Servidor en línea: el IP público que el cliente del jugador logra alcanzar — nunca 127.0.0.1 ni el IP interno de LAN, o solo tú (en la misma máquina) lograrás entrar.

El ConnectServerIp cierra el triángulo: es donde este GameServer se registra. Como el ConnectServer está aislado, ese IP es el de la máquina del ConnectServer.

Paso 5 — Configurar el ServerList.dat del cliente

Ahora el lado del jugador. El ServerList.dat del cliente apunta el juego al ConnectServer. Casi siempre está cifrado — usa la herramienta de tu emulador (ServerList Editor) y no lo edites en el bloc de notas, o el cliente rechaza el archivo.

Configura:

  • IP: el IP público (o 127.0.0.1 en prueba local) de la máquina del ConnectServer — nunca del GameServer.
  • Puerto: el mismo ConnectServerPort del Paso 2 (ej.: 44405).

Si cambias el IP o el puerto del ConnectServer después, necesitas redistribuir el ServerList.dat actualizado a los jugadores por el launcher — de lo contrario seguirán golpeando la dirección antigua.

Paso 6 — Abrir los puertos en el firewall y en el NAT

El aislamiento solo funciona con la red liberada. Libera:

  • En el firewall de la máquina del ConnectServer: el puerto público (44405) y el puerto de registro (55557).
  • En el NAT/router o en el panel del VPS: reenvía el puerto público 44405 a la máquina del ConnectServer.
  • Entre ConnectServer y GameServer (si están en máquinas distintas): garantiza que el 55557 y el 55901 se comuniquen por la red interna.

En Windows, un ejemplo de liberación por línea de comandos:

; PowerShell / Símbolo del sistema como administrador
netsh advfirewall firewall add rule name="MU ConnectServer" dir=in action=allow protocol=TCP localport=44405
netsh advfirewall firewall add rule name="MU GameServer Reg" dir=in action=allow protocol=TCP localport=55557

Paso 7 — Orden de inicialización y prueba

El orden importa. Levanta los servicios en esta secuencia:

  1. ConnectServer primero (la recepción debe estar en pie para recibir registros).
  2. GameServer(s) después — cada uno se registrará en el ConnectServer vía ConnectServerIp:55557.
  3. Confirma en la consola del ConnectServer que los GameServers aparecieron como conectados.

Luego prueba del lado del cliente:

  1. Abre el cliente y llega a la pantalla de selección de servidores — la lista debe cargar (prueba de que el ConnectServer respondió).
  2. Verifica si aparece la carga (%), indicando que los GameServers están registrados.
  3. Elige un servidor: el cliente debe redirigir y llegar al login (prueba de que el IP:puerto de la lista es correcto).
  4. Haz login y entra al juego (prueba de que el IpAddress del GameServer es alcanzable).

Errores comunes y soluciones

SíntomaCausa probableSolución
El cliente se traba en la pantalla de conexiónEl ServerList.dat del cliente apunta a IP/puerto equivocadosReeditar con el editor y apuntar al IP:puerto del ConnectServer
Lista de servidores vacíaNingún GameServer registrado en el ConnectServerVerificar ConnectServerIp/Port del GameServer y el puerto 55557
Selecciona el servidor pero no entraIP en la lista del CS o IpAddress del GS incorrectosUsar el IP público real del GameServer, no 127.0.0.1
Solo tú (host) logras entrarGameServer anunciando IP local (127.0.0.1 / LAN)Cambiar IpAddress por el IP público
Conecta y se cae en segundosPuerto público sin NAT/firewall o cerradoAbrir y reenviar el puerto 44405
El ConnectServer no arrancaPuerto ya en uso o sintaxis en el .iniCambiar el puerto / revisar líneas y comillas de la config
La carga (%) no apareceShowServerLoad apagado o GS sin heartbeatActivar la opción y confirmar el registro del GameServer

Buenas prácticas para producción

  • Una VM solo para el ConnectServer. Es liviano; una máquina pequeña lo aguanta, y el aislamiento vale el costo.
  • Nunca expongas el puerto del GameServer directamente al público sin necesidad — deja que el ConnectServer sea la cara pública.
  • Monitorea la consola del ConnectServer: las caídas de registro de los GameServers aparecen allí antes de que el jugador reclame.
  • Versiona el ServerList.dat del cliente. Todo cambio de IP/puerto exige redistribuir por el launcher.
  • Documenta el mapa de puertos (44405 público, 55557 registro, 55901 datos). Eso salva horas cuando migras de VPS.

Lista de verificación de lanzamiento

  • Carpeta del ConnectServer aislada en máquina/VM propia.
  • Puertos configurados en el .ini (público 44405, registro 55557, datos 55901).
  • GameServers registrados en la lista del ConnectServer con IP:puerto correctos.
  • IpAddress del GameServer usando el IP público (nunca 127.0.0.1 en producción).
  • ConnectServerIp/Port del GameServer apuntando al ConnectServer aislado.
  • ServerList.dat del cliente apuntando al IP:puerto del ConnectServer.
  • Puertos abiertos en el firewall y reenviados en el NAT/VPS.
  • Orden de arranque probado (ConnectServer → GameServer → cliente).
  • Flujo completo validado: la lista carga, redirige y loguea en el juego.

Con el ConnectServer aislado y probado, tienes una base de red sólida y escalable: agregar un nuevo GameServer se vuelve solo una línea más en la lista y un registro apuntando a la misma recepción. A partir de aquí, el siguiente paso natural es blindar ese puerto público con protección anti-DDoS y rate-limit, ya que es la única cara de tu servidor expuesta a internet.

Preguntas frecuentes

¿Qué hace exactamente el ConnectServer?

Es la puerta de entrada del servidor. El cliente conecta primero al ConnectServer, recibe la lista de servidores (nombre, carga e IP:puerto de cada GameServer) y, cuando el jugador elige un servidor, es redirigido al IP y al puerto del GameServer correspondiente. No procesa juego — solo orquesta la entrada.

¿Realmente necesito aislar el ConnectServer en otra máquina?

No es obligatorio, pero es muy recomendable en producción. Aislarlo (máquina o VM/puerto propios) protege el IP del GameServer, absorbe floods de conexión y ataques en el puerto público, y permite reiniciar el GameServer sin tumbar la pantalla de selección de servidores. En servidor de pruebas local, corre todo en la misma máquina.

¿Qué puerto usa el ConnectServer?

Varía por emulador, pero el estándar histórico es 44405 para que el cliente conecte. Internamente aún escucha el puerto donde los GameServers se registran (comúnmente 55557) y responde en el puerto de datos (ej.: 55901). Revisa siempre la config de tu emulador — los números son ejemplos, no una regla fija.

¿Qué es el ServerList.dat y por qué el cliente lo necesita?

Es el archivo, del lado del cliente, que le dice al juego en qué IP y puerto está el ConnectServer. Si el IP en él no coincide con el de tu ConnectServer, el cliente se traba en la pantalla de conexión. Suele estar cifrado; edítalo con la herramienta de tu emulador, no en el bloc de notas.

Configuré todo y el cliente no conecta. ¿Por dónde empiezo?

Verifica en este orden: (1) el puerto del ConnectServer está abierto en el firewall y en el NAT; (2) el ServerList.dat apunta al IP público correcto; (3) el IpAddress registrado del GameServer es accesible por el cliente (error clásico: registrar 127.0.0.1 en un servidor público); (4) el ConnectServer y el GameServer están realmente en pie.

GA
Editor de guías y builds

Gabriel cubre gameplay, builds de clases, PvP y progresión. Prueba cada estrategia en un servidor antes de publicar.

Sigue leyendo

Artículos relacionados