IGK Emulator

Archivos cifrados

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

Este documento explica cómo proteger los archivos exclusivos del cliente del juego (un mapa nuevo, un set, ítems, monstruos, player.bmd, texturas HD...) para que otro servidor no pueda copiarlos y usarlos.

Para la licencia, ver 18_LICENCIA.md. Para el Encoder y MainConnect.ini, ver 08_CLIENTE_PC_Y_ENCODER.md.


Qué hace

  • Cada licencia tiene sus propias llaves. Un archivo cifrado con la llave de tu licencia solo se abre jugando en tu servidor.
  • Si otro servidor copia tus archivos cifrados a su cliente, no abren.
  • Las herramientas públicas de MU no pueden abrir un archivo cifrado.
  • Un archivo cifrado que alguien modifica se rechaza: el juego no lo carga.
  • Puedes cifrar cualquier archivo del cliente, o solo los que quieras. Los archivos cifrados y los normales conviven sin problema.
  • Funciona igual en PC, Android y el navegador.

Lo normal es cifrar solo lo exclusivo: el juego carga igual de rápido y el cliente pesa casi lo mismo. Cifrar el cliente entero suma unos 0,3 segundos al arranque.


Qué necesitas

  1. Una licencia de IGKEmulator con el plugin opt_encrypt (pídelo al equipo IGK).
  2. Los servidores, el Main y el Encoder de la misma versión de IGK.

Paso a paso

  1. Baja tu llave.
    • En el panel, entra a tu licencia.
    • En "Llaves de archivos (cifrado)", pulsa "Crear la llave" (solo la primera vez).
    • Después, "Descargar IGKEncrypt.key".
  2. Pon la llave en el Encoder. Copia IGKEncrypt.key en la carpeta del Encoder (MainInfo\), al lado de Encoder.exe. Siempre tiene ese nombre: si bajas otra, reemplaza el archivo.
  3. Pon los archivos a cifrar.
    • La primera vez que abres el Encoder se crea la carpeta MainInfo\Encrypt\ con Input y Output.
    • Copia en Encrypt\Input los archivos que quieras cifrar, con la misma ruta que en el cliente. Por ejemplo: Encrypt\Input\Data\World100\... o Encrypt\Input\Data\Item\MiSet01.bmd.
  4. Activa el cifrado en el cliente. En MainInfo\MainConnect.ini, sección [MainInfo]:
    EncryptedFiles = 1
  5. Abre Encoder.exe. Además de los .igk de siempre, cifra todo lo de Encrypt\Input en Encrypt\Output, con las mismas rutas. En Encoder.log dice cuántos archivos cifró.
  6. Copia Encrypt\Output sobre la carpeta del cliente. Reemplaza los archivos normales por los cifrados.
  7. Arma lo de siempre con ese cliente: el cliente de PC, el data.zip de Android, la web (WebPacker) y el patcher.

Guarda siempre tus originales. El Encoder nunca toca Encrypt\Input, pero no hay forma de volver a sacar un original desde un archivo cifrado.


Cómo trabaja el Encoder

  • Nunca pide rutas: usa siempre IGKEncrypt.key de su carpeta, y Encrypt\Input → Encrypt\Output.
  • Si Encrypt\Input está vacío, no hace nada (lo normal si no usas cifrado).
  • Lo que no cambiaste no se vuelve a cifrar, así el patcher no hace bajar todo de nuevo a los jugadores.
  • Lo que borras de Input se borra de Output.
  • Estos archivos nunca se cifran, aunque los pongas en Input (se copian tal cual):
    • los .igk del Encoder (Connect.igk, MainInfo.igk, TextInfo.igk);
    • el video de la lista de servidores (.mp4);
    • los que escribe el propio juego: config.ini, Macro.txt y la lista de carga;
    • las carpetas de la tienda del juego (InGameShopScript, InGameShopBanner), que se bajan mientras se juega.

Llave nueva

  • En el panel, "Llave nueva" crea otra llave para tu licencia. Baja de nuevo IGKEncrypt.key y reemplázalo en la carpeta del Encoder.
  • Lo que cifres desde ahora usa la llave nueva. Lo que ya cifraste sigue abriendo: no hace falta cifrar todo de nuevo.
  • Al cambiar de llave, el Encoder vuelve a cifrar todo lo de Input con la nueva.
  • Úsala si crees que tu llave se filtró.

EncryptedFiles: 0 o 1

ValorQué pasa
0 (lo normal)El juego no consulta nada al abrir. Úsalo si no tienes archivos cifrados.
1Al abrir, el juego pide la llave a tu servidor antes de cargar. Obligatorio si tienes archivos cifrados, sobre todo para la web.

Después de cambiarlo, corre el Encoder y reparte el Connect.igk nuevo.


Problemas comunes

El jugador veQué pasaSolución
"No se puede conectar con el servidor para abrir los archivos del juego. ¿Reintentar?"El cliente tiene archivos cifrados y el servidor no responde.Revisa que el ConnectServer esté abierto y que la IP de MainConnect.ini sea la correcta.
"...la licencia del servidor no tiene el cifrado habilitado"La licencia no tiene el plugin opt_encrypt.Pide el plugin al equipo IGK.
"...el servidor todavía no tiene sus llaves"La licencia no tiene llaves, o el servidor todavía no las recibió.Crea la llave en el panel y reinicia el ConnectServer.
"El archivo ... está dañado, fue modificado o es de otro servidor"Ese archivo cifrado fue tocado, o se cifró con la llave de otra licencia.El jugador vuelve a bajar el cliente. Si es tuyo: cífralo de nuevo con tu IGKEncrypt.key.
El Encoder dice "falta IGKEncrypt.key"Encrypt\Input tiene archivos y no hay llave en la carpeta del Encoder.Baja la llave del panel y ponla al lado de Encoder.exe.

Preguntas frecuentes

¿Tengo que cifrar todo el cliente? No. Cifra solo lo exclusivo: lo que te costó hacer o comprar.

¿Puedo compartir IGKEncrypt.key? No. Con esa llave se pueden abrir tus archivos. No la pongas nunca en el cliente del juego.

¿Afecta a los FPS? No. Solo suma un poco al tiempo de carga, y casi nada si cifras solo lo exclusivo.

¿El cliente de Android y la web también? Sí. Usa los archivos cifrados de Encrypt\Output para armar el data.zip de Android y para WebPacker. La web necesita EncryptedFiles = 1.

¿Es imposible de copiar? Ninguna protección es imposible de romper. El cifrado impide que otro servidor copie tus archivos y los use, y que se abran con las herramientas de MU.

¿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: