Guía: Instalar y usar ProtonHax en Manjaro (con Cheat Engine + Mod Engine 3)
-
Guía: Instalar y usar ProtonHax en Manjaro (con Cheat Engine + Mod Engine 3)
Esta guía explica cómo instalar ProtonHax, para qué sirve, y cómo usarlo para correr Cheat Engine dentro del mismo prefix de Proton que usa un juego de Steam — incluyendo el caso especial de ELDEN RING NIGHTREIGN lanzado a través de Mod Engine 3 (me3).
1. ¿Qué es ProtonHax y por qué lo necesito?
Cuando juegas un título de Steam con Proton en Linux, el juego corre dentro de su propio prefix (una especie de "instalación de Windows virtual" aislada, ligada a un
STEAM_COMPAT_DATA_PATHy unAppIDespecífico).El problema: si quieres usar una herramienta externa como Cheat Engine para leer la memoria del proceso del juego, esa herramienta también tiene que correr dentro del mismo prefix y con el mismo entorno (mismo Proton, mismo
compatdata, mismoAppId). Si la abres por fuera, Cheat Engine no va a poder "ver" ni adjuntarse correctamente al proceso del juego.ProtonHax resuelve esto: te deja lanzar programas adicionales (como Cheat Engine) dentro del prefix activo de un juego que ya tienes corriendo, usando el mismo entorno de Proton que usa Steam.
2. Requisitos previos
- Manjaro actualizado (
sudo pacman -Syu) - Steam instalado y con el juego ya descargado
- Proton (el que uses, ej. Proton - Experimental o el de tu versión) configurado como compatibility tool del juego
- Cheat Engine para Windows, instalado dentro del prefix de Wine/Proton correspondiente (vía
cheatengine-x86_64.exe) ~/.local/bindebe estar en tuPATH(revisa conecho $PATH; si no está, agrégalo a tu.bashrco.zshrc)
3. Instalación de ProtonHax
# 1. Copiar el binario/script de protonhax a tu carpeta local de binarios de usuario cp protonhax ~/.local/bin/protonhax # 2. Darle permisos de ejecución chmod +x ~/.local/bin/protonhaxCon esto,
protonhaxqueda disponible como comando en tu terminal (siempre que~/.local/binesté en elPATH).Verificar que funciona
protonhax lsEste comando lista los juegos/procesos con prefixes activos que ProtonHax puede detectar en ese momento. Importante: para que aparezca algo aquí, el juego tiene que estar corriendo ya (o haber sido iniciado con
protonhax init, ver más abajo).
4. Configurar el juego en Steam para usar ProtonHax
En las opciones de lanzamiento del juego (clic derecho al juego → Propiedades → Opciones de lanzamiento), pones:
protonhax init %COMMAND%Esto hace que, cada vez que Steam lance el juego, en realidad lo lance a través de ProtonHax, registrando el prefix y el AppID como "activo" para que después puedas engancharte a él con otra herramienta.
5. Correr Cheat Engine dentro del prefix del juego
Una vez el juego está corriendo (lanzado con
protonhax init %COMMAND%desde Steam), abres Cheat Engine dentro de ese mismo prefix con:protonhax run 0 "/home/joseam/.wine-che/drive_c/Program Files/Cheat Engine/cheatengine-x86_64.exe"Explicación:
run 0→ el0es el índice del juego/prefix activo (el que te mostróprotonhax ls). Si tienes más de un juego corriendo con protonhax, cada uno tiene su propio índice.- La ruta después es la ubicación del ejecutable de Cheat Engine dentro del prefix de Wine/Proton donde lo instalaste.
Esto abre Cheat Engine ya con el mismo entorno (variables de Proton, mismo
compatdata) que el juego, para que al buscar procesos puedas adjuntarte correctamente y leer la memoria.Alternativa: lanzar Cheat Engine manualmente con Proton (sin protonhax run)
También se puede lanzar directamente indicando las variables de entorno a mano, sin pasar por
protonhax run:STEAM_COMPAT_CLIENT_INSTALL_PATH="$HOME/.local/share/Steam" \ STEAM_COMPAT_DATA_PATH="$HOME/.local/share/Steam/steamapps/compatdata/2622380" \ "$HOME/.local/share/Steam/steamapps/common/Proton - Experimental/proton" run \ "/home/joseam/.wine/drive_c/Program Files/Cheat Engine/cheatengine-x86_64.exe"Qué hace cada parte:
STEAM_COMPAT_CLIENT_INSTALL_PATH→ le dice a Proton dónde está instalado Steam.STEAM_COMPAT_DATA_PATH→ apunta alcompatdataespecífico del AppID (en este caso2622380, que es el prefix del juego). Esto es lo que garantiza que Cheat Engine "viva" en el mismo entorno virtual que el juego."Proton - Experimental/proton" run "...cheatengine-x86_64.exe"→ le dice a ese Proton específico que ejecute Cheat Engine como si fuera parte de ese mismo juego.
Este método hace básicamamente lo mismo que
protonhax run, pero de forma manual y explícita — útil siprotonhax lsno detecta el proceso, o para entender qué está pasando debajo del capó.
6. Caso especial: juegos lanzados con Mod Engine 3 (me3) — ej. NIGHTREIGN
Algunos juegos (como ELDEN RING NIGHTREIGN) no se lanzan directo desde el ejecutable del juego, sino a través de Mod Engine 3, que a su vez inyecta mods/perfiles y luego lanza el juego real. Esto añade una capa extra: si pones
protonhax init %COMMAND%directo en Steam, technically el%COMMAND%que Steam pasa ya no es el ejecutable del juego, sino el de me3 — así que hay que envolver todo en un script propio.Por eso se creó
starter.sh:#!/bin/bash export SteamAppId=2622380 export SteamGameId=2622380 export SteamOverlayGameId=2622380 export STEAM_COMPAT_DATA_PATH="$HOME/.local/share/Steam/steamapps/compatdata/2622380" protonhax init me3 launch -p "/home/joseam/.config/me3/profiles/Boss-Weapons/BossWeapons.me3"Explicación línea por línea
Línea Qué hace export SteamAppId=2622380Le dice al proceso qué AppID de Steam corresponde (NIGHTREIGN). Muchos juegos revisan esta variable para activar funciones ligadas a Steam (logros, overlay, DRM, etc). export SteamGameId=2622380Variable similar/complementaria, usada por Steam/Proton para identificar el juego. export SteamOverlayGameId=2622380Asegura que el overlay de Steam se enganche al AppID correcto, aunque el proceso real que arranca sea el de me3.export STEAM_COMPAT_DATA_PATH=...Fija explícitamente el prefix ( compatdata/2622380) que se debe usar — el mismo que usa el juego normalmente. Esto es clave para que todo (juego + me3 + luego Cheat Engine) comparta el mismo prefix.protonhax init me3 launch -p "...BossWeapons.me3"En vez de inicializar el juego directamente, inicializa me3, pasándole el perfil de mods ( BossWeapons.me3) que se quiere cargar.me3es quien internamente arranca el ejecutable real del juego con esos mods activos.Cómo usarlo
- Guarda el script como
starter.sh(por ejemplo en la carpeta del juego o en~/.local/bin). - Dale permisos de ejecución:
chmod +x starter.sh - En las opciones de lanzamiento de Steam para NIGHTREIGN, en vez de
protonhax init %COMMAND%, pones:
(Steam solo necesita ejecutar el script; ya no hace falta que pase/ruta/completa/a/starter.sh%COMMAND%porque el script mismo arma el comando de me3.) - Lanza el juego desde Steam normalmente. Esto arranca
me3, que a su vez arranca NIGHTREIGN con el perfil de mods, todo dentro del prefixcompatdata/2622380y registrado en ProtonHax. - Con el juego ya corriendo, confirma que aparece:
protonhax ls - Abre Cheat Engine dentro de ese mismo prefix:
(ajusta el índiceprotonhax run 0 "/home/joseam/.wine-che/drive_c/Program Files/Cheat Engine/cheatengine-x86_64.exe"0según lo que muestreprotonhax ls) - En Cheat Engine, al abrir la lista de procesos, ahora deberías poder ver y adjuntarte al proceso del juego (NIGHTREIGN), porque comparte el mismo entorno/prefix.
7. Resumen rápido (TL;DR)
# Instalar protonhax cp protonhax ~/.local/bin/protonhax chmod +x ~/.local/bin/protonhax # Opciones de lanzamiento en Steam (juegos normales): protonhax init %COMMAND% # Opciones de lanzamiento en Steam (juegos con me3, ej. NIGHTREIGN): /ruta/a/starter.sh # Ver prefixes/juegos activos protonhax ls # Abrir Cheat Engine dentro del prefix del juego activo (índice 0) protonhax run 0 "/ruta/al/cheatengine-x86_64.exe"
8. Problemas comunes
protonhax: command not found→ revisa que~/.local/binesté en tuPATH(echo $PATH), o usa la ruta completa~/.local/bin/protonhax.protonhax lsno muestra nada → el juego no se lanzó conprotonhax init, o el scriptstarter.shno se está usando como opción de lanzamiento correctamente.- Cheat Engine abre pero no ve el proceso del juego → confirma que Cheat Engine está instalado en el mismo prefix (
STEAM_COMPAT_DATA_PATH) que el juego, no en un.winedistinto sin relación. - El juego no arranca con
starter.sh→ verifica que la ruta al perfil.me3sea correcta y queme3esté instalado/en elPATHque usa el script.
Guía elaborada a partir de configuración probada para ELDEN RING NIGHTREIGN (AppID 2622380) con Mod Engine 3 y ProtonHax en Manjaro.
- Manjaro actualizado (
-
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login