Cliente de PC y Encoder
Guía para el dueño del servidor: cómo se configura el cliente de PC, qué hace el Encoder, qué significa cada opción de MainInfo.ini y MainConnect.ini, cada tabla de las carpetas del Encoder, el config.ini del jugador, los tipos de interfaz, los textos e idiomas, las pantallas de carga, el video de la lista de servidores y las texturas HD.
Para el celular, ver 09_ANDROID.md. Para el navegador, ver 10_WEB.md. La guía para jugadores está en 14_GUIA_DEL_JUGADOR.md.
Rutas: en este documento MainInfo\ es la carpeta del Encoder y Client\ es la carpeta del cliente de PC (la que reciben los jugadores). Data\... siempre es dentro de la carpeta del cliente.
Qué hay en cada carpeta
Carpeta MainInfo\ (el Encoder)
| Archivo o carpeta | Qué es |
|---|---|
Encoder.exe | El programa que convierte los .ini y las tablas .txt en los archivos cifrados que lee el cliente. |
Encoder.log | El resultado de la última ejecución: qué archivos creó y los errores. |
MainInfo.ini | Las opciones del cliente que decide el administrador (interfaz, botones, escenas, cámara, etc.). |
MainConnect.ini | La conexión: IP y puerto, versión y serial, nombre de la ventana. |
Common\ | Tablas generales: buffs, VIP, colores del chat, comandos, Gremory Case, nombres con brillo. |
Item\ | Tablas de ítems: ítems y alas custom, joyas, apilables, efectos, posiciones, runas, capas, tooltips. |
Map\ | Tablas de mapas: mapas custom, niebla y cielo por mapa. |
Monster\ | Tablas de monstruos y NPC custom, color de nombre, sonidos. |
Pet\ | Mascotas custom y sus efectos. |
Interface\ | reference_0.json a reference_5.json: la referencia de cada tipo de interfaz con sus valores de fábrica. El juego no las lee. Sirven para consultar o recuperar un valor. |
Lang\ | Los textos maestros del juego por idioma (Eng.json, Spn.json). El Encoder no los usa: se copian a mano al cliente (ver "Textos e idiomas"). |
Release\ | Carpeta de salida cuando PathExport está vacío. |
Checksum\ | Los archivos del cliente que el juego revisa al abrir, con la misma ruta que en el cliente. El Encoder crea con ellos Data\Checksum.igk. Ver 20_CHECKSUM.md. |
Carpeta Client\ (el cliente de PC)
| Archivo o carpeta | Qué es |
|---|---|
Main.exe | El juego (64 bits). |
config.ini | Las opciones de cada jugador. El juego lo crea y lo actualiza solo (ver "config.ini del jugador"). |
Data\ | Todos los datos del juego: modelos, texturas, mapas, sonidos, interfaz. |
Data\MainInfo.igk | Creado por el Encoder desde MainInfo.ini y las tablas. |
Data\Local\Connect.igk | Creado por el Encoder desde MainConnect.ini. |
Data\Local\TextInfo.igk | Creado por el Encoder desde las tablas de tooltips y buffs. |
Data\IGK\ | Lo propio de IGK: configuración de interfaz, idiomas, pantallas de carga, video, sonidos, runas. |
Data\HD\ | Texturas HD opcionales (ver "Texturas HD"). |
Data\Interface\HUD\Look-1 a Look-5 | Imágenes de cada tipo de interfaz. |
ScreenShots\ | Capturas de pantalla de los jugadores. |
Log\ | Los registros del cliente: MuError.log (errores, útil para soporte), Diligent.log (avisos de la gráfica) y, si el juego se cierra de golpe, un archivo de volcado (.dmp) para analizar el cierre. |
Leer un MuError.log: el archivo va cifrado, para que los jugadores no lo lean. Arrástralo sobre Encoder.exe (el de MainInfo): el Encoder no codifica nada esa vez, escribe al lado MuError.txt en claro y espera Enter para cerrar. Con un archivo que no es un MuError.log cifrado, lo dice y no escribe nada.
El cliente completo con las texturas HD ocupa unos 2,2 GB (la carpeta Data\HD son unos 580 MB de eso).
Encoder: cómo se usa
Encoder.exe paso a paso
- Edita
MainInfo\MainInfo.ini,MainInfo\MainConnect.inio la tabla que quieras (.txt). Usa un editor de texto (Bloc de notas, Notepad++). - Cierra el juego si lo tienes abierto (si no, el Encoder no puede escribir los archivos).
- Haz doble clic en
MainInfo\Encoder.exe. Lee todo y crea los archivos. - Abre
MainInfo\Encoder.logy revisa el final:Todos los archivos se crearon sin errores.= todo bien.N error(es) de configuracion: revisar los mensajes de arriba.= hay algo mal escrito; arriba dice qué archivo y qué línea.
- Copia los archivos nuevos al cliente que repartes a los jugadores (ver tabla de abajo). Si
PathExportapunta a tu carpetaClient\, ya quedaron ahí. - Abre el juego para probar.
Archivos que crea el Encoder y dónde van
| Archivo creado | Sale de | Va en el cliente |
|---|---|---|
MainInfo.igk | MainInfo.ini + todas las tablas de Common\, Item\, Map\, Monster\, Pet\ (menos los tooltips) | Data\MainInfo.igk |
Connect.igk | MainConnect.ini | Data\Local\Connect.igk |
TextInfo.igk | Item\CustomItemToolTip.txt, Item\CustomTextTooltip.txt, Common\CustomBuffEffect.txt | Data\Local\TextInfo.igk |
- La carpeta de destino la da la clave
PathExport(ver abajo). En los archivos que vienen con IGK:PathExport = ..\Client, o sea la carpetaClientque está al lado deMainInfo. MainInfo.igkyTextInfo.igkvan a la carpeta delPathExportdeMainInfo.ini.Connect.igkva a la delPathExportdeMainConnect.ini.- Si
PathExportestá vacío, los archivos quedan enMainInfo\Release\Data\...y los copias tú. - Cada vez que cambies algo, reparte los
.igknuevos a todos los jugadores (por ejemplo, con tu actualizador o el paquete del cliente). Un jugador con unMainInfo.igkviejo ve la configuración vieja. - Después de actualizar el cliente (
Main.exe) a una versión nueva de IGK, vuelve a correr el Encoder. UnMain.exenuevo puede no aceptar unMainInfo.igkhecho con un Encoder viejo (sale "Data\MainInfo.igk - Archivo dañado.").
Mensajes de Encoder.log
| Mensaje | Qué pasa | Qué hacer |
|---|---|---|
Creado: ... | Archivo creado bien. | Nada. |
No se pudo crear ...: revisar PathExport en ... (la carpeta tiene que existir) y que el juego este cerrado | La carpeta de destino no existe o el juego tiene el archivo abierto. | Revisa PathExport y cierra el juego. |
No se encontro MainConnect.ini en la carpeta del Encoder | Falta el archivo. No se crea Connect.igk. | Pon MainConnect.ini junto a Encoder.exe. |
MainConnect.ini: CustomerName esta vacio | Falta el nombre de cliente. No se crea Connect.igk. | Completa CustomerName. |
MainConnect.ini: IpAddress esta vacio (el cliente no va a poder conectarse) | Falta la IP. | Pon la IP o el dominio del servidor. |
No se encontro MainInfo.ini en la carpeta del Encoder: ... se crea con los valores por defecto | Falta MainInfo.ini. | Pon el archivo junto a Encoder.exe. |
MainInfo.ini: PluginAntiHack = X, no se encontro ese archivo en la carpeta del Encoder | El plugin nombrado no está junto al Encoder. El cliente no lo carga. | Copia el .dll del plugin junto a Encoder.exe, o deja la clave vacía. |
[archivo] No se encontro el archivo | Falta una tabla. | Restaura la tabla. |
[archivo] El archivo no esta bien armado cerca de la linea N: revisar las columnas y que cada seccion termine con 'end' | Una fila tiene columnas de más o de menos, comillas sin cerrar o falta end. | Revisa esa línea. |
Reglas generales de las tablas .txt
- Las líneas que empiezan con
//son comentarios. - Cada tabla termina con la palabra
end. Algunas tienen secciones: un número solo en una línea (0,1,2) y luego sus filas hastaend. - Los textos van entre comillas:
"VIP Bronze". - Los decimales van con punto:
1.5, no1,5. *en una columna significa "cualquiera" (en las tablas que lo permiten).- Un ítem se escribe casi siempre como grupo y número (las dos primeras columnas, igual que en
Item.txtdel servidor). Algunas tablas usan el número completo del ítem: grupo × 512 + número (por ejemplo, la Bolt del grupo 4 número 7 es 4 × 512 + 7 = 2055). - Después de editar cualquier tabla: correr
Encoder.exey repartir elMainInfo.igk(o elTextInfo.igk) nuevo.
MainConnect.ini (conexión)
Archivo: MainInfo\MainConnect.ini, sección [MainInfo]. Crea Data\Local\Connect.igk.
| Clave | Qué es | Valor en los archivos que vienen con IGK |
|---|---|---|
CustomerName | La clave de tu licencia de IGK (la misma de los servidores, ver 18_LICENCIA.md). Obligatorio: sin él no se crea Connect.igk. | (tu clave) |
IpAddress | IP o dominio del ConnectServer al que se conecta el juego. | (la del servidor de pruebas: cambiar por la tuya) |
IpAddressPort | Puerto TCP del ConnectServer. Debe ser igual a ConnectServerPortTCP de MuServer\ConnectServer\Data\ConnectServer.ini. Sin la clave: 44405. | 44405 |
ClientVersion | Versión del cliente. Debe ser igual a ServerVersion de MuServer\GameServer\Data\GameServerInfo - Common.dat (y del GameServerCS). | 1.04.05 |
ClientSerial | Serial del cliente (16 caracteres). Debe ser igual a ServerSerial del mismo Common.dat (GameServer y GameServerCS). | (16 caracteres) |
WindowName | Título de la ventana del juego. Dentro del juego el título agrega el personaje, nivel, resets y la hora del servidor. | TEST MU |
ScreenShotPath | Carpeta y nombre de las capturas de pantalla. %02d son mes, día, hora, minuto y %04d el número. | ScreenShots\Screen(%02d_%02d-%02d-%02d)-%04d.jpg |
PathExport | Carpeta del cliente donde se escribe Connect.igk. Vacía = MainInfo\Release. | ..\Client |
EncryptedFiles | 1 = el cliente tiene archivos cifrados: al abrir, el juego pide la llave a tu servidor. 0 = no consulta nada. Ver 19_CIFRADO.md. | 0 |
Problemas comunes de MainConnect.ini
- El juego no conecta / no aparece la lista de servidores:
IpAddressoIpAddressPortmal, o el puerto cerrado en el firewall del VPS. - Conecta pero no deja entrar al juego (error de versión):
ClientVersionoClientSerialno coinciden conServerVersion/ServerSerialdelGameServerInfo - Common.dat. Revisa también el del GameServerCS. - "Data\Local\Connect.igk - ¡no está o no es válido!" al abrir el juego: falta el archivo en el cliente, o se copió uno roto. Vuelve a correr el Encoder y copia el
Connect.igk.
MainInfo.ini (opciones del administrador)
Archivo: MainInfo\MainInfo.ini. Crea Data\MainInfo.igk. El jugador no puede cambiar nada de esto: lo decide el administrador. Las opciones de gusto de cada jugador (FPS, resolución, gráficos, sonido) están en el config.ini del jugador.
Algunas claves aparecen comentadas con ; y la nota MIGRATED to the player's config.ini: ya no se leen aquí. Ahora las elige cada jugador en Opciones (ver la tabla "Claves que pasaron al config.ini").
[MainInfo]
| Clave | Qué hace | Si falta | En los archivos de IGK |
|---|---|---|---|
MaxOfInstance | Cuántos juegos abiertos a la vez permite en una misma PC. Si se pasa, sale "se superó el límite de juegos abiertos a la vez". | 2 | 5 |
PluginAntiHack | Nombre del .dll de un antihack externo. Vacío = ninguno. El .dll debe estar junto a Encoder.exe al codificar y junto a Main.exe en el cliente. | vacío | vacío |
PluginReShader | Nombre del .dll de un plugin de gráficos externo. Mismas reglas que el anterior. | vacío | vacío |
PathExport | Carpeta del cliente donde se escriben MainInfo.igk y TextInfo.igk. Vacía = MainInfo\Release. | vacío | ..\Client |
Si cambias el .dll de un plugin, vuelve a correr el Encoder: el cliente comprueba que el archivo sea exactamente el mismo que estaba al codificar. Si no, sale "¡Error de CRC del plugin!".
[HelperInfo] (MU Helper)
| Clave | Qué hace | Si falta | En IGK |
|---|---|---|---|
HelperActiveLevel | Nivel mínimo del personaje para usar el MU Helper. | 80 | 80 |
HelperActiveAlert | 1 = al llegar a ese nivel, el juego avisa que ya puede usar el MU Helper. 0 = sin aviso. | 0 | 0 |
[ReconnectInfo] (reconexión automática)
| Clave | Qué hace | Si falta | En IGK |
|---|---|---|---|
ReconnectTime | Si se corta la conexión dentro del juego, el cliente intenta reconectar solo durante este tiempo, en milisegundos. 0 = desactivado. 300000 = 5 minutos. | 0 | 300000 |
[CharacterInfo]
| Clave | Qué hace | Si falta | En IGK |
|---|---|---|---|
DWMaxAttackSpeed | Velocidad de ataque máxima del Dark Wizard (según la Agilidad). | 65000 | 67000 |
DKMaxAttackSpeed | Igual, Dark Knight. | 65000 | 65000 |
FEMaxAttackSpeed | Igual, Elf. | 65000 | 67000 |
MGMaxAttackSpeed | Igual, Magic Gladiator. | 65000 | 67000 |
DLMaxAttackSpeed | Igual, Dark Lord. | 65000 | 67000 |
SUMaxAttackSpeed | Igual, Summoner. | 65000 | 67000 |
RFMaxAttackSpeed | Igual, Rage Fighter. | 65000 | 67000 |
MountPetSafeZone | Montura en la zona segura. 0 = desaparece (como siempre). 1 = el personaje se baja y la montura lo sigue como mascota, más chica. | 0 | 1 |
MountPetSize | Altura de la montura como mascota, en % de la altura del personaje (0 a 100; 0 = 60). | 0 (= 60) | 60 |
[Custom] (sistemas y botones)
| Clave | Qué hace | Valores | Si falta | En IGK |
|---|---|---|---|---|
PrintLogo | Logo del servidor en las capturas de pantalla. La imagen es Data\Interface\HUD\MU-logo.OZT. | 0 no; 1 arriba izquierda; 2 arriba derecha; 3 abajo izquierda; 4 abajo derecha; 5 centro | 0 | 0 |
RemoveClass | Quita clases de la pantalla de crear personaje. | 0 ninguna; 1 Summoner, Dark Lord y Rage Fighter; 2 Summoner y Rage Fighter; 3 solo Rage Fighter | 0 | 0 |
MaxItemLevelOn | Nivel máximo de ítem que se puede subir con mezclas/joyas. | 10 a 15 | 15 | 15 |
EnableTradeCoin | Comercio con monedas. | 0 / 1 | 0 | 1 |
EnableRememberAccount | Casilla "Recordar cuenta" en el login y en Opciones. | 0 / 1 | 0 | 1 |
EnableJewelOfInventory | Banco de joyas / ítems (se abre desde el menú F4). | 0 / 1 | 0 | 1 |
EnableCsSkillsAllMaps | Skills de Castle Siege en todos los mapas. También hay que activarlo en el Common.dat del servidor. | 0 solo en Castle Siege / 1 todos | 0 | 1 |
RankUserSwitch | Cómo se muestra el título de ranking del jugador. | 0 completo; 1 sin estadísticas; 2 sin logo; 3 sin estadísticas ni logo; 4 logo sobre la cabeza; 5 desactivado | 0 | 0 |
EnablePartyHpBar | Vida de los miembros del grupo. 0 = desactivado (y la opción desaparece de Opciones). El estilo (barras o iconos) lo elige el jugador. | 0 / 1 | 1 | 1 |
CustomMenuSwitch | Menú propio del servidor (tecla F4). | 0 / 1 | 0 | 1 |
CustomMenuType | Estilo del botón del menú. | 1 logo; 2 botón junto al MU Helper | 0 | 2 |
EnableVipShopButton | Entrada "Tienda Premium" en el menú F4. | 0 / 1 | 0 | 1 |
EnableRankingButton | Entrada "Ranking" en el menú F4. | 0 / 1 | 0 | 1 |
EnableCommandButton | Entrada "Comandos" en el menú F4. | 0 / 1 | 0 | 1 |
EnableOptionButton | Entrada "Opciones" en el menú F4. | 0 / 1 | 0 | 1 |
EnableOptionVongQuay | Entrada "Ruleta de la suerte" en el menú F4. | 0 / 1 | 0 | 1 |
EnableOptionHuyExl | Entrada "Quitar opción excelente" en el menú F4. | 0 / 1 | 0 | 1 |
EnableEventTimeButton | Entrada "Eventos" (horarios) en el menú F4. | 0 / 1 | 0 | 1 |
EnableWindowsVipShop | Ventana de la tienda VIP (la que abre su entrada del menú). | 0 / 1 | 0 | 1 |
EnableWindowsRankTop | Ventana del ranking. | 0 / 1 | 0 | 1 |
EnableWindowsCommand | Ventana de la lista de comandos. | 0 / 1 | 0 | 1 |
EnableWindowsEventTime | Ventana de horarios de eventos (también con la tecla H). | 0 / 1 | 0 | 1 |
SwitchPersonalShopType | Tipo de tienda personal. | 0 normal; 1 premium | 0 | 1 |
EnableOffStoreButtom | Botón de tienda offline (solo con SwitchPersonalShopType = 0). | 0 / 1 | 0 | 1 |
EnableStoreBlessButtom | Botón de vender por Jewel of Bless (solo con tienda normal). | 0 / 1 | 0 | 1 |
EnableStoreSoulButtom | Botón de vender por Jewel of Soul (solo con tienda normal). | 0 / 1 | 0 | 1 |
EnableStoreChaosButtom | Botón de vender por Jewel of Chaos (solo con tienda normal). | 0 / 1 | 0 | 1 |
EnableStoreCoin1Buttom a EnableStoreCoin3Buttom | Botones de vender por las monedas 1, 2 y 3 (solo con tienda normal). | 0 / 1 | 0 | 1 |
SceneLogin | Fondo de la pantalla de servidores y login. | ver tabla "Escenas" | 0 | 2 |
SceneCharacter | Fondo de la selección de personaje. | ver tabla "Escenas" | 0 | 0 |
ServerListVideo | Video de fondo en la lista de servidores y el login (ver "Video de la lista de servidores"). | 0 mapa de SceneLogin; 1 video | 0 | 1 |
CameraIntro | Al entrar al juego, la cámara aparece cerca del personaje y se aleja suavemente (2,4 s). No pasa en teleports ni al cambiar de mapa. | 0 / 1 | 1 | 1 |
ItemDropBeam | Pilares de luz sobre los ítems del suelo: alas naranja, ancient cian, socket violeta, excelente verde, joyas amarillo; un ítem con suerte o +7 o más lleva solo un anillo azul. Cada jugador puede apagarlos en Opciones > Interfaz. Con 0 no hay pilares y la casilla no sale en Opciones. | 0 / 1 | 1 | 1 |
Escenas: SceneLogin y SceneCharacter
| Valor | SceneLogin (servidores y login) | SceneCharacter (selección de personaje) |
|---|---|---|
| 0 | Mapa World74 | Mapa World75 |
| 1 | Clásico (Season 1) | Clásico, con marco |
| 2 | Season 2/3: World56 | Season 2/3: World55 |
| 3 | Season 4: World78 | Season 4: World79 |
| 4 | Season 13: World95 | Season 13: World94, con lista de 5 personajes a la derecha |
- El mapa de cada escena debe estar en
Data\del cliente (por ejemploData\World56). Revisa que exista antes de elegir un valor. - Con
ServerListVideo = 1el video reemplaza al mapa deSceneLogin(solo en PC).
[Interface]
| Clave | Qué hace | Valores | Si falta | En IGK |
|---|---|---|---|---|
ServerDefaultName | De dónde sale el nombre del servidor en la lista. | 0 del ConnectServer; 1 del archivo Data\Local\ServerList.bmd | 1 | 0 |
LookAndFeel | Tipo de interfaz del juego (ver "Tipos de interfaz"). | 0 a 5 (y 6 o más para una interfaz nueva) | 0 | 4 |
CharInfo | Globo de información en la selección de personaje. | 0 normal; 1 con resets (Data\Interface\HUD\character_ex(1).ozt); 2 con resets y master resets (character_ex(2).ozt) | 0 | 2 |
PickItemTextType | Aviso al recoger un ítem. | 0 en el cuadro de experiencia; 1 texto dorado (estilo GM) | 0 | 0 |
InventoryExtension | Ampliación de inventario (tecla K con el inventario abierto). | 0 / 1 | 0 | 1 |
MaxInventoryExtension | Cuántas ampliaciones de inventario como máximo. | hasta 4 | 2 | 4 |
WareHouseExtension | Ampliación del baúl. | 0 / 1 | 0 | 1 |
CashShopInGame | Cash Shop dentro del juego (tecla X). | 0 / 1 | 0 | 1 |
OficialMuHelper | MU Helper oficial (tecla Z para configurar, Inicio para empezar/parar). | 0 / 1 | 0 | 1 |
MasterSkill | Árbol de habilidades Master (tecla A). | 0 / 1 | 0 | 1 |
InvasionInfoTime | Barra de tiempo de invasión y conteo de monstruos. | 0 / 1 | 0 | 1 |
RenderItemToolip | Elemento estilo Season 18: tooltip de ítem nuevo. | 0 / 1 | 0 | 0 |
RenderItemNameDrop | Elemento estilo Season 18: nombres de ítems en el suelo. | 0 / 1 | 0 | 0 |
RenderCharacterName | Elemento estilo Season 18: nombre y mensajes sobre la cabeza con el estilo nuevo. | 0 / 1 | 0 | 0 |
RenderEquipmentEarring | Casillas de aretes en el equipo. | 0 / 1 | 0 | 0 |
RenderEquipmentFlagNat | Casilla de bandera en el equipo. | 0 / 1 | 0 | 1 |
RenderEquipmentRune | Casilla de runa (debajo de la bandera). El efecto de cada runa va en Item\CustomRuneEffect.txt. | 0 / 1 | 0 | 1 |
RenderEquipmentPetMuun | Casilla de mascota Muun. | 0 / 1 | 0 | 0 |
RenderEquipmentPetEagle | Casilla de águila. | 0 / 1 | 0 | 0 |
GLFont | Letra de los avisos del centro de la pantalla y del chat. 0 = letra clásica. 1 = Arial negrita con sombra, sin cajas de fondo; los colores del chat salen de Common\CustomChatColor.txt. | 0 / 1 | 0 | 1 |
Claves que pasaron al config.ini del jugador
Estas claves están comentadas en MainInfo.ini. Cambiarlas ahí no hace nada. Ahora cada jugador las elige en Opciones y quedan en su config.ini.
| Antes en MainInfo.ini | Ahora en config.ini |
|---|---|
FpsRenderMax | [Display] FpsLimit |
FpsWindowsOption | [Display] StartupDialog |
ScreenType | [Display] InterfaceSize (escala automática) |
RenderGuildLogo | [Interface] GuildLogoChat |
RankUserShowOverHead, RankUserOnlyOnSafeZone, RankUserShowReset, RankUserShowMasterReset, RankUserNeedAltKey | [Interface] RankOverHead, RankSafeZoneOnly, RankShowReset, RankShowMasterReset, RankNeedAlt |
PartyHpBarType | [Interface] PartyHpBar |
Tablas del Encoder
Todas se aplican con el Encoder (crean MainInfo.igk, salvo los tooltips y buffs, que van en TextInfo.igk).
Common\CustomBuffEffect.txt (nombre y descripción de los buffs)
Qué es: el nombre y la descripción que se ven al pasar el ratón sobre el icono de un buff. Va en TextInfo.igk.
| Columna | Qué es |
|---|---|
| 1 | Número del buff (el que manda el servidor). |
| 2 | Grupo del buff (varios buffs pueden compartir grupo). |
| 3, 4 | Ítem relacionado (grupo y número; 255 = ninguno). |
| 5 | Nombre del buff, entre comillas. |
| 6, 7, 8 | Parámetros del buff. Deja los valores que trae. |
| 9 | Descripción. Varias líneas se separan con /. %d es el valor que manda el servidor (no borres ni cambies el orden de los %d). %% muestra un %. |
Ejemplo: 2 2 255 255 "Increase Defense" 0 1 1 "Increases Defence : +%d".
Common\CustomBuyVip.txt (comprar VIP en el juego)
Qué es: los planes VIP que se compran desde la tienda VIP del juego (menú F4 > Tienda Premium).
| Columna | Qué es |
|---|---|
#Index | Número del plan. |
#Exp+ | Experiencia extra, en %. |
#Drop+ | Drop extra, en %. |
Days | Días que dura. |
#CấpTàiKhoản | Nivel de cuenta VIP que da (1 Bronze, 2 Silver, 3 Golden en los archivos de IGK). |
#Coin1 #Coin2 #Coin3 | Precio en las monedas 1, 2 y 3. |
#VipName | Nombre que se muestra, entre comillas. |
Common\CustomChatColor.txt (colores del chat)
Qué es: color de letra de cada tipo de mensaje del chat. Solo se usa con GLFont = 1 en MainInfo.ini.
| Columna | Qué es |
|---|---|
Index | Tipo de mensaje: 0 común, 1 susurro, 2 sistema, 3 aviso de error, 4 party, 5 guild, 6 alianza, 7 GameMaster, 8 Gens, 9 Post (comando /post), 10 Post VIP. |
TextR TextG TextB | Color, 0 a 255. |
TextAlpha | Opacidad: 0 invisible, 255 opaco. |
Common\CustomCommand.txt (lista de comandos del juego)
Qué es: la lista que el jugador ve en la ventana de Comandos (menú F4 > Comandos). No activa ni desactiva comandos en el servidor: eso se hace en los archivos del servidor.
| Columna | Qué es |
|---|---|
#Index | Número de fila. |
#Color | Color de la línea. |
#Command | El comando, entre comillas ("/move"). |
AL0 a AL3 | 1 = habilitado para cuentas de ese nivel (0 a 3). |
#GameMaster | 0 jugador, 1 GameMaster, 2 administrador. |
#Description | Cómo se escribe ("/move <Map>"). |
| (última) | Qué hace ("Move character"). |
Common\CustomMessageGremory.txt (origen de los ítems del Gremory Case)
Qué es: el texto que se ve debajo del nombre de un ítem del Gremory Case (de dónde vino).
- Una sección por idioma del cliente:
0inglés,1portugués,2español. Si el idioma del jugador no tiene el texto, se usa el de la sección0. - Columnas:
IndexyMessage(hasta 63 letras). Index0 a 249: el número de bolsa (G_Num) deEventItemBagManager.txtdel servidor. 250 =/gremory, 251 = Daily Reward, 252 = scripts Lua, 253 =/gremoryall.
Common\CustomNameWave.txt (nombres con brillo de colores)
Qué es: personajes cuyo nombre se ve con efecto arcoíris / brillo de 7 colores.
| Columna | Qué es |
|---|---|
| 1 | Número de fila. |
| 2 | Nombre exacto del personaje, entre comillas. |
Item\CustomItem.txt (ítems custom)
Qué es: agrega el modelo de un ítem nuevo. Los modelos van en Data\Item\ (o Data\Player\ para piezas de set) y sus texturas en Data\Item\Texture\.
| Columna | Qué es |
|---|---|
Type | Grupo del ítem (como en Item.txt). |
#Index | Número del ítem. |
#ColorR #ColorG #ColorB | Color (0 a 255). |
#FileName | Nombre del modelo .bmd, sin extensión. |
El ítem también debe existir en el servidor (Item.txt) y en Item.bmd del cliente. Su posición en las ventanas va en CustomItemPosition.txt.
Item\CustomItemPosition.txt (posición de ítems en las ventanas)
Qué es: posición, giro y escala del modelo de un ítem dentro de su casilla (inventario, baúl, tiendas). Las filas de aquí reemplazan o agregan a los valores de Data\Local\ItemTRSData.bmd. Pon solo los ítems que agregas o cambias.
| Columna | Qué es |
|---|---|
Type Index | El ítem (grupo y número). |
X Y | Posición dentro de la casilla (0 a 1). |
Z | No se usa. |
AngX AngY AngZ | Giro en grados. |
Scale | Tamaño del modelo. |
Decimales con punto y sin exponente. Cada ítem una sola vez.
Item\CustomWing.txt (alas custom)
Qué es: alas y capas nuevas, con sus opciones. Debe coincidir con MuServer\Data\Custom\CustomWing.txt del servidor.
| Columna | Qué es |
|---|---|
# Index | Grupo y número del ala. |
DefA | Defensa base. |
IncDmgA IncDmgB | Aumento de daño. |
DecDmgA DecDmgB | Reducción de daño. |
Opt1/Val1 a Opt3/Val3 | Opciones normales (número de opción y valor). |
NewOpt1/NewVal1 a NewOpt4/NewVal4 | Opciones excelentes. |
ModelType | Tipo de modelo (0 ala; 1 capa, como en el ejemplo de la capa). |
ModelName | Modelo .bmd, sin extensión. |
Números de opción (lista del archivo): 80 daño adicional, 81 daño mágico adicional, 82 tasa de defensa, 83 defensa adicional, 84 suerte, 85 recuperación automática de vida %, 102 ignorar defensa %, 109 devolver daño %, 110 recuperar toda la vida %, 111 recuperar todo el maná %, 113 daño de maldición adicional.
Item\CustomCape.txt (capas con física)
Qué es: cómo se dibuja una capa (con tela que se mueve).
| Columna | Qué es |
|---|---|
#Index #SubIndex | Grupo y número del ítem. |
#RenderType | 0 por defecto; 1 Wings of Angel and Devil; 2 Cloak of Death; 3 Control Cloak; 4 Referre Cloak; 5 Transcendence; 6 Wings of Power; 7 Cloak of Isolation. Distinto de 0 ignora el resto de la fila. |
#IsStrip | 0 capa normal; 1 normal con tira. |
#Hide1GroupId #Hide2GroupId | Partes del modelo que se ocultan (-1 ninguna). |
#TextureLayer #TextureStrip | Texturas de la capa y de la tira. |
#TextureLayer_R #TextureStrip_R | Texturas de brillo. |
Item\CustomJewel.txt (joyas custom)
Qué es: joyas nuevas y a qué ítems se pueden aplicar. Tiene sección 0 y termina con end.
| Columna | Qué es |
|---|---|
Index | Número de fila. |
ItemIndex | Número completo de la joya (grupo × 512 + número). |
MinItemLevel MaxItemLevel | Niveles de ítem donde se puede usar. |
MaxItemOption1 MaxItemOption2 | Límite de skill / suerte. |
MinItemOption3 MaxItemOption3 | Límite de la opción adicional. |
MinItemNewOption MaxItemNewOption | Límite de opciones excelentes. |
MaxItemSetOption | Límite de opción de set. |
MinItemSocketOption MaxItemSocketOption | Límite de sockets. |
EnableSlotWeapon EnableSlotArmor EnableSlotWing | Si se puede usar en armas, armaduras, alas. |
SuccessRate_AL0 a SuccessRate_AL3 | % de éxito según el nivel VIP de la cuenta. |
SalePrice | Precio de venta. |
ModelName | Modelo de la joya. |
* = sin límite. Debe coincidir con la configuración de joyas del servidor.
Item\CustomStack.txt (ítems apilables)
Qué es: ítems que se apilan en una casilla. Debe coincidir con MuServer\Data\Item\ItemStack.txt.
| Columna | Qué es |
|---|---|
Index | Número completo del ítem (grupo × 512 + número). |
Level | Nivel del ítem (* = cualquiera). |
MaxStack | Máximo por casilla. |
CreateIndex | Ítem que se crea al llegar al máximo (* = ninguno). |
BreakUp | 1 = se puede separar. |
Item\CustomImage.txt (texturas extra)
Qué es: texturas adicionales que usan otras tablas (por ejemplo CustomItemRenderMesh.txt). Ruta por defecto: Data\Item\Texture\.
| Columna | Qué es |
|---|---|
Texture | Número de la textura, desde 33001. Es el número que usan las otras tablas en su columna Texture. |
| 2.ª columna | 9728 (nítido) o 9729 (suavizado). |
| 3.ª columna | 10496 (borde fijo) o 10497 (repetir). |
#Path | Nombre del archivo, entre comillas. |
Item\CustomItemRenderMesh.txt y Item\CEffectRenderMesh.txt (brillos y efectos en el modelo)
Qué es: efectos sobre partes del modelo de un ítem (cromado, brillo, movimiento de textura).
CustomItemRenderMesh.txt:
| Columna | Qué es |
|---|---|
#Index | Grupo y número del ítem. |
#GroupId | Parte (malla) del modelo. |
#RenderFlag | Tipo de dibujo (suma de valores: 1 color, 2 textura, 4 cromado, 8 metal, 64 brillo, 128 oscuro, 256 extra, 512 cromado 2... ver la lista del archivo). Negativo = dibuja el cuerpo normal. |
#Texture | Número de textura de CustomImage.txt (-1 la del modelo). |
#Color | 1 = usa el color de la columna siguiente. |
#BodyLightColor | Color R G B de 0.0 a 1.0. |
#Luminosity | Brillo, 0.0 a 1.0. |
#RenderType | Movimiento de la textura: -1 quieta, 0 en X, 1 en Y, 2 X al revés, 3 Y al revés, 4 por cuadros X e Y, 5 por cuadros Y. |
#TimeEffect | Velocidad del movimiento. |
#TimeTexture | Tiempo de mezcla de la luz. |
#GlowLevel | Nivel de ítem desde el que se ve. |
CEffectRenderMesh.txt hace lo mismo con otro orden de columnas: Type Index Red Green Blue Group RenderEffect EffectType TimeEffectType TextureID TimeTextureID LevelGlow. En IGK trae efectos para pociones y joyas de colores.
Item\CustomRenderEffect.txt (efectos de armas y alas especiales)
Qué es: asigna a un ítem uno de los efectos predefinidos (Blessed Divine, Holyangel, Awakening, alas especiales...).
| Columna | Qué es |
|---|---|
| 1, 2 | Grupo y número del ítem. |
| 3 | Número del efecto (la lista está al principio del archivo; por ejemplo 0 = Blessed Divine Staff, 9 = Heavenly Wings). |
Item\CustomEffectStatic.txt y Item\CustomEffectDynamic.txt (efectos de luz en ítems)
Qué es: partículas o brillos fijos (Static) o con movimiento (Dynamic) pegados a un hueso del modelo.
| Columna | Qué es |
|---|---|
| 1, 2 | Grupo y número del ítem. |
Effect | Número del efecto o textura. |
Join | Hueso del modelo donde va. |
Level | Nivel mínimo del ítem para que se vea. |
ColorR ColorG ColorB | Color, 0.0 a 1.0. |
Scale | Tamaño. |
Angle | Ángulo. |
Type | Tipo de efecto. |
En los archivos de IGK están vacías (solo ejemplos comentados).
Item\CustomSmokeItem.txt (humo de sets)
Qué es: color del humo de un set de armadura.
| Columna | Qué es |
|---|---|
SetIndex | Número del set. |
Red Green Blue | Color, 0.0 a 1.0. |
En IGK está vacía.
Item\CustomRuneEffect.txt (efecto de las runas)
Qué es: el círculo que gira en el suelo debajo del personaje que tiene equipada una runa. Lo ven todos.
- La runa debe estar en
Item.txtdel servidor y enItem.bmddel cliente con la casilla (Slot) 241. Sus opciones van en el servidor (Data\Item\RuneItemOption.txt). - La casilla se enciende con
RenderEquipmentRune = 1enMainInfo.ini.
| Columna | Qué es |
|---|---|
Type Index | La runa (grupo y número). |
Size | Ancho del círculo en baldosas (mayor que 0, hasta 10; el círculo del GM mide 1.5). Más grande = más costo. |
Red Green Blue | Color de 0 a 1 (1 1 1 = la textura tal cual). |
Speed | Giro: 1 normal (una vuelta en 36 s), 0 quieto, negativo al revés. |
Textura | Imagen en Data\IGK\RuneEffect\ sin extensión ("EffectGM" = EffectGM.ozj). Lo negro no se ve. |
Hasta 32 runas.
Item\CustomItemToolTip.txt y Item\CustomTextTooltip.txt (líneas extra en la descripción de ítems)
Qué es: líneas de texto extra en la ayuda de un ítem, según su rango, nivel y si es excelente o ancient. Va en TextInfo.igk.
CustomItemToolTip.txt tiene dos secciones (0 ítems, 1 sets), cada una con end:
| Columna | Qué es |
|---|---|
ItemIndexMin ItemIndexMax | Rango de ítems (número completo). |
LevelMin LevelMax | Rango de nivel. |
Exc Anc | Si debe ser excelente / ancient (-1 = no importa). |
Name | Título, entre comillas. |
ColorName | Color del título (lista de colores al principio del archivo: 1 azul, 2 rojo, 3 dorado...). |
Index1 Color1 Level1 ... hasta 15 | Hasta 15 líneas: número de texto de CustomTextTooltip.txt, su color y el nivel desde el que se muestra (-1 = vacía). |
CustomTextTooltip.txt: Index y Text (el texto entre comillas).
En IGK, CustomItemToolTip.txt viene sin filas activas y los textos de ejemplo están en vietnamita.
Map\CustomWorld.txt (mapas custom)
Qué es: mapas nuevos con su nombre, imagen y música.
| Columna | Qué es |
|---|---|
#Map | Número del mapa. |
#effect | Efecto del mapa: -1 ninguno; 91 Acheron; 95 Debenter; 100 Uruk Mountain; 110 Nars; 112 Ferea; 113 Nixie Lake. |
#IdText | Número del texto del nombre del mapa en el archivo de idioma (txt_N). |
#Ext | Tipo de terreno (0 o 1, según el mapa). |
#ImgName | Imagen del nombre del mapa al entrar. |
#lpszMp3 | Música ("None" = sin música propia). |
En IGK está activo el mapa 92 (modo MOBA League of Masters).
Map\CustomSky.txt (cielo por mapa)
Qué es: colores del cielo de cada mapa. El cliente ya trae cielo en los mapas exteriores (Lorencia, Devias, Noria, Tarkan, Aida, Crywolf, Kanturu, Elbeland, Swamp of Calmness, Raklion, Santa Town, Vulcanus, Loren Market y Karutan). Aquí se cambian sus colores, se quita el cielo a un mapa o se le da a otro. Sin fila, el mapa usa el cielo de fábrica (gris de día nublado).
- El cielo se ve donde no hay nada dibujado: arriba al inclinar la cámara 3D (F10) y donde se acaba el terreno.
- El ciclo de día y noche lo cambia solo: horizonte cálido al amanecer y atardecer, azul oscuro de noche, gris con lluvia.
- La niebla de un mapa con cielo toma el color de su horizonte.
- Cada jugador puede apagarlo en Opciones > Imagen > Cielo.
| Columna | Qué es |
|---|---|
Map | Número del mapa. |
Sky | 1 con cielo, 0 sin cielo. |
DayNight | 1 = el mapa sigue el ciclo de día y noche. El ciclo lo enciende el GameServer (DayNightSwitch y las demás claves DayNight de GameServerInfo - Common.dat). |
ZenR ZenG ZenB | Color de arriba del todo (0 a 255). Opcional. |
HorR HorG HorB | Color del horizonte y de la niebla. Opcional. |
NadR NadG NadB | Color de abajo del todo (para mapas sobre el vacío; si faltan, los del horizonte). Opcional. |
Sin colores, se usan los de fábrica del mapa. Ejemplo (Lorencia): 0 1 1 72 118 182 168 188 208.
Map\CustomFog.txt (niebla por mapa)
Qué es: deja la niebla siempre encendida en un mapa, con un color. Empieza a 2000 unidades y tapa todo a 2700. Vale para mapas sin cielo (los mapas con cielo usan el color de su horizonte).
| Columna | Qué es |
|---|---|
Map | Número del mapa. |
Red Green Blue | Color, 0 a 255. |
En IGK está vacía (solo un ejemplo comentado).
Monster\CustomMonster.txt (monstruos y NPC custom)
Qué es: monstruos y NPC nuevos con su modelo.
| Columna | Qué es |
|---|---|
ID | Número del monstruo (el de Monster.txt del servidor). Los custom van desde 580. Reservados: 580, 581, 582, 583, 584, 604, 643, 651. 605, 606 y 607 son los yacimientos de minería. |
Type | 0 NPC, 1 monstruo. |
Size | Tamaño (1.00 = normal). |
Name | Nombre, entre comillas. |
Directory | Carpeta del modelo dentro de Data\ ("Monster\\"). |
FileName | Modelo, sin extensión. |
En IGK están los monstruos del modo MOBA (nexos, torres, súbditos).
Monster\CustomMonsterNameColor.txt (color del nombre de monstruos)
Qué es: color del nombre del monstruo (su barra de vida y lo que dice). Sin fila, blanco.
| Columna | Qué es |
|---|---|
Index | Número del monstruo (Monster.txt del servidor). |
ColorR ColorG ColorB | Color, 0 a 255. |
En IGK vienen coloreados invasiones, Golden, jefes y mini jefes.
Monster\CustomMonsterSound.txt (sonidos de monstruos)
Qué es: sonidos propios de un monstruo, en lugar de los de su modelo.
| Columna | Qué es |
|---|---|
MonsterID | Número del monstruo. |
Type | 0 y 1 quieto, 2 moverse, 3 y 4 ataque (también al recibir un golpe), 6 muerte. |
FileName | Archivo Data\Sound\<FileName>.wav, sin extensión. |
Monster\CustomMonsterRenderMesh.txt (brillos en monstruos)
Igual que CustomItemRenderMesh.txt, pero la primera columna es el número del monstruo (una sola columna). En IGK está vacía.
Monster\CustomNpcName.txt (nombre de un NPC en un lugar)
Qué es: cambia el nombre de un NPC puesto en un mapa y posición.
| Columna | Qué es |
|---|---|
ID | Número del NPC. |
World | Mapa. |
PositionX PositionY | Posición. |
Name | Nombre nuevo, entre comillas. |
En IGK está vacía.
Pet\CustomPet.txt (mascotas custom)
Qué es: mascotas y monturas nuevas. Texturas en Data\Item\Texture\.
| Columna | Qué es |
|---|---|
ID Index | Grupo y número del ítem. |
Remplace | Uso avanzado: deja -1 como en el ejemplo, salvo que copies una fila que lo use. |
Movement | Cómo se mueve: 0 Demon, 1 Rudolf, 2 Panda, 3 Unicorn, 4 Skeleton, 5 Fenrir (montura), 6 Dark Horse (montura), 7 Uniria (montura), 8 Muun. |
Fenri | Efecto extra (0 en el ejemplo). |
Scale | Tamaño. |
FileName | Modelo, sin extensión. |
Pet\CustomPetEffectStatic.txt y Pet\CustomPetEffectDynamic.txt
Iguales que CustomEffectStatic.txt / CustomEffectDynamic.txt, pero para mascotas. En IGK solo traen ejemplos comentados.
Tipos de interfaz (LookAndFeel)
Se elige en MainInfo\MainInfo.ini [Interface] LookAndFeel, se corre el Encoder y se reinicia el juego. El jugador no lo puede cambiar.
| Valor | Interfaz | Imágenes propias | Posiciones |
|---|---|---|---|
| 0 | Season 6 (la original) | Data\Interface\ (no tiene carpeta propia) | Fijas (no tiene archivo JSON) |
| 1 | Season 1 | Data\Interface\HUD\Look-1\ | Data\IGK\Settings\Interface\interface_1.json |
| 2 | Season 2/3 | Data\Interface\HUD\Look-2\ | interface_2.json |
| 3 | Ex700 (Season 16) | Data\Interface\HUD\Look-3\ | interface_3.json |
| 4 | Legends | Data\Interface\HUD\Look-4\ | interface_4.json |
| 5 | Incompleta (no sale en el comentario de MainInfo.ini): solo marco, orbes, AG y SD; sin botones en la barra ni barra de experiencia. No se recomienda. | Data\Interface\HUD\Look-5\ | interface_5.json |
- Qué cambia con el tipo: sobre todo la barra de abajo (orbes, AG, SD, experiencia, botones, ranuras Q/W/E/R, skills). En los tipos 1 y 2 también cambian los marcos de casi todas las ventanas, el chat y la lista del grupo.
- Qué no cambia: las pantallas de antes de entrar (carga, servidores, login, personajes), la ventana de Opciones y las ventanas nuevas de IGK.
- En Android la interfaz es siempre la suya (táctil), sin importar
LookAndFeel. - En los tipos 1 y 2 no hay tecla R de pociones (solo Q, W, E). El tipo 1 no tiene botón de amigos ni de tienda en la barra.
Imágenes de cada tipo: Look-N y Overrides
Data\Interface\HUD\Look-N\: las piezas propias del tipo (orb_life,button_character,bar...). Cámbialas por otro dibujo con la misma medida.Data\Interface\HUD\Look-N\Overrides\: reemplazos de imágenes de Season 6 solo para ese tipo. Mismo nombre, misma ruta (contada desdeData\Interface\) y misma medida que la original. Por ejemplo,Look-3\Overrides\partCharge1\newui_menu03.OZJreemplazaData\Interface\partCharge1\newui_menu03.OZJsolo en el tipo 3.- Un reemplazo que no mide lo mismo que el original no se usa (el juego usa el original y lo anota en
MuError.log). - Lo que un tipo no tiene en su carpeta se toma de Season 6.
- Si falta una imagen, el juego avisa al arrancar "No se pudo cargar la imagen: <ruta>" y esa pieza sale vacía.
- Las versiones HD van en
Data\HD\con la misma ruta (ver "Texturas HD").
Posiciones: Data\IGK\Settings\Interface\interface_N.json
Qué es: un archivo por tipo (1 a 5) con la posición y el tamaño de todo lo que se puede mover: la barra de abajo, el chat, el minimapa, los buffs, la lista del grupo, los avisos, el inventario, el personaje, el baúl, el comercio, las tiendas y más. Cada elemento trae una nota "_note" que explica qué es.
- Se edita con el juego abierto: al guardar, el juego lo vuelve a leer en un segundo y todo se mueve, sin reiniciar.
- Lo que falta en el archivo usa el valor de fábrica. Las claves que empiezan con
_son notas. - Los valores de fábrica de cada tipo están en
MainInfo\Interface\reference_N.json(también el de Season 6,reference_0.json). Sirven para volver a poner un valor. - Unidades de la barra (
bar): una pantalla de 640x480 (x de 0 a 640, y de 0 a 480). El juego centra ese cuadro abajo en cualquier resolución. - Unidades del resto (
screen):xdesde la izquierda,ydesde arriba,from_rightyfrom_bottomdesde el borde derecho y el de abajo. - Piezas de la barra (tipos 1 a 5): cada una tiene además
enabled(false = apagada, ni se ve ni recibe clic),image(archivo de la carpetaLook-N),crop([x, y, ancho, alto], qué parte de la imagen se dibuja),mirror(al revés),frames/columns/seconds(animación de los orbes) ystates(estados de un botón: 1, 2 o 3). - Para usar una imagen de otra medida en una pieza de la barra: ponla en
Look-N\y cambia suimagey sucrop. - Un JSON roto (por ejemplo, falta una coma) no rompe el juego: se usa todo de fábrica y
MuError.logpuede indicar la línea y la columna del error.
Ejemplo (mover el orbe de vida del tipo 3):
"life": { "enabled": true, "x": 108, "y": 408, "width": 60, "height": 60, "number_x": 30, "number_y": 30 }
Crear una interfaz nueva (LookAndFeel 6 o más)
Sin programar:
- En
MainInfo.ini:LookAndFeel = 6(o 7, 8...). Correr el Encoder. - En el cliente, copiar la carpeta del tipo en que te basas (por ejemplo
Look-3, con suOverrides) comoData\Interface\HUD\Look-6\. - Copiar
Data\IGK\Settings\Interface\interface_3.jsoncomointerface_6.jsony agregarle"base": 3(a cuál de los tipos 0 a 5 se parece). - Cambiar posiciones en
interface_6.jsone imágenes enLook-6.
Con base 0: copia MainInfo\Interface\reference_0.json como interface_6.json, agrega "base": 0, y en Look-6 pon solo su Overrides\.
Si al nuevo tipo le falta una pieza propia, se usa la del tipo base. Sin interface_6.json o sin un "base" válido, se dibuja como el tipo 0.
Resoluciones: Data\IGK\Settings\Resolutions.xml
Lista de las 15 resoluciones que el jugador puede elegir (de 800x600 a 1920x1080). Opciones solo muestra las que caben en el monitor. Data\Resolutions_OLD.xml es una lista vieja que el juego no lee.
config.ini del jugador
Archivo: config.ini, en la carpeta del cliente (junto a Main.exe). Lo crea el juego la primera vez y lo cambia la ventana de Opciones. Cada jugador tiene el suyo. Formato: Clave=Valor en secciones [...].
- Si falta una clave, el juego la agrega con su valor por defecto. Si la PC tenía un MU viejo, algunas (resolución, motor, FPS, modo de pantalla, sonido, idioma, recordar cuenta) se toman de la configuración vieja de Windows.
- La primera vez en una PC con gráfica integrada, el juego empieza con el preajuste Medio.
- Para restablecer todo: cerrar el juego y borrar
config.ini. Se crea de nuevo al abrir. - No repartas tu propio
config.inien el cliente para jugadores: lleva tus gustos (motor, resolución, cámara). Mejor que el juego lo cree.
[Display] (pantalla)
| Clave | Qué es | Valores | Por defecto |
|---|---|---|---|
RenderEngine | Motor gráfico. Necesita reiniciar. | 1 DirectX 11; 2 DirectX 12; 3 Vulkan | 1 |
ScreenMode | Modo de pantalla. Necesita reiniciar. | 0 ventana; 1 pantalla completa (sin bordes, del tamaño del monitor) | 0 |
Resolution | Número de la resolución en Resolutions.xml (0 = 800x600 ... 14 = 1920x1080). | 0 a 14 | 1 (1024x768) |
InterfaceSize | Tamaño de la interfaz, en % de la escala automática. | 90, 100, 115, 130, 150 | 100 |
MonitorX, MonitorY | Monitor donde estuvo el juego la última vez (vuelve a abrir ahí). Lo escribe el juego. | — | — |
FpsLimit | Límite de FPS. | 25, 30, 40, 60, 120, 0 (sin límite) | 120 |
VSync | Sincronización vertical. | 0 / 1 | 0 |
ShowFps | Mostrar FPS y ping en pantalla. | 0 / 1 | 1 |
StartupDialog | Ventana de inicio para elegir motor y FPS al abrir el juego. | 0 / 1 | 1 |
[Graphics] (gráficos)
| Clave | Qué es | Valores | Por defecto |
|---|---|---|---|
EffectLevel | Límite de efectos de los objetos. | 0 a 4 (4 = todos) | 4 |
Shadows | Sombras. | 0 no; 1 clásicas; 2 reales | 1 |
ShadowStrength | Intensidad de las sombras reales, en %. | 10 a 90, de 10 en 10 | 40 |
Grass | Hierba. | 0 / 1 | 1 |
Fog | Niebla. | 0 / 1 | 1 |
WeatherMode | Clima (lluvia, nieve, hojas). | 0 no; 1 clásico; 2 mejorado | 2 |
ViewDistance | Distancia de vista con la cámara 3D. | 0 normal; 1 lejos; 2 muy lejos | según el preajuste |
Anisotropy | Filtro anisotrópico. Necesita reiniciar. | 0, 2, 4, 8, 16 | 4 |
Mipmaps | Mipmaps. Necesita reiniciar. | 0 / 1 | 1 |
TextureCompression | Compresión de texturas (menos memoria de video). Necesita reiniciar. | 0 / 1 | según el preajuste |
HDTextures | Usar las texturas de Data\HD. Necesita reiniciar. | 0 / 1 | 0 |
Antialiasing | Suavizado de bordes. | 0 no; 1 FXAA; 2 MSAA 4x; 3 MSAA 4x + FXAA | según el preajuste |
Sharpen | Nitidez. | 0 / 1 | 0 |
Bloom | Resplandor. | 0 no; 1 suave; 2 fuerte | según el preajuste |
ColorStyle | Estilo de color. | 0 clásico; 1 vivo; 2 cálido; 3 frío; 4 suave | 0 |
Brightness | Brillo. | -2 a 2 | 0 |
RenderScale | Resolución del mundo, en % de la ventana. | 100, 85, 75, 67, 50 | 100 |
Sky | Cielo. | 0 / 1 | 1 |
SkyDetail | Detalle del cielo. | 0 simple; 1 completo (nubes y estrellas) | según el preajuste |
DayNight | Ciclo de día y noche (si el servidor lo tiene). | 0 / 1 | 1 |
Water | Agua con reflejos y charcos con lluvia. | 0 / 1 | 1 |
DynamicLights | Luces dinámicas. | 0 clásicas; 1 suaves; 2 intensas | según el preajuste |
ModelRounding | Modelos redondeados (experimental). | 0 / 1 | 0 |
[Interface] (interfaz)
| Clave | Qué es | Valores | Por defecto |
|---|---|---|---|
TextSize | Tamaño de letra, en % del automático. | 90, 100, 110, 120, 130 | 100 |
TextStyle | Estilo de letra. | 0 clásicas; 1 suaves | 0 |
WindowsCursor | Cursor. | 0 del juego; 1 de Windows (sigue al ratón sin retraso) | 0 |
PartyHpBar | Vida del grupo. | 0 barras; 1 iconos sobre la cabeza | 1 |
HideMonsterHpBar | Ocultar barras de vida de monstruos. | 0 / 1 | 0 |
HidePlayerHpBar | Ocultar barras de vida de personajes. | 0 / 1 | 0 |
DropBeams | Pilares de luz en los ítems del suelo. | 0 / 1 | 1 |
GuildLogoChat | Logo del gremio en el chat. | 0 / 1 | 1 |
RankOverHead | Título de ranking sobre la cabeza. | 0 / 1 | 1 |
RankNeedAlt | Título de ranking solo con Alt pulsado. | 0 / 1 | 0 |
RankSafeZoneOnly | Título de ranking solo en zona segura. | 0 / 1 | 1 |
RankShowReset | Mostrar resets en el título. | 0 / 1 | 1 |
RankShowMasterReset | Mostrar master resets en el título. | 0 / 1 | 1 |
[Sound], [Game], [Camera], [SettingsFont]
| Sección | Clave | Qué es | Por defecto |
|---|---|---|---|
[Sound] | Sound | Efectos de sonido (0 / 1). | 1 |
[Sound] | Music | Música (0 / 1). | 1 |
[Sound] | SoundVolume | Volumen de efectos, 0 a 10. | 5 |
[Sound] | MusicVolume | Volumen de música, 0 a 10. | 10 |
[Game] | Language | Idioma: el nombre del archivo de Data\IGK\Local\Lang sin .json (Eng, Spn). Necesita reiniciar. | Eng |
[Game] | RememberAccount | Recordar cuenta (solo si EnableRememberAccount = 1). | 1 |
[Camera] | Enabled | Cámara 3D encendida al entrar (F10). | 0 |
[Camera] | Mode | Modo de cámara 3D: 1 clásica, 2 suave, 3 amplia, 4 cinemática (al entrar vuelve como clásica). | 1 |
[Camera] | Saved, Zoom, RotX, RotY | Última vista de la cámara 3D. Las escribe el juego. | — |
[SettingsFont] | font-korean | 1 = usa la fuente Data\Interface\HUD\fonts\fonts_kr.ttf para letras coreanas. | 0 |
[SettingsFont] | font-chinase | 1 = usa fonts_all.ttf y fonts_ch.ttf para letras chinas. | 0 |
La sección [Mobile] (HudScale) solo la usa Android.
Carpeta Data\IGK del cliente
| Carpeta | Qué hay |
|---|---|
Data\IGK\Settings\Interface\ | interface_1.json a interface_5.json: posiciones de la interfaz por tipo. |
Data\IGK\Settings\Resolutions.xml | Lista de resoluciones. |
Data\IGK\Local\Lang\ | Textos del juego por idioma (Eng.json, Spn.json). |
Data\IGK\Custom\Loading\ | Pantallas de carga propias y loading.ini. |
Data\IGK\Custom\Serverlist\ | bg_serverlist.mp4, el video de la lista de servidores. |
Data\IGK\Custom\LOM\ | Imágenes y sonidos del modo MOBA (victoria, derrota). |
Data\IGK\Sounds\ | Sonidos propios (truenos de las tormentas, la foca de Lorencia). |
Data\IGK\RuneEffect\ | Imágenes de los círculos de las runas. |
Data\IGK\Models\ | Modelos propios (la foca de Lorencia). |
Data\IGK\Icons\ | Iconos propios. |
Data\IGK\Cache\ | Archivos temporales que crea el juego. Se pueden borrar. |
Textos e idiomas
Archivos de idioma: Data\IGK\Local\Lang\<idioma>.json
- Todos los textos del juego están en un archivo JSON por idioma, en UTF-8:
"name"(el nombre en la lista de Opciones, por ejemplo"Español") y los textos"txt_0","txt_1"... - Los originales (maestros) están en
MainInfo\Lang\. El juego lee la copia del cliente, enData\IGK\Local\Lang\. - El Encoder no toca estos archivos.
- Si falta un texto, en el juego se ve
txt_N(por ejemplotxt_5108). - Si el archivo del idioma falta o está roto, el juego usa
Eng.json.
Cambiar un texto
- Abre
MainInfo\Lang\Spn.json(o el idioma que sea) con un editor que guarde en UTF-8 (Notepad++, VS Code). - Busca el texto y cámbialo. Respeta los
%d,%sy\n: mismos y en el mismo orden. - Guarda y copia el archivo a
Data\IGK\Local\Lang\del cliente. - Reinicia el juego.
Cuidado con las comillas: dentro de un texto usa \". Una coma de más o de menos rompe el archivo.
Agregar un idioma
- Copia
Eng.jsoncomo<Código>.json(solo letras, por ejemploPor.jsonoFra.json). - Cambia
"name"(por ejemplo"Português") y traduce los textos. - Ponlo en
MainInfo\Lang\y enData\IGK\Local\Lang\del cliente. Aparece solo en Opciones > Juego > Idioma. - Opcional: una carpeta
Data\Local\<Código>\con los archivos de ese idioma (ítems, skills, nombres de NPC). Si no está, se usan los deData\Local\Eng\.
Cambiar el idioma de un jugador
En el juego: Opciones > Juego > Idioma (necesita reiniciar). O en config.ini: [Game] Language=Spn.
Otros textos que no están en el JSON
- Mensajes que manda el servidor: en los archivos del servidor.
- Nombres de ítems, skills y NPC:
Data\Local\<idioma>\(Item.bmd,Skill.bmd,NpcName.txt...). - Origen de los ítems del Gremory Case:
MainInfo\Common\CustomMessageGremory.txt. - El nombre de la ventana:
MainConnect.ini WindowName.
Pantallas de carga propias y logo
Data\IGK\Custom\Loading\ (pantallas de carga)
El juego tiene dos pantallas de carga. Cada una usa tus imágenes si están; si no, la de siempre.
| Pantalla | Imágenes | Qué lleva |
|---|---|---|
| Al abrir el juego | loading_01 a loading_04 (.jpg o .png, 1920x1080; sale una al azar) | Barra de carga, porcentaje, logo y texto de lo que se carga |
| Al entrar al juego con el personaje | loading_game_01 a loading_game_04 (igual) | Logo y un fundido al empezar; sin barra |
Piezas de la barra (en la misma carpeta):
| Archivo | Qué es |
|---|---|
loading_bar_back.png | La barra vacía (en IGK, 1440x60; la ranura empieza en x=120, y=23 y mide 1200x14). |
loading_bar_fill.png | El relleno; se muestra desde la izquierda hasta el porcentaje. |
loading_bar_head.png | Opcional: la punta del relleno. |
loading_digits.png | Los caracteres 0123456789%, cada uno en un cuadro del mismo ancho. |
loading_logo.png | El logo del servidor. Sin el archivo, no hay logo. |
Para poner tu logo: reemplaza loading_logo.png (PNG con transparencia). Para poner tus fondos: reemplaza loading_01.jpg, loading_02.jpg (puedes agregar _03 y _04) y loading_game_01.jpg, loading_game_02.jpg.
loading.ini
Las medidas son píxeles de una pantalla de 1920x1080 (el juego las ajusta a la ventana). Si falta una clave, vale el valor de fábrica.
| Sección | Clave | Qué es | En IGK |
|---|---|---|---|
[Startup] | BarY | Centro de la barra, desde arriba. | 990 |
[Startup] | SlotX, SlotY | Dentro de loading_bar_back.png, dónde empieza la ranura del relleno. | 120, 23 |
[Startup] | DigitGap | Del borde de arriba de la ranura a la línea base del porcentaje. | 17 |
[Startup] | DigitBaseline | Línea base de los números dentro de cada cuadro de loading_digits.png. | 50 |
[Startup] | DigitSpacing | Espacio extra entre caracteres del porcentaje. | 0 |
[Startup] | ParallelLoad | 1 = carga las texturas con varios núcleos (más rápido); 0 = un solo núcleo. | 1 |
[Startup] | Logo, LogoX, LogoBottom | Logo sí/no, su centro horizontal y su borde de abajo. | 1, 960, 925 |
[Game] | Logo, LogoX, LogoBottom | Igual, en la carga al entrar al juego. | 1, 960, 1040 |
[Game] | FadeMs | Fundido al empezar, en milisegundos (0 = sin fundido). | 500 |
[Logo] | Scale | Tamaño del logo en %, en las dos pantallas. | 100 |
[Text] | Show | Texto de lo que se carga ("Cargando ítems custom (812/1430)"): 1 sí, 0 no. | 1 |
[Text] | Counter | 1 = con el conteo de archivos. | 1 |
[Text] | Y, Size | Altura del texto y tamaño de letra. | 1030, 20 |
[Text] | Font, Bold, Color | Letra de Windows, negrita (1/0) y color R, G, B. | Arial, 1, 235 225 205 |
Las frases de cada parte de la carga ("Cargando ítems custom"...) están en el archivo de idioma.
loading_profile.txt y loading_files.txt los escribe el juego en cada carga para saber de antemano cuánto falta. Se pueden borrar sin problema.
Logos del login y de las capturas
- Logo de MU en el login:
Data\Logo\MU-logo.tga(el juego abre el.OZTdel mismo nombre) yMU-logo_g.jpg. - Logo en las capturas de pantalla:
Data\Interface\HUD\MU-logo.OZT, activado conMainInfo.ini [Custom] PrintLogo.
Video de la lista de servidores
- Activar:
MainInfo\MainInfo.ini [Custom] ServerListVideo = 1, correr el Encoder. - Archivo:
Data\IGK\Custom\Serverlist\bg_serverlist.mp4en el cliente. Se ve en bucle detrás de la lista de servidores y del login, en lugar del mapa deSceneLogin. - Su audio suena en lugar de la música del login, al volumen de música de Opciones.
- Se ajusta a la ventana recortando lo que sobra. Recomendado: H.264, 1920x1080 (IGK se probó con un video así a 30 fps).
- Si el archivo falta o no se puede reproducir, queda el mapa con su música.
- En PC necesita Windows 8 o más nuevo.
- Para cambiarlo: reemplaza
bg_serverlist.mp4con tu video (mismo nombre).
Texturas HD (IgkGamers HD Tools)
Cómo funcionan las texturas HD
- Las texturas HD están en
Data\HD\del cliente, con la misma ruta y nombre que la original (por ejemploData\HD\World1\TileGrass01.jpgparaData\World1\TileGrass01.OZJ). - Las originales no se tocan.
- El jugador las activa en Opciones > Gráficos > Texturas > "Texturas HD" (o
config.ini [Graphics] HDTextures=1) y reinicia. Esa casilla solo aparece si el cliente tiene la carpetaData\HD. - Una HD debe medir de 1 a 8 veces la original y tener el mismo dibujo.
- Para quitar las HD del cliente: borra
Data\HD(oHDTextures=0). - Memoria de video: a x2 cada textura ocupa 4 veces más. Con "Compresión de texturas" activada se ve igual de nítido con mucha menos memoria. En gráficas con poca memoria conviene usar las dos cosas juntas.
IgkGamers HD Tools paso a paso
Programa: HDTools\IgkGamersHDTools.exe (Windows 10 u 11 de 64 bits). Para el método con IA necesita una tarjeta gráfica con Vulkan y la carpeta realesrgan junto al .exe.
- Doble clic en
IgkGamersHDTools.exe. - Carpeta Data del cliente: elige la carpeta
Datade tu cliente (con Examinar...). - La lista muestra cada carpeta con texturas, cuántas ya están en HD y cuántas faltan. Marca las que quieras. También puedes arrastrar carpetas o archivos a la ventana.
- Elige:
- Método: IA (recomendado: agrega detalle) o Simple (solo agranda).
- Escala: x2 (recomendado) o x4 (4 veces más memoria que x2).
- Rehacer las que ya están en HD: sin marcar, solo hace las que faltan (puedes parar y seguir otro día).
- Convertir. Muestra el avance y el tiempo. Detener para; lo hecho se queda.
- Prueba en el juego con "Texturas HD" activado.
Otros botones:
| Botón | Qué hace |
|---|---|
| Revisar | Comprueba las HD: avisa las que el juego no usaría (sin original, tamaño incorrecto, archivo ilegible, a medias). Ofrece pasar las TGA a PNG (ocupan la mitad). |
| Quitar HD... | Manda a la papelera las HD de las carpetas marcadas. |
| Paquete celular... | Arma el paquete para celulares (ver abajo). |
| Abrir Data\HD | Abre la carpeta en el Explorador. |
Tiempos de referencia con IA a x2 (gráfica de gama media): unas 4 texturas por segundo; Lorencia unos 2 minutos; unas 7.600 texturas (mapas, personajes, armas, monstruos e interfaz) en media hora.
No convierte texturas de menos de 8 píxeles, de más de 1024, .OZT sin transparencia ni los datos del mapa (TerrainLight, TerrainHeight).
Retocar a mano: las HD son JPEG o PNG normales. Puedes editarlas en Photoshop o GIMP con el mismo nombre, carpeta y dibujo, de 1 a 8 veces el tamaño original. Luego usa Revisar.
Paquete para celular (HDTools\Mobile)
Paquete celular... arma siempre en HDTools\Mobile\:
Mobile\Data: copia deDatacon las texturas del mundo comprimidas para celular (archivos.ktxen lugar de la original). La usa el cliente web en el celular.Mobile\data.zip: lo mismo comprimido; es lo que descarga la app de Android.
La interfaz va sin comprimir (para que se lea bien). Data\HD no va en el paquete. Al rehacerlo solo procesa lo nuevo o cambiado. El cliente de PC no usa este paquete. Detalles de publicación en 09_ANDROID.md y 10_WEB.md.
Línea de comandos de HD Tools
| Comando | Qué hace |
|---|---|
IgkGamersHDTools -list "C:\Cliente\Data" | Lista carpetas y cuántas HD tienen. |
IgkGamersHDTools -convert "C:\Cliente\Data" World3 Object3 Item | Convierte esas carpetas. |
IgkGamersHDTools -convert "C:\Cliente\Data" -all -x4 -redo | Todo, a x4, rehaciendo. |
IgkGamersHDTools -convert "C:\Cliente\Data" Interface -simple | Sin IA. |
IgkGamersHDTools -check "C:\Cliente\Data" -all -compact | Revisa y pasa TGA a PNG. |
IgkGamersHDTools -remove "C:\Cliente\Data" Object3 | Quita las HD de esa carpeta. |
IgkGamersHDTools -mobile "C:\Cliente\Data" | Arma el paquete del celular. |
En cmd usa start /wait IgkGamersHDTools ... para esperar a que termine.
Problemas comunes
"Data\MainInfo.igk - Archivo dañado." al abrir el juego
El MainInfo.igk no corresponde a ese Main.exe (por ejemplo, se actualizó el cliente y no el Encoder, o al revés), o el archivo se copió mal. Corre el Encoder de la misma versión que el Main.exe y copia el MainInfo.igk nuevo.
"Data\MainInfo.igk - No se encuentra el archivo"
Falta Data\MainInfo.igk en el cliente. Corre el Encoder y cópialo.
"Data\Local\TextInfo.igk - ¡no está o no es válido!"
Falta o está roto Data\Local\TextInfo.igk. Corre el Encoder y cópialo.
Cambié MainInfo.ini y no pasa nada
- No corriste el Encoder, o copiaste el
.igka otra carpeta. RevisaPathExportyEncoder.log. - La clave está comentada como
MIGRATED to the player's config.ini: ahora se cambia en Opciones del jugador. - El jugador tiene un cliente viejo: hay que repartirle el
MainInfo.igknuevo.
Un texto se ve como "txt_1234"
Falta ese texto en el archivo de idioma del jugador (Data\IGK\Local\Lang\<idioma>.json). Agrégalo (copia la línea de Eng.json y tradúcela).
Todo el juego sale en inglés aunque elegí Español
El archivo Spn.json del cliente está roto (por ejemplo, falta una coma) o falta. Revisa el JSON en un validador; MuError.log puede indicar la línea.
La interfaz se ve rara después de editar interface_N.json
Vuelve a poner el valor de fábrica copiándolo de MainInfo\Interface\reference_N.json, o borra la línea (lo que falta usa el valor de fábrica).
Una imagen de Overrides no se usa
Debe tener el mismo nombre, la misma ruta y la misma medida (ancho, alto y canales) que la original de Season 6. Si no, el juego usa la original.
No aparece la casilla "Texturas HD" en Opciones
El cliente no tiene la carpeta Data\HD. Conviértelas con HD Tools.
Preguntas frecuentes
P: ¿Dónde cambio la IP del servidor en el cliente?
R: En MainInfo\MainConnect.ini, clave IpAddress (y IpAddressPort si cambiaste el puerto del ConnectServer). Luego corre Encoder.exe y reparte el Data\Local\Connect.igk nuevo.
P: ¿Dónde cambio el nombre de la ventana del juego?
R: MainInfo\MainConnect.ini, clave WindowName. Corre el Encoder.
P: Los jugadores no pueden entrar: dice error de versión. ¿Qué reviso?
R: Que ClientVersion y ClientSerial de MainConnect.ini sean iguales a ServerVersion y ServerSerial de GameServerInfo - Common.dat del GameServer y del GameServerCS. Después corre el Encoder y reparte el Connect.igk.
P: ¿Cómo cambio la interfaz del juego (Season 6, Season 1, Legends...)?
R: MainInfo\MainInfo.ini [Interface] LookAndFeel (0 Season 6, 1 Season 1, 2 Season 2/3, 3 Ex700, 4 Legends). Corre el Encoder y reinicia el juego. El 5 está incompleto.
P: ¿Cómo muevo el chat, el minimapa o un orbe de la barra?
R: En Data\IGK\Settings\Interface\interface_N.json del cliente (N = tu LookAndFeel). Guarda con el juego abierto y se mueve en un segundo. Season 6 (tipo 0) no tiene archivo.
P: ¿Cómo pongo mi logo en la pantalla de carga?
R: Reemplaza Data\IGK\Custom\Loading\loading_logo.png por tu logo en PNG. El tamaño se ajusta con loading.ini [Logo] Scale.
P: ¿Cómo cambio el video de la lista de servidores?
R: Reemplaza Data\IGK\Custom\Serverlist\bg_serverlist.mp4 por tu video (mismo nombre, H.264). Debe estar ServerListVideo = 1 en MainInfo.ini.
P: ¿Cómo traduzco o cambio un texto del juego?
R: Edita MainInfo\Lang\<idioma>.json en UTF-8, respetando %d y %s, y copia el archivo a Data\IGK\Local\Lang\ del cliente. No hace falta el Encoder.
P: ¿Puedo limitar los FPS de todos los jugadores desde MainInfo.ini?
R: No. FpsRenderMax ya no se lee. Cada jugador elige su límite en Opciones > Pantalla (config.ini [Display] FpsLimit).
P: ¿Cómo activo el ciclo de día y noche?
R: Se enciende en el servidor (DayNightSwitch y claves DayNight en GameServerInfo - Common.dat). En el cliente, cada mapa lo sigue si tiene DayNight = 1 en MainInfo\Map\CustomSky.txt.
P: ¿Cómo agrego un ítem nuevo al cliente?
R: Pon el modelo en Data\Item\ y sus texturas en Data\Item\Texture\, agrégalo a Item.bmd del cliente y a Item.txt del servidor, y agrega su fila en MainInfo\Item\CustomItem.txt (y su posición en CustomItemPosition.txt). Corre el Encoder.
P: ¿Cómo quito las clases Summoner y Rage Fighter de la creación de personaje?
R: MainInfo.ini [Custom] RemoveClass = 2. Corre el Encoder.
P: ¿Por qué el menú F4 no muestra "Banco de ítems" o "Misiones"?
R: "Banco de ítems" necesita EnableJewelOfInventory = 1. Recompensa diaria, Gremory Case, Misiones y Pase de temporada solo aparecen si el servidor los tiene activados.
P: ¿Debo incluir mi config.ini en el cliente que reparto? R: No. Lleva tus gustos (motor, resolución, cámara). Sin él, el juego crea uno con valores por defecto para cada jugador.
P: ¿Las texturas HD son obligatorias?
R: No. Son opcionales: cada jugador las activa en Opciones. Si no quieres repartirlas (pesan unos 580 MB), quita la carpeta Data\HD del cliente.