Cómo correr el cliente de MU Online en Wine/Linux
Haz que el Main.exe de MU Online corra en Linux con Wine, prefijos aislados, DXVK y las bibliotecas correctas, resolviendo pantalla negra, error de DirectX y fallo de conexión paso a paso.
Correr el cliente de MU Online en Linux es totalmente viable gracias a Wine, que traduce las llamadas de la API de Windows a Linux sin emular una PC entera. El resultado, cuando está bien configurado, es un cliente con FPS cercano al nativo. El camino tiene trampas conocidas — pantalla negra por Dir
Correr el cliente de MU Online en Linux es totalmente viable gracias a Wine, que traduce las llamadas de la API de Windows a Linux sin emular una PC entera. El resultado, cuando está bien configurado, es un cliente con FPS cercano al nativo. El camino tiene trampas conocidas — pantalla negra por DirectX antiguo, falta de bibliotecas de runtime, fallo de conexión por red e incompatibilidad de anticheat — y este tutorial recorre cada una con un prefijo Wine aislado, DXVK y las dependencias correctas. Como siempre en el universo MU, las versiones de cliente difieren, así que todos los nombres de paquete, versiones y rutas aparecen como ejemplo y varían según season/cliente y según la distribución Linux.
Requisitos previos
Esta guía se enfoca en el lado del cliente y asume que existe un servidor accesible al cual conectar. Si todavía vas a montar el servidor, mira cómo crear un servidor de MU Online y vuelve para poner el cliente en Linux. Correr el cliente bajo Wine sin tener a dónde conectar solo esconde la mitad de los problemas (los de red) hasta demasiado tarde.
| Requisito | Detalle (ejemplo — varía según season/cliente y distro) |
|---|---|
| Distribución Linux | Ubuntu/Debian, Fedora, Arch o derivadas |
| Wine | Versión estable reciente (stable/staging) |
| winetricks | Para instalar runtimes y componentes |
| GPU con Vulkan | Para usar DXVK (driver Mesa/NVIDIA actualizado) |
| Cliente de MU completo | El mismo paquete que correría en Windows |
| Acceso al servidor | IP/puerto abiertos, cliente ya patcheado |
El requisito silencioso es la GPU con Vulkan. Es lo que habilita DXVK, que a su vez resuelve la mayor parte de los problemas gráficos del cliente. Sin Vulkan quedas atado a la implementación D3D nativa de Wine, que suele ser justamente donde la pantalla negra aparece en clientes antiguos.
Etapa 1 — Instalar Wine y herramientas
Paso 1 — Instalar Wine y winetricks
En distribuciones basadas en Debian/Ubuntu, habilita la arquitectura de 32 bits (los clientes de MU suelen ser x86) e instala:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install --install-recommends wine winetricks
En Arch:
sudo pacman -S wine winetricks wine-mono
Confirma la versión:
wine --version
> Prefiere Wine estable reciente. Versiones muy antiguas en las distribuciones LTS pueden carecer de mejoras de DirectX que el cliente necesita. Si hace falta, agrega el repositorio oficial de WineHQ para obtener una versión más nueva sin esperar a la distro.
Etapa 2 — Crear un prefijo aislado
Un "prefijo" (WINEPREFIX) es un directorio que simula una instalación Windows separada, con su propio C:\, registro y bibliotecas. Aislar MU en un prefijo propio evita que los ajustes para él rompan otros programas Wine y facilita tirar todo y empezar de nuevo cuando algo sale mal.
Paso 2 — Crear el prefijo de 32 bits
export WINEPREFIX="$HOME/.mu-online"
export WINEARCH=win32
wineboot --init
Esto crea ~/.mu-online con un árbol Windows limpio. Usa WINEARCH=win32 si el cliente es de 32 bits (la mayoría); solo usa win64 si tienes certeza de un cliente de 64 bits.
> Siempre exporta el WINEPREFIX antes de correr wine, winetricks o el cliente. Un comando sin esa variable cae en el prefijo predeterminado ~/.wine y "desaparece" con tu configuración. Un script wrapper que exporta la variable y llama al cliente elimina ese error.
Etapa 3 — Instalar dependencias con winetricks
Los clientes de MU dependen de componentes que Wine no trae por defecto. Instálalos en el prefijo de MU.
Paso 3 — Componentes básicos
WINEPREFIX="$HOME/.mu-online" winetricks -q d3dx9 vcrun2019 corefonts
| Componente | Para qué sirve (ejemplo) |
|---|---|
d3dx9 | Bibliotecas auxiliares de DirectX 9 (efectos, texturas) |
vcrun2019 | Runtime de Visual C++ que el binario exige |
corefonts | Fuentes para que los textos de la interfaz no desaparezcan |
d3dx8 | Algunos clientes antiguos usan D3D8 |
Qué conjunto exacto depende de la season. Los clientes más antiguos pueden pedir d3dx8; los clientes con launcher .NET pueden pedir dotnet. La regla práctica: si algo no abre, el log de Wine (Etapa 6) dice qué DLL faltó, y tú instalas el componente correspondiente.
Etapa 4 — Instalar DXVK (el paso que resuelve la pantalla negra)
La implementación D3D nativa de Wine (WineD3D) funciona, pero en clientes antiguos suele dar pantalla negra, artefactos o FPS bajo. DXVK traduce Direct3D a Vulkan y normalmente lo resuelve de una vez.
Paso 4 — Aplicar DXVK en el prefijo
Descarga DXVK y ejecuta el script de instalación apuntando al prefijo:
WINEPREFIX="$HOME/.mu-online" ./setup_dxvk.sh install
Esto sustituye las DLLs d3d9/d3d8/dxgi por versiones DXVK dentro del prefijo. Reinicia el cliente después. Si la GPU y el driver soportan Vulkan, la diferencia suele ser inmediata: sale la pantalla negra, entra el menú de login.
> Confirma Vulkan antes con vulkaninfo | head. Si no hay dispositivo Vulkan, actualiza el driver (Mesa para AMD/Intel, driver propietario para NVIDIA). Sin Vulkan, DXVK no funciona y necesitas resolverlo con WineD3D y ajustes de renderizado.
Etapa 5 — Correr el cliente
Paso 5 — Ejecutar el Main.exe
cd "/caminho/para/MUClient"
WINEPREFIX="$HOME/.mu-online" wine Main.exe
Si el cliente exige iniciar por un launcher (común para verificación de versión y parche), apunta Wine al launcher en vez del Main.exe directo. Algunos launchers antiguos en .NET piden dotnet vía winetricks para abrir.
Paso 6 — Script wrapper recomendado
Para no escribir todo cada vez y evitar correr en el prefijo equivocado, crea un jogar-mu.sh:
#!/usr/bin/env bash
export WINEPREFIX="$HOME/.mu-online"
export WINEARCH=win32
export DXVK_HUD=fps # muestra FPS; quítalo después si molesta
cd "$HOME/MUClient" || exit 1
exec wine Main.exe
chmod +x jogar-mu.sh
./jogar-mu.sh
Etapa 6 — Diagnosticar problemas por el log
Cuando algo no abre, el log de Wine apunta el motivo. Ejecuta con canales útiles activados:
WINEPREFIX="$HOME/.mu-online" WINEDEBUG=err+all wine Main.exe 2> mu.log
Después busca en el mu.log líneas con err: y Module not found. Una DLL faltante aparece explícitamente y dice qué componente instalar vía winetricks. Errores de red (connection refused, WSAECONNREFUSED) apuntan a firewall/puerto, no a gráfico.
Etapa 7 — Red y conexión
Un cliente que abre pero no loguea generalmente choca con la red, no con Wine.
- Firewall de Linux. Confirma que el firewall local (ufw, firewalld) no bloquee los puertos de salida del ConnectServer/GameServer (ej.:
44405,55901— varía según season). - IP/puerto correctos en el cliente. El
Main.exebajo Wine usa la misma configuración de IP/puerto que usaría en Windows. Un cliente apuntado a127.0.0.1solo conecta si el servidor está en la propia máquina. - Resolución de DNS. Si el cliente conecta por dominio, asegúrate de que Linux resuelva ese dominio (prueba con
ping/getent hosts). - Anticheat. Las protecciones en kernel-mode no corren bajo Wine y pueden bloquear la sesión en el handshake. Confirma con el administrador si el servidor acepta clientes Wine.
Etapa 8 — Steam Deck / Proton
El Steam Deck usa Proton, que es Wine con DXVK y ajustes empaquetados. Para correr el cliente ahí: agrega el Main.exe como juego no-Steam, fuerza una versión de Proton en las propiedades e inicia. En modo escritorio, valen los mismos pasos de prefijo, winetricks y DXVK de este tutorial. Los principios no cambian; solo el empaquetado.
Errores comunes y soluciones
| Síntoma | Causa probable | Solución |
|---|---|---|
| Pantalla negra tras el splash | D3D antiguo en WineD3D | Instalar DXVK; confirmar Vulkan |
| "Módulo no encontrado" al abrir | Runtime/DLL ausente | Ver mu.log; instalar componente vía winetricks |
| Textos/menús invisibles | Fuentes faltantes | winetricks corefonts |
| Abre pero no conecta | Firewall/puerto o IP equivocado | Abrir puertos de salida; verificar IP/puerto del cliente |
| FPS muy bajo | Sin DXVK o driver antiguo | Instalar DXVK; actualizar driver de la GPU |
| El cliente cae en el handshake | Anticheat kernel-mode | Confirmar con admin si acepta Wine |
| Config "desaparece" entre ejecuciones | WINEPREFIX no exportado | Usar script wrapper que exporte la variable |
| Launcher .NET no abre | Falta runtime .NET en el prefijo | winetricks dotnetXX correspondiente |
Buenas prácticas
Trata el prefijo como descartable: como todo lo de MU está aislado en ~/.mu-online, cuando algo se enreda demasiado es más rápido borrar el prefijo y recrearlo que cazar el estado corrupto. Documenta exactamente qué componentes de winetricks necesita tu cliente — así otros jugadores Linux de tu comunidad reproducen el setup en minutos. Y mantén el driver de video actualizado, porque la mayor parte de las ganancias de rendimiento y estabilidad bajo DXVK vienen del driver Vulkan, no de Wine en sí.
Lista de verificación de lanzamiento
- Wine estable reciente instalado (con i386 habilitado si el cliente es de 32 bits)
- winetricks instalado
- Prefijo aislado creado (
WINEPREFIXdedicado,WINEARCHcorrecto) - Componentes del cliente instalados (d3dx9, vcrun, corefonts, etc.)
- Vulkan confirmado (
vulkaninfo) - DXVK aplicado en el prefijo
- El cliente abre en el menú de login sin pantalla negra
- Script wrapper que exporta
WINEPREFIXcreado - Puertos de salida abiertos en el firewall de Linux
- IP/puerto del cliente verificados
- Compatibilidad de anticheat confirmada con el administrador
- FPS medido y aceptable (DXVK_HUD)
- Lista de dependencias documentada para la comunidad Linux
- Procedimiento de recrear el prefijo desde cero probado
Preguntas frecuentes
¿Wine es un emulador?
No, y eso importa para el rendimiento. Wine significa Wine Is Not an Emulator: en vez de emular hardware, traduce llamadas de la API de Windows a equivalentes de Linux en tiempo real. Por eso el rendimiento suele ser cercano al nativo, distinto de una máquina virtual que emula una PC entera. Para el cliente de MU, eso significa FPS generalmente bueno cuando el gráfico está resuelto con DXVK.
¿Necesito una copia de Windows para usar Wine?
No. Wine reimplementa las APIs de Windows desde cero, así que no exige ninguna licencia ni instalación de Windows. Solo necesitas Wine y el propio cliente de MU. Componentes adicionales como fuentes, DirectX o runtimes se instalan vía winetricks cuando un juego específico los necesita.
¿DXVK ayuda en el cliente de MU?
Suele ayudar bastante. El cliente de MU usa DirectX (D3D8/D3D9 según la versión), y la implementación nativa de Wine para D3D antiguo a veces causa pantalla negra, artefactos o bajo FPS. DXVK traduce Direct3D a Vulkan y frecuentemente resuelve esos problemas y mejora la tasa de cuadros, siempre que la GPU y el driver soporten Vulkan.
¿El anticheat del servidor me dejará jugar en Wine?
Depende del servidor. Anticheats que corren en kernel-mode generalmente no funcionan bajo Wine y pueden bloquear el cliente. Protecciones más ligeras, en user-mode, suelen funcionar. Como muchos servidores privados de MU usan protección en user-mode, el cliente frecuentemente corre, pero confirma con el administrador antes de invertir tiempo, porque un handshake o driver anticheat puede bloquear la sesión.
¿Puedo usar la misma técnica en Steam Deck?
Sí, en esencia. El Steam Deck usa Proton, que es un Wine con DXVK y ajustes empaquetados por Valve. Puedes agregar el Main.exe como juego no-Steam y forzar una versión de Proton, o correr Wine directamente en modo escritorio. Los mismos principios de prefijo aislado, bibliotecas de DirectX y DXVK se aplican.