Cómo Configurar Proxy y Conexión al GameServer MU Online
Aprende a configurar el proxy y la conexión al GameServer de MU Online paso a paso, con ajustes de red, puertos y archivos de configuración.
La arquitectura de red de un servidor MU Online privado puede parecer intimidante al principio, pero una vez que entiendes cómo cada componente se comunica con los demás, el proceso se vuelve lógico y predecible. En este tutorial aprenderás a configurar correctamente el proxy de conexión y la comuni
La arquitectura de red de un servidor MU Online privado puede parecer intimidante al principio, pero una vez que entiendes cómo cada componente se comunica con los demás, el proceso se vuelve lógico y predecible. En este tutorial aprenderás a configurar correctamente el proxy de conexión y la comunicación entre el cliente y el GameServer, desde los archivos de configuración hasta la apertura de puertos en el sistema operativo.
Arquitectura de Red: Cómo se Conectan los Componentes
Antes de tocar cualquier archivo, es fundamental entender el flujo de conexión completo. MU Online utiliza una arquitectura en capas donde cada servicio tiene una responsabilidad específica.
El flujo estándar funciona así:
Cliente (jugador)
→ ConnectServer (puerto 44405)
→ Lista de GameServers disponibles
→ GameServer seleccionado (puerto 55901 por defecto)
→ JoinServer (autenticación interna)
→ DataServer (base de datos)
El ConnectServer actúa como puerta de entrada. Recibe la solicitud inicial del cliente, consulta qué GameServers están activos y devuelve al cliente la dirección IP y el puerto al que debe conectarse. El cliente nunca se conecta directamente al GameServer sin pasar primero por esta etapa de negociación.
El GameServer maneja la sesión activa del jugador: movimiento en el mapa, combate, inventario, interacciones con NPCs y todo lo que ocurre dentro del juego. Puede haber múltiples instancias de GameServer, cada una representando un servidor diferente en la lista de selección.
Configuración del ConnectServer
El ConnectServer se configura principalmente a través del archivo ConnectServer.ini, ubicado en la carpeta raíz del servicio. Los parámetros más importantes son los siguientes:
[ConnectServer]
; Puerto en el que escucha las conexiones de los clientes
Port = 44405
; IP de escucha (0.0.0.0 acepta conexiones desde cualquier interfaz)
BindIP = 0.0.0.0
; Cantidad máxima de conexiones simultáneas permitidas
MaxConnections = 10000
; Intervalo de verificación de GameServers activos (en milisegundos)
ServerListUpdateInterval = 5000
[GameServerList]
; Cada entrada define un GameServer disponible para los clientes
; Formato: ServerCode → IP pública → Puerto del GameServer → Nombre visible
Server0 = 0 → 203.0.113.10 → 55901 → Servidor Fenix
Server1 = 1 → 203.0.113.10 → 55902 → Servidor Dragon
> [!ATENCION] > El campo de IP en [GameServerList] debe contener la IP pública de tu servidor, no la IP local (192.168.x.x). Si los jugadores se conectan desde fuera de tu red, una IP privada hará que el cliente reciba una dirección inalcanzable y la conexión falle silenciosamente.
Después de editar el archivo, reinicia el servicio del ConnectServer. En Windows, si los servicios están registrados con sc, puedes hacerlo desde el Administrador de Servicios o mediante línea de comandos con privilegios de administrador.
Configuración del GameServer
El GameServer tiene su propio archivo de configuración, generalmente llamado GameServer.ini o GameServerX.ini donde X es el número de la instancia. Los parámetros críticos para la conexión son:
[GameServer]
; Código único que identifica este GameServer ante el ConnectServer
ServerCode = 0
; Puerto en el que este GameServer escucha conexiones de clientes
GameServerPort = 55901
; IP del ConnectServer para registro interno
ConnectServerIP = 127.0.0.1
ConnectServerPort = 44405
; IP del JoinServer
JoinServerIP = 127.0.0.1
JoinServerPort = 55980
; Capacidad máxima de jugadores en este servidor
MaxPlayers = 1000
[Network]
; IP de escucha del GameServer (0.0.0.0 para todas las interfaces)
BindIP = 0.0.0.0
; Tiempo de timeout para conexiones inactivas (en segundos)
ConnectionTimeout = 60
El GameServer se registra automáticamente en el ConnectServer al iniciarse. Si el registro falla, los jugadores no verán este servidor en la lista de selección aunque el servicio esté activo.
> [!CONSEJO] > Inicia siempre los servicios en el orden correcto: primero el DataServer, luego el JoinServer, después el ConnectServer y por último el GameServer. Si el GameServer intenta registrarse en el ConnectServer antes de que este esté activo, el proceso fallará y el servidor no aparecerá en la lista.
Apertura de Puertos y Configuración del Firewall
Ninguna configuración de software funcionará si los puertos no están abiertos en el firewall del sistema operativo y, en caso de estar detrás de un router, también en las reglas de NAT. Los puertos que deben estar accesibles desde el exterior son:
Puerto 44405 (TCP) → ConnectServer → conexión inicial del cliente
Puerto 55901 (TCP) → GameServer 0 → sesión de juego del servidor 0
Puerto 55902 (TCP) → GameServer 1 → sesión de juego del servidor 1
Puerto 55980 (TCP) → JoinServer → autenticación (solo red interna)
Puerto 1433 (TCP) → SQL Server → base de datos (solo red interna)
Los puertos marcados como "solo red interna" no deben exponerse a internet. El JoinServer y el DataServer deben ser accesibles únicamente desde las propias máquinas del servidor, nunca desde el exterior.
En Windows, para abrir un puerto via PowerShell con privilegios de administrador:
# Abrir puerto 44405 para el ConnectServer
New-NetFirewallRule -DisplayName "MU ConnectServer" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 44405 `
-Action Allow
# Abrir puerto 55901 para el GameServer 0
New-NetFirewallRule -DisplayName "MU GameServer 0" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 55901 `
-Action Allow
Verificación de la Conexión y Diagnóstico de Problemas
Una vez que todos los servicios estén activos y los puertos abiertos, es importante verificar que la comunicación funcione correctamente antes de abrir el servidor a jugadores.
La herramienta netstat te permite confirmar que los servicios están escuchando en los puertos esperados:
netstat -ano | findstr :44405
netstat -ano | findstr :55901
Si el puerto aparece en estado LISTENING, el servicio está activo y aceptando conexiones. Si no aparece, el servicio no está corriendo o está configurado para escuchar en un puerto diferente al esperado.
Para verificar la conectividad desde una máquina externa, puedes usar Test-NetConnection en PowerShell:
# Verificar conectividad al ConnectServer desde otra máquina
Test-NetConnection -ComputerName 203.0.113.10 -Port 44405
# Verificar conectividad al GameServer
Test-NetConnection -ComputerName 203.0.113.10 -Port 55901
Un resultado TcpTestSucceeded: True confirma que el puerto es alcanzable. Si el resultado es False, revisa el firewall del servidor, las reglas de NAT del router y confirma que el servicio esté activo.
Los problemas más comunes y sus causas son:
- El cliente no ve ningún servidor en la lista: el ConnectServer no está activo o el cliente apunta a una IP incorrecta en
main.ini. - El cliente ve la lista pero no puede entrar al servidor: el GameServer no está registrado correctamente o su puerto está bloqueado.
- Desconexión frecuente durante el juego: el valor de
ConnectionTimeoutes muy bajo o hay pérdida de paquetes en la ruta de red. - Error de autenticación al ingresar: el JoinServer no está activo o su IP/puerto en el archivo
GameServer.inies incorrecto.
Revisar los archivos de log de cada servicio es siempre el primer paso para diagnosticar cualquier problema de conexión. Cada componente genera registros detallados que indican exactamente en qué etapa falló la comunicación y con qué código de error, lo que reduce considerablemente el tiempo de resolución frente a intentos de ensayo y error.
Preguntas frecuentes
¿Qué es el ConnectServer en MU Online?
El ConnectServer es el servicio que recibe la primera conexión del cliente y le indica a qué GameServer debe conectarse según la disponibilidad y configuración definida.
¿Por qué el cliente no encuentra el servidor después de cambiar la IP?
Probablemente el archivo main.ini o el registro de ConnectServer no fue actualizado con la nueva IP. Revisa ambos archivos y reinicia los servicios en orden correcto.
¿Cuál es el puerto estándar del GameServer en MU Online?
El puerto estándar del GameServer es el 44405, aunque puede ser personalizado en el archivo GameServer.ini. El ConnectServer usa el 44405 por defecto para la comunicación interna.
¿Es posible ejecutar múltiples GameServers en la misma máquina?
Sí, es posible usando puertos distintos para cada instancia y configurando el ConnectServer para enrutar cada grupo de servidores a su respectivo puerto y dirección.