IGK Emulator

Cliente en el navegador

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

Este documento explica la versión web de IGK Emulator: el mismo juego de PC corriendo en el navegador, sin instalar nada. Primero lo que tiene que montar el dueño (página, WebPacker, WebBridge, certificado, Cloudflare), después lo que tiene que saber el jugador, y al final los problemas comunes.

Qué es el cliente web

  • Es el mismo cliente de PC, de la misma versión, corriendo dentro del navegador con WebGPU (los gráficos de la tarjeta de video desde el navegador).
  • Se juega en el mismo servidor y con los mismos personajes que PC y Android.
  • En una PC se ve la interfaz de PC (mouse y teclado). En un celular (pantalla táctil sin mouse) la página usa sola la versión para celular, con la interfaz táctil de la app de Android.
  • La primera vez descarga unos 125-130 MB (en el celular, unos 93 MB). Después todo queda guardado en el navegador y entra casi sin descargar.

Qué necesita el dueño

Son tres piezas:

PiezaQué esDónde va
La página (carpeta site)La página del juego: index.html, el juego (Main.js, Main.wasm, Main-mobile.js, Main-mobile.wasm), los datos (data\) y el .htaccessUn servidor web con HTTPS: el mismo VPS (Apache/XAMPP) o un hosting aparte (cPanel/LiteSpeed u otro)
WebBridge (MuServer\WebBridge\WebBridge.exe)El "puente": el navegador no puede abrir conexiones TCP, así que se conecta por WebSocket al puente, y el puente se conecta al ConnectServer y a los GameServerEl VPS de los servidores, junto al ConnectServer y los GameServer
Los servidoresConnectServer, GameServer, GameServerCS de la misma versión que el WebBridgeEl VPS

Además, lo recomendado:

  • Un dominio (por ejemplo en Cloudflare) con HTTPS para la página.
  • Para la página en un hosting aparte: un subdominio para el puente (por ejemplo juego.tudominio.com) con certificado Let's Encrypt (gratis, con win-acme): la "conexión directa" wss://.

La web toma del cliente de PC lo mismo que el PC: versión, serial y el puerto del ConnectServer del MainInfo (IpAddressPort). La IP del MainInfo no la usa: el puente siempre se conecta a los servidores de su propia máquina.

Opción A: la página en el mismo VPS (Apache / XAMPP)

  1. En C:\xampp\apache\conf\httpd.conf, quitar el # de delante de estas líneas y reiniciar Apache:
    LoadModule headers_module modules/mod_headers.so
    LoadModule rewrite_module modules/mod_rewrite.so
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

    La carpeta de la página tiene que tener AllowOverride All (XAMPP ya lo trae para htdocs).

  2. Abrir MuServer\WebBridge\WebBridge.exe. En su WebBridge.ini: AllowedOrigins = https://tudominio.com.
  3. En Web\WebPacker.ini: BridgeIP = 127.0.0.1 (el puente está en la misma máquina). Ejecutar WebPacker.exe.
  4. Copiar site a una carpeta propia dentro de htdocs, por ejemplo C:\xampp\htdocs\jugar (la página queda en https://tudominio.com/jugar/):
    robocopy <carpeta Web>\site C:\xampp\htdocs\jugar /MIR

    /MIR borra los paquetes viejos que ya no se usan. Cuidado: borra en el destino todo lo que no está en site. Nunca usarlo sobre htdocs entero si ahí está la web del servidor (registro, ranking).

  5. Cloudflare: el dominio apuntando al VPS con la nube naranja. SSL/TLS: "Flexible" si Apache no tiene certificado, "Full" si lo tiene.
  6. Firewall del VPS: abierto el 80 (y el 443 con "Full"). El puerto del puente (44480) no hace falta abrirlo: la página llega al puente por Apache.

Opción B: la página en un hosting (cPanel / LiteSpeed) con conexión directa (recomendada)

Con la página en un hosting compartido, lo recomendado es que el navegador se conecte directo al puente del VPS por wss://, sin pasar por el hosting. Así un reinicio del servidor del hosting (LiteSpeed lo hace seguido) o de Cloudflare no desconecta a todos los jugadores a la vez.

  1. Configurar la puerta segura del WebBridge (ver "Puerta segura wss:// con Let's Encrypt").
  2. En Web\WebPacker.ini: BridgeURL = wss://juego.tudominio.com/ (con :8443 al final del dominio si el puerto no es 443).
  3. Ejecutar WebPacker.exe.
  4. Subir el contenido de site al hosting (por FTP o el administrador de archivos), en una carpeta propia.
  5. AllowedOrigins del WebBridge.ini = la dirección de la página (https://tudominio.com).

Con conexión directa el hosting solo tiene que permitir las cabeceras del .htaccess (mod_headers); no necesita el proxy de WebSockets.

Opción C: la página en un hosting, por el proxy del hosting (sin wss directo)

Funciona, pero un reinicio del hosting corta a todos los jugadores web. Solo si el hosting permite en el .htaccess mod_headers y el proxy de WebSockets (mod_proxy, mod_proxy_http, mod_proxy_wstunnel, la regla [P]). Muchos hostings compartidos no lo permiten: preguntarlo antes de contratar.

  1. En WebPacker.ini: BridgeIP = la IP del VPS y BridgePort = el puerto del puente (44480). Ejecutar WebPacker.exe (escribe la regla en site\.htaccess) y subir site al hosting.
  2. En el VPS: abrir el puerto del puente (44480) en el firewall.
  3. Abrir la página una vez. La consola del puente muestra la IP del hosting entre corchetes. Ponerla en TrustedProxies del WebBridge.ini y reiniciar el puente.
  4. AllowedOrigins = la dirección de la página (https://tudominio.com), no la IP del hosting.

WebPacker (Web\WebPacker.exe)

WebPacker arma los datos de la página (site\data) desde el cliente de PC. Después de cualquier cambio en el cliente (textos, ítems, mapas, MainInfo), la web queda igual que el PC.

Archivos de la carpeta Web

ArchivoQué es
site\La página: es lo que se sube al servidor web
WebPacker.exeArma site\data desde el cliente de PC. Doble clic; al terminar, la ventana espera Enter
WebPacker.iniConfiguración de WebPacker (tabla abajo)
boot_files.txtLos archivos que el juego lee al arrancar (ver "Arranque")
LEEME.txtInstrucciones

WebPacker.ini: opciones

Ruta: Web\WebPacker.ini, sección [WebPacker]. Las carpetas pueden ser relativas a WebPacker.exe o completas (C:\...).

ClaveQué haceValor típico
ClientLa carpeta del cliente de PC (su Data es lo que va a la web)..\Client
SiteLa carpeta de la página, donde se escriben data\manifest.json y los paquetessite
TitleNombre del servidor en la pestaña del navegador y en la página. Vacío = el WindowName del MainInfo (MainInfo\MainConnect.ini al lado del cliente)MiServidor MU
BridgeIPDónde está el WebBridge, visto desde el servidor web de la página (se escribe en site\.htaccess). 127.0.0.1 = la página en el mismo VPS que el puente. La IP del VPS = la página en un hosting aparte (opción C)127.0.0.1
BridgePortEl puerto del WebBridge (Port de WebBridge.ini)44480
BridgeURLLa dirección wss:// del puente para la conexión directa (opción B). Vacío = por bridge/ de la página (usa BridgeIP/BridgePort)wss://juego.tudominio.com/
HD1 = las texturas HD del cliente (Data\HD) también van a la web; cada jugador las enciende con el botón HD. 0 = sin HD (unos 560 MB menos en el hosting)1
MobileEl paquete de celular de IgkGamers HD Tools. Vacío = el celular usa los datos de PC..\HDTools\Mobile

El ícono de la pestaña es site\favicon.ico: se puede reemplazar por otro .ico.

Línea de comandos de WebPacker

En vez del .ini se puede usar:

WebPacker.exe <carpeta del cliente> <carpeta de la página> [--boot lista] [--title nombre] [--hd 0|1] [--mobile carpeta]

Cuándo ejecutar WebPacker

CasoQué hacer
Cambiaste algo del cliente (textos, ítems, mapas, MainInfo)1) Cambiar el cliente de PC (y correr Encoder.exe si fue el MainInfo). 2) WebPacker.exe. 3) Subir site
Recibiste una versión nueva del juegoReemplazar en site los archivos nuevos (Main.js, Main.wasm, Main-mobile.js, Main-mobile.wasm, index.html, data_loader.js), ejecutar WebPacker.exe y subir site. La web y el PC tienen que ser de la misma versión
Cambiaste WebPacker.iniEjecutar WebPacker.exe y subir site (al menos index.html y .htaccess)
  • Solo vuelve a empaquetar lo que cambió (unos segundos) y los jugadores solo bajan eso; el navegador borra solo lo viejo.
  • WebPacker pone en el index.html el nombre del servidor y la versión de cada archivo del juego. Así ni el navegador ni Cloudflare siguen usando el juego anterior y nadie tiene que borrar la caché. Sin ejecutar WebPacker, eso no pasa.

La carpeta site: qué se sube

ContenidoQué es
index.htmlLa página (pantalla de inicio con el botón Jugar)
Main.js, Main.wasmEl juego para PC
Main-mobile.js, Main-mobile.wasmEl juego para celular
data_loader.jsDescarga y guarda los datos en el navegador
data\manifest.json, data\packs\Los datos del juego en paquetes .bin (comprimidos)
data\packs\hd\Las texturas HD (solo con HD = 1)
data\mobile\Las texturas de celular (solo con Mobile)
.htaccessCabeceras COOP/COEP, caché y la regla del puente
favicon.ico, icon.png, manifest.webmanifestÍcono de la pestaña y de la "app" en el celular

En el hosting ocupa aproximadamente: PC ~1 GB, HD ~560 MB más, celular ~180 MB más.

Arranque (boot_files.txt, opcional)

Antes de que empiece el juego, la página baja los archivos de boot_files.txt (lo que el juego lee hasta la ventana de cuenta). Lo demás lo baja cuando el juego lo abre. Si agregaste cosas que se cargan al arrancar (ítems, alas, personajes), el juego funciona igual, pero el arranque tarda más. Para medir la lista de tu cliente:

  1. Abrir https://tudominio.com/jugar/?logfiles y esperar a la ventana de cuenta.
  2. Clic en "Guardar boot_files.txt" (arriba a la derecha): se descarga.
  3. Ponerlo en lugar del boot_files.txt de la carpeta Web, ejecutar WebPacker.exe y subir site.

WebBridge (MuServer\WebBridge)

El puente entre el navegador y los servidores. Va en la misma máquina que el ConnectServer y los GameServer: escucha en todas las direcciones de la máquina y se conecta a los servidores en 127.0.0.1. Es una consola; su registro queda en LOG\WebBridge_AAAA-MM-DD.txt.

WebBridge.ini: opciones

Ruta: MuServer\WebBridge\WebBridge.ini, sección [Bridge]. Después de cambiarlo, reiniciar el puente.

ClaveQué haceEn los archivos que vienen con IGK
PortPuerto del puente (el que usa la página por bridge/)44480
ServerPortsPuertos del ConnectServer y de los GameServer (los de ServerList.dat), separados por coma; inicio-fin para varios seguidos. El puente no se conecta a ningún otro puerto44405, 55901-55919
AllowedOriginsLas páginas que pueden usar el puente (https://tudominio.com), separadas por coma. Vacío = cualquier páginavacío
MaxConnectionsPerIpConexiones a la vez de un mismo jugador (cada uno usa una o dos)10
TrustedProxiesSolo con la página en un hosting por proxy (opción C): la IP del hostingvacío
TlsPortPuerto de la puerta segura wss:// (443, u 8443 si el 443 está ocupado). 0 = sin ella0
CertificateNameEl dominio del puente (juego.tudominio.com): su certificado se busca en el almacén de certificados de Windows del equipovacío
CertificateFile / CertificatePasswordEn vez de CertificateName: un archivo .pfx al lado del puente y su clavevacío

Lo único que casi siempre hay que revisar: ServerPorts (que estén todos tus puertos) y AllowedOrigins (tu dominio exacto, con https:// y sin / al final).

Puerta segura wss:// con Let's Encrypt (win-acme)

Desde la versión del 23-10-2026 el puente tiene su propia puerta segura. El navegador se conecta directo al VPS y el puente ve la IP real de cada jugador sin TrustedProxies.

  1. DNS en Cloudflare: un registro A, por ejemplo juego, con la IP del VPS y el proxy apagado (nube gris, "DNS only"). Con la nube naranja no funciona.
  2. Certificado con win-acme (https://www.win-acme.com, el .zip "x64 pluggable"): descomprimirlo en el VPS, abrir wacs.exe como administrador y elegir:
    • M (Create certificate, full options) > 2 (Manual input) > escribir juego.tudominio.com.
    • Validación "Serve verification files from memory" (necesita el puerto 80 del VPS abierto y libre). Si Apache/XAMPP usa el 80, elegir "Save verification files on (network) path" con la carpeta htdocs.
    • Clave RSA > almacén "Windows Certificate Store (Local Computer)" > sin pasos de instalación.
    • win-acme deja una tarea que renueva el certificado cada ~2 meses. El puente toma el nuevo solo (lo busca cada 6 horas), sin reiniciarlo.
  3. WebBridge.ini: TlsPort = 443 (u 8443 si el 443 está ocupado) y CertificateName = juego.tudominio.com. Abrir ese puerto en el firewall del VPS.
  4. Abrir WebBridge.exe como administrador (la clave del certificado solo la leen los administradores). La consola dice TLS: certificate ... y Listening on port 443 ... (wss://, straight from the browsers). Si algo falta, dice qué.
  5. AllowedOrigins = la dirección de la página.
  6. En WebPacker.ini: BridgeURL = wss://juego.tudominio.com/, ejecutar WebPacker.exe y subir el index.html nuevo.

Para probar antes de cambiar a todos: abrir la página con ?bridge=wss://juego.tudominio.com/ al final de la dirección.

La puerta de siempre (Port, ws://) sigue funcionando para la página por bridge/ (si BridgeURL queda vacío).

La IP real de cada jugador web

  • Los servidores ven a cada jugador web con su IP real, como a los de PC y Android: MaxIpConnection, la lista negra, el antiflood, los logs y los bans por IP funcionan por jugador.
  • El puente le pasa la IP del jugador al ConnectServer y al GameServer. Los servidores solo aceptan ese dato de 127.0.0.1 (el puente de la misma máquina): nadie de afuera puede inventarse una IP.
  • En los logs: el ConnectServer muestra Player <IP> through the proxy 127.0.0.1 y el GameServer lo mismo.
  • Con la página en un hosting por proxy (opción C), hace falta TrustedProxies = IP del hosting. Sin eso, todos los jugadores web llegan con la IP del hosting y los límites por IP los tratan como uno solo.
  • Un cliente de PC abierto en el propio VPS tiene que conectarse a la IP pública del VPS, no a 127.0.0.1 (127.0.0.1 está reservado para el puente).
  • Si pones un proxy o anti-DDoS delante de los servidores para PC y Android, tiene que mandar el PROXY protocol (v1) y hay que agregar ProxyAddress = 127.0.0.1, <IP del proxy> en ConnectServer.ini ([ConnectServerInfo]) y en GameServerInfo - Common.dat.

Cabeceras COOP/COEP y caché (.htaccess)

El juego necesita que el servidor web mande dos cabeceras (Cross-Origin-Opener-Policy y Cross-Origin-Embedder-Policy); sin ellas el navegador no deja correr el juego. Las pone el .htaccess que viene en site:

  • Requiere mod_headers y que el servidor lea el .htaccess (AllowOverride All en Apache; LiteSpeed lo lee).
  • Los paquetes .bin se guardan un año en el navegador y en Cloudflare (cada versión nueva tiene otro nombre). La página, el juego y la lista de datos se revisan en cada visita.
  • Sin las cabeceras, la página dice: "La página necesita las cabeceras COOP/COEP."

Cloudflare

QuéCómo
Dominio de la páginaNube naranja (proxy) sirve. WebSockets viene activado
Subdominio del puente (wss:// directo)Nube gris ("DNS only"). Con la nube naranja no funciona
CachéNo hace falta ninguna regla: Cloudflare guarda los .bin solo. Los .js los guarda 4 horas en el navegador del jugador: por eso hay que ejecutar WebPacker después de cada versión nueva (pone la versión en la dirección de cada archivo)
SSL/TLS (página en el VPS)"Flexible" si Apache no tiene certificado, "Full" si lo tiene

Texturas HD (botón HD)

Si el cliente de PC tiene Data\HD (IgkGamers HD Tools) y HD = 1 en WebPacker.ini, la web también las trae, apagadas por defecto: la primera visita baja solo lo normal.

  • Encenderlas: botón "HD" al lado de la "M" de la barra de arriba a la izquierda (o Opciones > Gráficos > "Texturas HD"). El juego avisa que hay que recargar la página (F5 o el botón "Recargar ahora").
  • Con HD baja unos 125 MB más al empezar y el resto mientras se juega. Usa ~1 GB más de memoria de video.
  • Apagarlas: el mismo botón y recargar. Recomendado en PC con gráfica integrada o poca memoria.
  • Con HD = 0 el botón no aparece.
  • Lo que elige cada jugador queda guardado en su navegador.
  • No hay HD en la versión para celular.

Versión para celulares

La página trae dos versiones del juego y elige sola:

  • En una PC: la de siempre (Main.js / Main.wasm).
  • En un celular (pantalla táctil sin mouse): la de celular (Main-mobile.js / Main-mobile.wasm), con la interfaz táctil de la app de Android: joystick, espada, 5 skills, menú, teclado del celular.
  • Para forzar una u otra: ?mobile=1 o ?mobile=0 al final de la dirección.

Datos de celular (recomendado):

  1. En HDTools, IgkGamersHDTools.exe > "Paquete celular" (queda en HDTools\Mobile).
  2. En WebPacker.ini: Mobile = ..\HDTools\Mobile.
  3. Ejecutar WebPacker.exe y subir site.
  • Lo que es igual en PC y celular se comparte; solo las texturas de celular (ETC2) van aparte, en site\data\mobile (~180 MB más en el hosting).
  • El celular baja ~93 MB la primera vez (contra ~125 de PC) y usa mucha menos memoria de video.
  • La primera vez que se pone Mobile, cada jugador web vuelve a bajar sus datos una vez.
  • Si el cliente cambió después de armar el paquete, WebPacker avisa "el paquete de celular esta desactualizado": volver a hacer "Paquete celular" y ejecutar WebPacker otra vez. Mientras tanto, el celular usa los archivos de PC.
  • Sin Mobile, el celular usa los datos de PC (funciona, pero gasta más memoria).

En el celular:

  • Android: al tocar "Jugar" la página pasa a pantalla completa y en horizontal.
  • Con el celular vertical aparece "Gira el teléfono: el juego va en horizontal".
  • iPhone: una página no puede ponerse en pantalla completa ni girar sola. La página aconseja Compartir > "Agregar a inicio": así se abre como una app, en pantalla completa, y Safari no borra los datos.

El juego necesita WebGPU.

Navegador¿Funciona?
Chrome (PC)Sí
Edge (PC)Sí
Firefox (PC)Sí
Safari (Mac)Por confirmar (Safari 26 tiene WebGPU)
Chrome de AndroidSí, Android 12 o más nuevo con una gráfica que tenga WebGPU (la mayoría de los celulares con Qualcomm/Adreno o Mali)
Safari de iPhone / iPadSí desde iOS 26 (todavía en pruebas). Con iOS más viejo no
Firefox de AndroidNo, todavía no tiene WebGPU. Usar Chrome
Otros basados en Chrome (Opera, Brave, Samsung Internet)Probable, por confirmar
Navegadores dentro de otras apps (WhatsApp, Instagram, Facebook)No recomendado: abrir el enlace en Chrome o Safari

Si el navegador no sirve, la página lo dice antes de descargar nada: "Este navegador no puede ejecutar el juego (no tiene WebGPU)".

Pestaña en segundo plano, reconexión y salida

  • Pestaña en segundo plano o navegador minimizado (PC): el juego sigue corriendo en segundo plano (más lento) para no desconectarse.
  • Celular: si el navegador pasa mucho tiempo en segundo plano, el sistema puede cerrar la pestaña o el juego puede perder la gráfica ("Se perdió la gráfica (WebGPU). Recarga la página."): recargar.
  • Reconexión: si se corta la conexión, la web vuelve a intentar a los 3 segundos y vuelve a entrar con la cuenta.
  • Salir: "Salir del juego" vuelve a la pantalla de "Jugar" de la página.
  • Al cerrar o recargar la pestaña dentro del juego, el navegador pregunta antes.

Lo que se guarda en el navegador

  • Los datos del juego (para no volver a bajarlos).
  • Las opciones del jugador, las cuentas guardadas y el identificador de equipo (HWID).
  • Otro navegador u otra PC tienen otro HWID. Borrar los datos del sitio en el navegador borra todo eso y vuelve a descargar.
  • Safari borra los datos de un sitio tras 7 días sin entrar, salvo que esté agregado a inicio.

Diagnóstico (Ctrl+Shift+D)

En la página, Ctrl+Shift+D (o el botón "Guardar diagnóstico" de la pantalla de inicio, que sale después de una sesión: sirve en el celular) guarda un archivo de texto con la consola, el Log/MuError.log del juego (en la web va legible: la consola del navegador ya muestra cada línea) y los datos de la descarga. Es lo que hay que pedirle al jugador cuando reporta un error en la web.

Para el jugador

Cómo entrar

  1. Abrir la dirección del juego que da el servidor en Chrome, Edge o Firefox actualizados (en el celular: Chrome de Android o Safari de iPhone).
  2. Tocar "Jugar".
  3. La primera vez descarga los datos (la pantalla dice cuántos MB y cuánto falta). Las siguientes veces entra casi sin descargar.
  4. Elegir el servidor, entrar con la cuenta y jugar igual que en PC.

La primera carga

  • La pantalla de inicio dice cuántos MB se descargan la primera vez.
  • Después de entrar, la página sigue bajando el resto de los datos en segundo plano para que no haya tirones al cambiar de mapa (no lo hace con el modo de ahorro de datos del navegador). Los primeros minutos puede haber pequeños tirones al ver monstruos o mapas nuevos.
  • Si entre la selección de personaje y el juego faltan datos, sale "Descargando datos del juego... N%" con una barra.
  • El sonido y la música empiezan después del primer clic o toque (regla de los navegadores).
  • El idioma de la página sigue el del navegador (español o inglés). El idioma del juego se elige en Opciones > Juego > Idioma (la primera vez, inglés).

Botón HD

El botón "HD" al lado de la "M" (arriba a la izquierda) enciende o apaga las texturas HD. Pide recargar la página. Solo en PC y si el servidor publicó las HD.

Controles en el celular

Los mismos de la app de Android (ver 09_ANDROID.md, "La interfaz táctil"): joystick a la izquierda, botón de ataque con 5 skills alrededor e interruptor de la espada, pociones Q W E R, botones Menú, Personaje, Inventario, Mover, Chat y Tienda. El teclado del celular aparece al tocar un cuadro de texto. El botón "Atrás" del celular es el "Atrás" del juego.

Problemas comunes

SíntomaCausaSolución
"La página necesita las cabeceras COOP/COEP"Falta mod_headers o el servidor no lee el .htaccessActivar mod_headers y AllowOverride All; comprobar que el .htaccess se subió (es un archivo oculto: algunos programas de FTP no lo suben)
"Este navegador no puede ejecutar el juego (no tiene WebGPU)"Navegador viejo o sin WebGPU (Firefox de Android, iOS anterior a 26, navegador dentro de una app)Usar Chrome, Edge o Firefox actualizados en PC; Chrome en Android 12+; Safari en iOS 26+
"No se encontró una tarjeta de video que el navegador pueda usar"Drivers viejos o la aceleración por hardware del navegador apagadaActualizar el navegador y los drivers; en Chrome/Edge, Configuración > Sistema > activar "Usar aceleración de gráficos"
Pantalla negra en el juegoSe perdió la gráfica, o archivos de la página de versiones distintasRecargar. Dueño: subir todos los archivos de la versión nueva y ejecutar WebPacker. Ctrl+Shift+D para el diagnóstico
Se queda en "Iniciando..." (o "Starting...")En iPhone/Safari: versión de la página anterior al 26-10-2026. También archivos de versiones mezcladas, o poca memoria del celularDueño: subir la versión nueva completa y ejecutar WebPacker. Jugador: cerrar otras pestañas y recargar
Llega a la lista de servidores pero no conectaEl puente está cerrado; AllowedOrigins no es el dominio exacto; el puerto no está en ServerPorts; faltan los módulos proxy de Apache; el hosting no permite el proxyRevisar la consola del puente: refused (page not allowed: ...) = copiar esa dirección en AllowedOrigins; server not allowed = agregar el puerto en ServerPorts. Con hosting compartido, usar la conexión directa wss://
No conecta con BridgeURL (wss directo)Nube naranja en el subdominio del puente, firewall sin el TlsPort, puente sin permisos de administrador, certificado no encontradoNube gris; abrir el puerto; abrir WebBridge.exe como administrador; leer lo que dice la consola al arrancar
Todos los jugadores web se desconectan a la vezLa página en un hosting con LiteSpeed (cPanel) que se reinicia y corta todas las conexiones que pasan por élUsar la conexión directa wss:// al VPS (nube gris en Cloudflare, BridgeURL). La web vuelve a entrar sola a los 3 segundos
Todos los jugadores web tienen la misma IP en el servidor / el límite por IP los bloqueaPágina en un hosting por proxy sin TrustedProxiesPoner la IP del hosting en TrustedProxies, o usar la conexión directa wss://
Los jugadores siguen viendo la versión viejaNo se ejecutó WebPacker después de copiar los archivos nuevosEjecutar WebPacker.exe y subir site (al menos index.html)
En el celular, la lista de servidores no respondeEl ConnectServer cierra a quien pasa más de 5 minutos en la lista; las versiones anteriores al 26-10-2026 no reconectabanActualizar la página a la versión nueva; mientras tanto, recargar
WebPacker dice que no está la carpeta Data del clienteClient mal en WebPacker.iniCorregir la carpeta del cliente
WebPacker avisa "el paquete de celular esta desactualizado"El cliente cambió después de armar el paquete de celularHD Tools > "Paquete celular" y WebPacker otra vez
Tirones al caminar los primeros minutosLa página todavía está bajando datos de monstruos y mapasEsperar a que termine la descarga en segundo plano; la segunda visita ya no pasa

Preguntas frecuentes

P: ¿Qué necesito para tener la versión web? R: Un servidor web con HTTPS para la página (el mismo VPS con Apache/XAMPP o un hosting), el WebBridge.exe abierto en el VPS de los servidores y, si la página está en un hosting, un subdominio con certificado para la conexión directa wss://.

P: ¿Sirve un hosting cPanel compartido? R: Sí, para la página. Con la conexión directa wss:// al puente del VPS el hosting solo tiene que permitir las cabeceras del .htaccess. Sin conexión directa necesita el proxy de WebSockets, que muchos hostings no permiten.

P: Cambié ítems o textos en el cliente. ¿Qué hago con la web? R: Ejecuta WebPacker.exe y sube la carpeta site. Solo se rehace lo que cambió y los jugadores solo bajan eso.

P: ¿Tengo que configurar la IP del servidor en la web? R: No. El puente se conecta a los servidores de su propia máquina. La web usa del MainInfo solo la versión, el serial y el puerto del ConnectServer, que tiene que estar en ServerPorts del WebBridge.ini.

P: ¿Qué pongo en AllowedOrigins? R: La dirección de tu página tal como sale en el navegador: https://tudominio.com (con https://, sin / al final). No pongas una IP. Si no coincide, la consola del puente muestra la dirección que llegó: cópiala.

P: ¿Por qué se desconectan todos los jugadores web al mismo tiempo? R: Casi siempre es el servidor del hosting (LiteSpeed) que se reinicia y corta todas las conexiones. Usa la conexión directa wss:// al VPS (subdominio con nube gris en Cloudflare y BridgeURL en WebPacker).

P: ¿El servidor ve la IP real de los jugadores web? R: Sí. Los límites por IP, bans y logs funcionan igual que con PC y Android. Con la página en un hosting por proxy hace falta poner la IP del hosting en TrustedProxies.

P: ¿Cuánto descarga un jugador la primera vez? R: Unos 125-130 MB en PC y unos 93 MB en el celular (la página lo dice antes de "Jugar"). Con HD encendido, unos 125 MB más.

P: ¿Funciona en iPhone? R: Sí, en Safari con iOS 26 o más nuevo (todavía en pruebas). Conviene "Compartir > Agregar a inicio" para pantalla completa y para que Safari no borre los datos.

P: ¿Se desconecta si el jugador cambia de pestaña? R: En PC no: el juego sigue corriendo en segundo plano. En el celular, si el navegador pasa mucho tiempo en segundo plano, puede cerrar la pestaña.

P: ¿Cómo enciendo las texturas HD en la web? R: Con el botón "HD" al lado de la "M" arriba a la izquierda, y recargar la página. Solo aparece si el dueño publicó las HD (HD = 1).

P: ¿El certificado de Let's Encrypt hay que renovarlo a mano? R: No. win-acme lo renueva solo cada ~2 meses y el puente toma el nuevo sin reiniciarlo.

P: Un jugador reporta un error en la web. ¿Qué le pido? R: Que presione Ctrl+Shift+D en la página: descarga un archivo de diagnóstico con la consola y el MuError.log. Y qué navegador y equipo usa.

P: ¿Puedo cambiar el nombre y el ícono de la pestaña? R: El nombre en Title de WebPacker.ini (vacío = el WindowName del MainInfo). El ícono es site\favicon.ico. Después, ejecutar WebPacker y subir.

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