IGK Emulator

Introducción y requisitos

Desde la versión 1.0.0 13 min de lectura Para: Dueño Actualizada el 29-10-2026

Este documento explica qué trae IGK Emulator, qué hace cada servidor, qué necesita la máquina (VPS o PC) para funcionar, qué puertos usa cada programa y para qué sirve cada carpeta de MuServer.

La instalación paso a paso está en 02_INSTALACION_SERVIDOR.md y la configuración del juego en 03_CONFIGURACION_GAMESERVER.md.


Qué es IGK Emulator

IGK Emulator es un paquete completo para montar un servidor de MU Online Season 6 (Episodio 3). Trae:

  • Los servidores (carpeta MuServer): ConnectServer, JoinServer, DataServer, GameServer, GameServerCS y WebBridge. Todos son programas de Windows de 64 bits.
  • El cliente para PC (Windows), Android (APK) y navegador (PC y celular). Los tres juegan juntos en el mismo servidor, con las mismas cuentas y personajes.
  • Herramientas para el dueño: Encoder (MainInfo), IGK StartUp, IGK Connect, IgkGamers HD Tools y WebPacker.
  • La base de datos del juego en SQL Server (base MuOnline) y los scripts de actualización en MuServer\DataBase\SQL.

Los servidores: qué hace cada uno

Todos los servidores van dentro de la carpeta MuServer, cada uno en su propia carpeta, y leen su configuración de la carpeta Data que tienen al lado del .exe. Los dos GameServer leen además los archivos del juego de la carpeta común MuServer\Data.

ServidorCarpetaQué haceUsa la base de datos
ConnectServerMuServer\ConnectServerEs la "puerta de entrada". El cliente se conecta primero aquí y recibe la lista de servidores (la pantalla donde se elige el servidor).No
JoinServerMuServer\JoinServerControla las cuentas: inicio de sesión, contraseña, cuentas ya conectadas, registro de cuentas desde el juego, bans por IP y HWID.Sí
DataServerMuServer\DataServerLee y guarda los personajes y todo lo demás del juego en la base: inventario, baúl, guild, rankings, Gremory Case, Season Pass, etc.Sí
GameServerMuServer\GameServerEl juego en sí: mapas, monstruos, combate, eventos, comandos, tiendas, drops. Puede haber varios (subservidores).No (lo hace a través del JoinServer y el DataServer)
GameServerCSMuServer\GameServerCSUn GameServer especial para Castle Siege (asedio del castillo) y los mapas que dependen de él.No
WebBridgeMuServer\WebBridgeEl puente del cliente web: el navegador no puede abrir conexiones normales, así que se conecta al WebBridge y este lo pasa al ConnectServer y a los GameServer. Solo hace falta si usas el cliente de navegador.No

ConnectServer (lista de servidores)

  • Recibe a los jugadores en su puerto TCP (ConnectServerPortTCP) y les manda la lista de servidores de ConnectServer\Data\ServerList.dat.
  • Recibe por UDP (ConnectServerPortUDP) el estado de cada GameServer y del JoinServer. Un servidor solo aparece en la lista si el JoinServer está conectado y ese GameServer le está mandando su estado.
  • Limita las conexiones por IP (MaxIpConnection) y por PC (MaxHWIDConnection).
  • Su ventana muestra "ENLACE CON JOINSERVER": ACTIVE MODE (verde) cuando el JoinServer está conectado, STANDBY MODE (rojo) cuando no.

JoinServer (cuentas)

  • Comprueba cuenta y contraseña en la base (MEMB_INFO).
  • Avisa si una cuenta ya está conectada.
  • Maneja el registro de cuentas desde la pantalla de login (RegisterSwitch, RegisterDelay, RegisterMaxPerIp).
  • Comprueba y aplica los bans por IP y HWID (tabla IGK_Ban, cada BanCheckSeconds segundos).
  • Su ventana muestra ACTIVE MODE cuando al menos un GameServer está conectado a él.

DataServer (personajes y datos)

  • Carga y guarda personajes, items, guilds, amigos, rankings y los sistemas custom.
  • Revisa los nombres prohibidos de personajes (DataServer\Data\BadSyntax.txt).
  • Su ventana muestra ACTIVE MODE cuando al menos un GameServer está conectado a él.

GameServer y GameServerCS (el juego)

  • Cada GameServer tiene un código (ServerCode), un puerto (ServerPort) y un nombre (ServerName) en su archivo Data\GameServerInfo - Common.dat.
  • Se conecta al JoinServer, al DataServer y al ConnectServer. Su ventana muestra "ESTADO DEL SERVIDOR": ACTIVE MODE cuando está conectado al JoinServer y al DataServer; STANDBY MODE si le falta alguno.
  • Los mapas que atiende cada GameServer se definen en MuServer\Data\MapServerInfo.dat.
  • En los archivos que vienen con IGK: el GameServer normal es el código 0 (SV-01) y atiende todos los mapas menos los de Castle Siege; el GameServerCS es el código 19 (SV-CS), está oculto en la lista y atiende Castle Siege (30), Land of Trials (31), Crywolf (34), Barracks (41), Refuge (42) y Loren Market (79). Cuando un jugador entra a uno de esos mapas, pasa solo al GameServerCS.

WebBridge (cliente de navegador)

  • Escucha en su puerto (Port de WebBridge\WebBridge.ini) y, si se configura, en una puerta segura wss:// (TlsPort).
  • Solo se conecta a los puertos de la lista ServerPorts en la misma máquina (127.0.0.1).
  • Le dice a los servidores la IP real de cada jugador web, para que los límites por IP, los bans y los logs funcionen igual que con PC y Android.
  • Toda su configuración está explicada en MuServer\WebBridge\LEEME.txt.

IGK StartUp (administrador de servidores)

MuServer\IGKStartUp\IGKStartUp.exe arranca los servidores en orden, los reinicia si se caen, los cierra limpio, hace backups y abre los puertos en el firewall. Se explica en 11_IGK_HOST_STARTUP_CONNECT.md.

La carpeta MuServer\StartUp tiene el lanzador anterior (ServerStartUp.exe), que solo abre los servidores en orden.


Los clientes

ClienteQué esGráficos
PCMain.exe para Windows de 64 bitsDirectX 11, DirectX 12 o Vulkan
AndroidApp (APK) para celularesVulkan, u OpenGL ES en celulares sin Vulkan
NavegadorSe juega desde Chrome, Edge, Firefox o Safari (también iPhone), sin instalar nada. Necesita el WebBridge.WebGPU

El cliente de PC sabe a qué servidor conectarse por MainInfo\MainConnect.ini (sección [MainInfo]): IpAddress (la IP pública del ConnectServer), IpAddressPort (el puerto TCP del ConnectServer), ClientVersion y ClientSerial. Estos dos últimos tienen que ser iguales a ServerVersion y ServerSerial del GameServerInfo - Common.dat de cada GameServer. Después de cambiarlos hay que generar el cliente otra vez con el Encoder.


Herramientas para el dueño

HerramientaPara qué sirve
Encoder (MainInfo\Encoder.exe)Genera los archivos de configuración del cliente (IP, versión, opciones, textos, interfaces).
IGK StartUpArranca, vigila y reinicia los servidores; backups; firewall. Ver 11_IGK_HOST_STARTUP_CONNECT.md.
IGK ConnectAbre los archivos del servidor como una unidad de disco en tu PC y la base de datos con HeidiSQL por un túnel cifrado. Ver 11_IGK_HOST_STARTUP_CONNECT.md.
IgkGamers HD ToolsConvierte las texturas del cliente a HD y prepara el paquete de texturas para celulares.
WebPackerPrepara el cliente web para publicarlo en un hosting.

Requisitos de la máquina

Sistema operativo

  • Windows de 64 bits. Todos los servidores son de 64 bits: no funcionan en Windows de 32 bits.
  • Windows Server 2008 R2 o más nuevo (2012, 2016, 2019, 2022). Windows 10 u 11 de 64 bits sirve para probar en casa.
  • No hace falta instalar Visual C++ Redistributable para los servidores: ConnectServer, JoinServer, DataServer, GameServer, GameServerCS y WebBridge solo usan componentes que ya trae Windows.
  • IGK StartUp necesita .NET Framework 4.8.

SQL Server

  • La base de datos va en Microsoft SQL Server 2008 o más nuevo. Los scripts de IGK funcionan desde SQL Server 2008.
  • En Windows Server 2008 R2 se puede instalar como máximo SQL Server 2014. Las versiones 2016 y posteriores ya no se instalan en 2008 R2.
  • La edición Express (gratis) sirve. Tiene un límite de tamaño por base (10 GB), que un servidor de MU normal no suele alcanzar.
  • SQL Server puede ir en la misma máquina que los servidores (lo más común) o en otra.

Driver ODBC y DSN de 64 bits

  • El JoinServer y el DataServer se conectan a la base con un DSN de ODBC llamado, en los archivos de IGK, MuOnline (JoinServerODBC en JoinServer\Data\JoinServer.ini y DataServerODBC en DataServer\Data\DataServer.ini).
  • Como los servidores son de 64 bits, el DSN tiene que crearse en el administrador ODBC de 64 bits: C:\Windows\System32\odbcad32.exe. El de C:\Windows\SysWOW64\odbcad32.exe es el de 32 bits y los servidores no lo ven.
  • Cómo crearlo: ver 02_INSTALACION_SERVIDOR.md.

Puertos que usa cada servidor

Valores de los archivos que vienen con IGK. Si cambias un puerto, cámbialo en todos los archivos donde aparece (columna "También en").

ProgramaPuertoTipoPara quéDónde se configuraTambién en¿Abrir en el firewall?
ConnectServer44405TCPLos jugadores piden la lista de servidoresConnectServer\Data\ConnectServer.ini → ConnectServerPortTCPMainInfo\MainConnect.ini → IpAddressPort; WebBridge.ini → ServerPortsSí
ConnectServer55557UDPLos GameServer y el JoinServer le avisan que están vivosConnectServer.ini → ConnectServerPortUDPGameServerInfo - Common.dat → ConnectServerPort; JoinServer.ini → ConnectServerPortNo (es interno)
JoinServer55970TCPLos GameServer validan cuentasJoinServer\Data\JoinServer.ini → JoinServerPortGameServerInfo - Common.dat → JoinServerPortNo
DataServer55960TCPLos GameServer leen y guardan personajesDataServer\Data\DataServer.ini → DataServerPortGameServerInfo - Common.dat → DataServerPortNo
GameServer (SV-01)55901TCPLos jugadores jueganGameServer\Data\GameServerInfo - Common.dat → ServerPortServerList.dat, MapServerInfo.dat, WebBridge.ini → ServerPortsSí
GameServerCS (SV-CS)55919TCPCastle Siege y sus mapasGameServerCS\Data\GameServerInfo - Common.dat → ServerPortServerList.dat, MapServerInfo.dat, WebBridge.ini → ServerPortsSí
WebBridge44480TCPEl cliente de navegadorWebBridge\WebBridge.ini → PortConfiguración web (WebPacker)Solo si los jugadores web se conectan directo al VPS (ver WebBridge\LEEME.txt)
WebBridge (wss)TlsPort (0 = apagado; 443 u 8443 si se usa)TCPConexión segura directa del navegadorWebBridge.ini → TlsPortWebPacker.ini → BridgeURLSí, si se usa
SQL Server1433 (por defecto de SQL Server)TCPLa base de datosConfiguración de SQL Server—No (nunca lo abras a internet)

Cada subservidor nuevo usa su propio puerto (por ejemplo 55902, 55903...). Ese puerto también hay que abrirlo en el firewall y agregarlo a ServerPorts del WebBridge si se usa el cliente web (en los archivos de IGK ya está el rango 55901-55919).

IGK StartUp puede abrir solo estos puertos en el firewall de Windows (OpenServerPorts = 1 en IGKStartUp.ini).


Cómo se conectan los servidores entre sí

Jugador (PC / Android)                      Jugador (navegador)
      |                                             |
      | 1) TCP 44405: pide la lista                 | WebBridge (44480 o wss)
      v                                             v
 ConnectServer  <--- UDP 55557 (estado) ---  JoinServer y GameServers
      |
      | 2) el jugador elige servidor y se conecta a la IP:puerto de ServerList.dat
      v
 GameServer (55901) / GameServerCS (55919)
      |                      |
      | TCP 55970            | TCP 55960
      v                      v
  JoinServer             DataServer
      \                      /
       \---- SQL Server (base MuOnline, por el DSN de ODBC) ----/
  • El JoinServer y el DataServer solo aceptan GameServers de las IP que están en su Data\AllowableIpList.txt. En los archivos de IGK solo está 127.0.0.1: los GameServer tienen que estar en la misma máquina. Si pones un GameServer en otra máquina, agrega su IP en los dos archivos.
  • Si un GameServer pierde la conexión con el JoinServer, desconecta a todos sus jugadores. Se vuelve a conectar solo cuando el JoinServer vuelve.

Estructura de carpetas de MuServer

MuServer\
├── ConnectServer\        ConnectServer.exe + Data\ (ConnectServer.ini, ServerList.dat) + LOG\
├── JoinServer\           JoinServer.exe + Data\ (JoinServer.ini, AllowableIpList.txt) + LOG\
├── DataServer\           DataServer.exe + Data\ (DataServer.ini, AllowableIpList.txt, BadSyntax.txt) + LOG\
├── GameServer\           GameServer.exe + Data\ (GameServerInfo - *.dat) + GHRS.txt + Reset.ini + LOGS\
├── GameServerCS\         GameServerCS.exe + Data\ (GameServerInfo - *.dat) + GHRS.txt + Reset.ini + LOGS\
├── Data\                 Archivos del juego que usan TODOS los GameServer
├── DataBase\             Scripts de la base de datos (carpeta SQL)
├── WebBridge\            WebBridge.exe + WebBridge.ini + LEEME.txt
├── IGKStartUp\           Administrador de servidores (ver 11_IGK_HOST_STARTUP_CONNECT.md)
├── StartUp\              Lanzador anterior (ServerStartUp.exe)
└── SQL\                  Consultas opcionales de diagnóstico y mantenimiento (no son parte de la instalación)

Carpeta de cada servidor

RutaContenido
ConnectServer\Data\ConnectServer.iniPuertos TCP/UDP, límites de conexiones por IP y por PC.
ConnectServer\Data\ServerList.datLa lista de servidores que ve el jugador (nombre, IP, puerto, visible u oculto).
JoinServer\Data\JoinServer.iniDSN, usuario y clave de SQL, puerto, registro de cuentas, log de cuentas, bans.
DataServer\Data\DataServer.iniDSN, usuario y clave de SQL, puerto.
JoinServer\Data\AllowableIpList.txt y DataServer\Data\AllowableIpList.txtIP de los GameServer que se pueden conectar.
DataServer\Data\BadSyntax.txtPalabras prohibidas en nombres de personaje (al crear, comprobar y cambiar nombre). En los archivos de IGK está vacío.
GameServer\Data\GameServerInfo - *.datLa configuración del GameServer (siete archivos: Common, Character, ChaosMix, Command, Custom, Event, Skill). Ver 03_CONFIGURACION_GAMESERVER.md.
GameServer\GHRS.txt y GameServer\Reset.iniLímite global de resets y su aumento diario. Ver 03_CONFIGURACION_GAMESERVER.md.
LOG\ o LOGS\Registros de cada servidor (se crean solos).

GameServerCS tiene los mismos archivos que GameServer, con su propio código, puerto y eventos.

Carpeta común MuServer\Data

Los GameServer leen los archivos del juego desde MuServer\Data (la carpeta Data que está al lado de las carpetas de los servidores). Por eso cada carpeta de GameServer tiene que estar dentro de MuServer, junto a Data.

Carpeta / archivoQué contieneSe explica en
CashShop\Productos y paquetes de la tienda X (Cash Shop)03_CONFIGURACION_GAMESERVER.md
Character\DefaultClassInfo.txtStats iniciales de cada clase03_CONFIGURACION_GAMESERVER.md
Custom\Sistemas custom (VIP, joyas, alas, rankings, Season Pass, MOBA, bots...)06_SISTEMAS_CUSTOM.md
Event\Horarios y premios de los eventos04_EVENTOS.md
EventItemBag\ y EventItemBagManager.txtQué sueltan las cajas, monstruos y eventos03_CONFIGURACION_GAMESERVER.md
Hack\Protección contra speed hack y paquetes03_CONFIGURACION_GAMESERVER.md
Item\Lista de items, drops especiales, opciones, valores, items apilables03_CONFIGURACION_GAMESERVER.md
Monster\Lista de monstruos y su inteligencia03_CONFIGURACION_GAMESERVER.md
MonsterSetBase\Dónde aparecen los monstruos y NPC, un archivo por mapa03_CONFIGURACION_GAMESERVER.md
Move\Puertas (Gate), el comando /move, revivir03_CONFIGURACION_GAMESERVER.md
Quest\ y QuestWorld\Quests de cambio de clase y quests de Gens03_CONFIGURACION_GAMESERVER.md
Script\Scripts Lua16_LUA.md
Shop\ y ShopManager.txtTiendas de los NPC03_CONFIGURACION_GAMESERVER.md
Skill\Skills, árbol Master, skills por mapa03_CONFIGURACION_GAMESERVER.md
Terrain\Mapas de terreno (TerrainN.att)03_CONFIGURACION_GAMESERVER.md
Util\Tabla de experiencia, filtro de chat, GMs, avisos, tablas de reset03_CONFIGURACION_GAMESERVER.md
Command.txtComandos del juego05_COMANDOS.md
ConnectMember.txtCuentas que entran en mantenimiento03_CONFIGURACION_GAMESERVER.md
Effect.txtBuffs y efectos03_CONFIGURACION_GAMESERVER.md
MapManager.txtOpciones por mapa (PK, experiencia, drop, comercio...)03_CONFIGURACION_GAMESERVER.md
MapServerInfo.datQué mapas atiende cada GameServer02_INSTALACION_SERVIDOR.md
Message.txtMensajes del servidor03_CONFIGURACION_GAMESERVER.md
Mining.txtMinería03_CONFIGURACION_GAMESERVER.md

Carpeta DataBase

RutaContenido
DataBase\SQL\UpdateNN - nombre.sqlScripts que agregan tablas, columnas y procedimientos que usan los servidores. Se ejecutan sobre la base MuOnline. Ver 02_INSTALACION_SERVIDOR.md.
DataBase\Query Reset DB EMU - XOA TK DE OPEN.sqlScript que borra las cuentas, personajes, guilds y logs de la base (para dejarla vacía antes de abrir el servidor). Es destructivo: solo con un backup y nunca con jugadores reales.

Niveles de cuenta (AL0 a AL3)

Muchas opciones terminan en _AL0, _AL1, _AL2 y _AL3. Es el nivel de cuenta (VIP) del jugador, y cada uno puede tener un valor distinto:

SufijoNivelNombre en el juego (Message.txt)
_AL00Free Account
_AL11Bronze Account
_AL22Silver Account
_AL33Gold Account

Ejemplo: AddExperienceRate_AL0 = 100 y AddExperienceRate_AL3 = 300 dan a las cuentas Gold el triple de experiencia que a las Free.


Preguntas frecuentes

P: ¿Los servidores de IGK funcionan en Windows de 32 bits? R: No. Todos los servidores son de 64 bits. Hace falta Windows de 64 bits (Windows Server 2008 R2 o más nuevo, o Windows 10/11 de 64 bits para pruebas).

P: ¿Tengo que instalar Visual C++ Redistributable? R: No para los servidores: no lo necesitan. IGK StartUp sí necesita .NET Framework 4.8.

P: Mi VPS tiene Windows Server 2008 R2. ¿Qué SQL Server instalo? R: Como máximo SQL Server 2014 (puede ser Express). Las versiones 2016 y posteriores no se instalan en 2008 R2.

P: ¿Qué puertos tengo que abrir en el firewall? R: El TCP del ConnectServer (44405 en los archivos de IGK) y el de cada GameServer (55901 el normal, 55919 el de Castle Siege, y el de cada subservidor que agregues). El WebBridge solo si los jugadores web se conectan directo al VPS. Nunca abras los puertos del JoinServer, del DataServer ni de SQL Server.

P: ¿Para qué sirve el GameServerCS? R: Es el GameServer de Castle Siege. Atiende el castillo, Land of Trials, Crywolf, Barracks, Refuge y Loren Market. Está oculto en la lista: los jugadores pasan a él solos al entrar a esos mapas.

P: ¿Necesito el WebBridge? R: Solo si quieres que se juegue desde el navegador. Para PC y Android no hace falta.

P: ¿Por qué el ConnectServer dice STANDBY MODE? R: Porque no le llega el estado del JoinServer. Revisa que el JoinServer esté abierto y conectado a la base, y que ConnectServerAddress y ConnectServerPort de JoinServer.ini apunten al ConnectServer (127.0.0.1 y 55557 en los archivos de IGK).

P: ¿Puedo poner un GameServer en otra máquina? R: Sí. En su GameServerInfo - Common.dat pon la IP del JoinServer, DataServer y ConnectServer, y agrega la IP de esa máquina en AllowableIpList.txt del JoinServer y del DataServer. Esa máquina también necesita la carpeta Data al lado de la carpeta del GameServer.

P: ¿Qué significan los sufijos _AL0, _AL1, _AL2, _AL3? R: Son los niveles de cuenta (VIP): 0 Free, 1 Bronze, 2 Silver, 3 Gold. Cada uno puede tener su propio valor.

P: ¿Dónde pongo la IP del servidor para que los jugadores se conecten? R: En el cliente, en MainInfo\MainConnect.ini (IpAddress), y en el servidor, en ConnectServer\Data\ServerList.dat y MuServer\Data\MapServerInfo.dat. Los pasos están en 02_INSTALACION_SERVIDOR.md.

P: ¿Qué es el archivo "Query Reset DB EMU - XOA TK DE OPEN.sql"? R: Un script que borra todas las cuentas, personajes, guilds y logs de la base, para empezar de cero antes de abrir. No lo ejecutes en un servidor con jugadores sin hacer antes un backup.

¿No encontraste lo que buscabas? Si eres cliente, pregúntale a tu asistente de soporte: responde con esta misma documentación. Si todavía no lo eres, escríbenos: