Skip to content

Latest commit

 

History

History
341 lines (265 loc) · 16 KB

File metadata and controls

341 lines (265 loc) · 16 KB

Victoria 3 DLC Unlocker para macOS

Versión 5.0.0 — motor modular, CreamAPI v5.3.0.0, desbloqueo completo de DLC, multijugador compatible

License: MIT Platform Game

🌍 Idiomas: English | Русский | Deutsch | Français | Español | 中文


⚠️ Aviso legal y advertencia

Solo con fines educativos. Úsalo bajo tu propia responsabilidad.

  • Debes poseer una copia legítima de Victoria 3 en Steam. Esta herramienta no descarga ningún DLC — solo cambia el estado de propiedad del contenido DLC que ya está presente en tus archivos del juego.
  • Usar un desbloqueador de DLC infringe el Acuerdo de Suscriptor de Steam y el CLUF de Paradox. En principio, esto puede provocar un baneo/suspensión de la cuenta (VAC). Victoria 3 no tiene servidores protegidos por VAC, así que el riesgo práctico es bajo, pero no es nulo — lo aceptas tú mismo.
  • Los autores no se responsabilizan de ninguna consecuencia. Si disfrutas del juego, compra los DLC y apoya a Paradox Interactive.

📖 Descripción

Un desbloqueador de DLC para Victoria 3 en macOS. Utiliza CreamAPI v5.3.0.0 para desbloquear la propiedad de los DLC de un juego que posees legítimamente en Steam.

Cómo funciona

La herramienta instala la libsteam_api.dylib de CreamAPI (un proxy que se coloca delante de la biblioteca real de Steam) en binaries/victoria3.app/Contents/Frameworks/, hace copia de seguridad del original como libsteam_api_o.dylib y escribe un cream_api.ini. Al iniciar, el juego pregunta a Steam qué DLC posees; CreamAPI responde «sí» a cada DLC desbloqueado mientras retransmite todo lo demás al Steam real — por eso el multijugador sigue funcionando.

Durante la instalación, la herramienta lee los metadatos game/dlc/*.dlc del propio juego y escribe una lista [dlc] explícita (unlockall = false). Construida a partir del contenido que ya tienes, esta lista es completa y funciona sin conexión tras el primer arranque, sin depender de la lista de DLC en tiempo de ejecución de Steam. Se reconstruye en cada instalación: tras añadir contenido nuevo, basta con reinstalar. Si no se encuentran metadatos de DLC, recurre a unlockall = true (Steam resuelve la lista en línea).

Características

  • Multijugador compatible (CreamAPI retransmite al Steam real)
  • ✅ Desbloqueo completo de DLC — lista explícita a partir de tu propio contenido game/dlc/ (segura sin conexión), reconstruida en cada instalación
  • ✅ Detección automática de la instalación de Victoria 3 (disco interno y unidades externas)
  • ✅ Copia de seguridad segura del original; desinstalación limpia y reversible
  • ✅ Comando status no modificante para comprobar lo que está instalado
  • ✅ Binario universal verificado por suma de comprobación (segmentos Intel y Apple Silicon)

📋 Requisitos

Plataformas compatibles

Victoria 3 solo distribuye una versión de macOS compatible con Metal. El desbloqueador funciona allí donde funciona el juego:

Plataforma Estado
Apple Silicon (M1–M4), macOS 11+ ✅ Compatible (el juego corre nativo arm64)
Mac Intel con GPU AMD dedicada ⚠️ Puede funcionar; no compatible oficialmente con el juego
Mac Intel con gráficos Intel integrados ❌ No compatible con Victoria 3 (requisito de Paradox)

La libsteam_api.dylib incluida es un binario universal (fat) con segmentos x86_64 y arm64, por lo que el desbloqueador en sí nunca fuerza Rosetta 2. La limitación de plataforma anterior es de Victoria 3, no del desbloqueador.

Prerrequisitos

  • Un Mac que cumpla los requisitos de macOS de Victoria 3 (Apple Silicon recomendado)
  • Victoria 3, comprado legítimamente en Steam
  • Los archivos de contenido de los DLC (deben estar ya presentes — esta herramienta no los descarga)
  • Se recomiendan las Xcode Command Line Tools (xcode-select --install) para codesign/xattr

🚀 Instalación

Resumen — tres comandos y luego inicia el juego:

git clone https://github.com/KyLaEga/Victoria3-DLC-Unlocker-macOS.git
cd Victoria3-DLC-Unlocker-macOS
./install_dlc_unlocker.sh

Paso a paso

  1. Asegúrate primero de que el contenido de los DLC esté en su sitio. La carpeta game/dlc/ de tu juego ya debe contener los paquetes DLC (la herramienta desbloquea la propiedad, no descarga el contenido). Si está vacía, consulta ¿Dónde consigo los archivos de contenido de los DLC? más abajo.

  2. Clona o descarga este repositorio:

    git clone https://github.com/KyLaEga/Victoria3-DLC-Unlocker-macOS.git
    cd Victoria3-DLC-Unlocker-macOS
  3. Ejecuta el instalador:

    ./install_dlc_unlocker.sh

    Es un envoltorio fino sobre ./bin/unlocker install vic3. La herramienta verifica la biblioteca incluida, detecta automáticamente tu instalación de Victoria 3 (disco interno y unidades externas), hace copia de seguridad del original como libsteam_api_o.dylib, instala CreamAPI, construye la lista de DLC explícita a partir de tu contenido game/dlc/ y vuelve a firmar el resultado en modo ad-hoc para el Gatekeeper de macOS.

    Si tu juego está en una ubicación inusual, apunta la herramienta directamente:

    ./bin/unlocker install vic3 --path "/Volumes/My Drive/SteamLibrary/steamapps/common/Victoria 3"
  4. Inicia Victoria 3 a través de Steam. Con la lista [dlc] explícita, también funciona sin conexión. Importante: si el juego o el lanzador de Paradox ya estaban abiertos, ciérralos por completo (⌘Q) y vuelve a abrir — CreamAPI lee el cream_api.ini una sola vez al inicio del proceso.

Verifica que funcionó

Comprueba el estado del parche sin cambiar nada:

./bin/unlocker status vic3

Quieres ver:

[+] Patch state:     INSTALLED (CreamAPI active)
[+] Original backup: PRESENT (...libsteam_api_o.dylib)
[+] cream_api.ini:   PRESENT
[*]   unlockall = false; explicit [dlc] list (N DLC)

Luego abre la pestaña DLC en el lanzador de Paradox — cada DLC cuyo contenido esté presente debería figurar ahora como propiedad (sin botones «Comprar», sin iconos de advertencia).


🛠️ Uso (CLI unlocker)

El único punto de entrada es bin/unlocker; los dos scripts *_dlc_unlocker.sh son envoltorios finos de conveniencia para el juego por defecto.

./bin/unlocker install   [vic3]   # copia del original + aplicar parche CreamAPI
./bin/unlocker uninstall [vic3]   # restaurar la biblioteca original
./bin/unlocker status    [vic3]   # no modificante: parche / copia / integridad
./bin/unlocker --help
./bin/unlocker --version

Opciones (después del comando):
  --yes          No interactivo; asume «sí» en las confirmaciones.
  --path DIR     Usar esta carpeta del juego en vez de la detección automática.

Comprueba el estado sin cambiar nada:

./bin/unlocker status vic3

Qué hace install por dentro

  1. Barrera de integridad — se niega a ejecutarse si el SHA256 de la libsteam_api.dylib incluida no coincide con el confirmado (protección contra manipulación/corrupción).
  2. Localizar el juego — expande las rutas de búsqueda de games/vic3.conf (maneja espacios y unidades externas /Volumes/*); o usa --path. Victoria 3 coloca su binario de macOS bajo binaries/victoria3.app.
  3. Copia de seguridad del original como libsteam_api_o.dylib (nunca sobrescribe una copia buena existente).
  4. Instalar CreamAPI — copia la dylib proxy sobre libsteam_api.dylib y vuelve a comprobar el hash de la copia antes de volver a firmar.
  5. Construir cream_api.ini — escanea game/dlc/*/*.dlc, recoge cada steam_id, elimina duplicados y escribe una lista [dlc] explícita con unlockall = false.
  6. Endurecimiento de macOS — elimina el atributo de cuarentena (xattr) y vuelve a firmar la dylib en ad-hoc (codesign -s -) para que el Gatekeeper la cargue dentro del proceso del juego.

uninstall revierte los pasos 3–4 (restaurar la copia, borrar cream_api.ini, volver a firmar). status informa de todo lo anterior y no cambia nada.


🗑️ Desinstalación

./uninstall_dlc_unlocker.sh
# o: ./bin/unlocker uninstall vic3

Esto restaura libsteam_api.dylib desde la copia de seguridad, elimina cream_api.ini, vuelve a firmar el original y limpia cualquier artefacto heredado.

Ejecutar «Verificar la integridad de los archivos del juego» de Steam restaura silenciosamente la biblioteca original y elimina el parche — es lo esperado. Vuelve a ejecutar el instalador para reaplicarlo, o status para confirmar el estado actual.


❓ Preguntas frecuentes

Los DLC muestran iconos de advertencia en el lanzador

Faltan los archivos de contenido de los DLC. El desbloqueador solo cambia el estado de propiedad — el contenido real debe estar presente en la carpeta game/dlc/ del juego.

¿Dónde consigo los archivos de contenido de los DLC?

📖 Guía completa paso a paso (transferir game/dlc/, unir archivos divididos, solución de problemas): docs/DLC-CONTENT.md (en inglés).

Esta herramienta no distribuye ni descarga DLC — tú aportas los tuyos. El contenido DLC de Paradox es multiplataforma, así que la vía habitual es copiar la carpeta game/dlc/ desde una máquina donde ya lo tengas (por ejemplo, una instalación de Windows o Linux que te pertenezca) a tu instalación de Mac, en:

.../steamapps/common/Victoria 3/game/dlc/

Cada DLC vive en su propia subcarpeta con un archivo de metadatos .dlc y el archivo de contenido. Tras copiar, ejecuta (o vuelve a ejecutar) el instalador para que la lista [dlc] se reconstruya a partir del nuevo contenido.

¿Recibiste el contenido como archivo multiparte (*.zip.001, *.zip.002, …)? Esas partes son un solo archivo cortado en trozos — no zips separados. Únelas y extráelas en macOS así (no extraigas cada parte por separado):

# 7-Zip maneja la compresión LZMA que suelen usar los paquetes de Paradox y lee
# automáticamente todas las partes cuando apuntas a la primera:
brew install sevenzip
7zz x "DLC-….zip.001" -o"/ruta/a/Victoria 3"   # escribe el árbol game/dlc/

# Como alternativa, concatena primero las partes en un solo archivo (el orden importa):
cat DLC-….zip.00{1,2,3,4} > DLC-….zip
7zz x DLC-….zip -o"/ruta/a/Victoria 3"

Apunta -o a la carpeta del juego (el padre de game/) — el archivo ya contiene la subruta correcta, así que extraer ahí lo fusiona en su sitio.

¿Por qué status muestra menos DLC de los que espero?

Es correcto, no falta nada. Paradox suele agrupar varios paquetes de contenido (una expansión + su paquete de contenido/música) bajo una sola compra de Steam (appid). El desbloqueador concede la propiedad por appid de Steam, así que el número que muestra es la cantidad de appids distintos — el lanzador muestra luego todos los paquetes que esos appids desbloquean. status informa del número de appids de tu configuración actual.

«Verificar la integridad de los archivos del juego» de Steam revirtió mi parche

Es lo esperado — Steam reemplazó nuestra biblioteca por el original. Ejecuta ./bin/unlocker status vic3 para confirmar y vuelve a instalar.

El juego no arranca

El Gatekeeper de macOS puede estar bloqueando la biblioteca modificada. El instalador ya elimina el atributo de cuarentena y vuelve a firmar la dylib en ad-hoc, pero si copiaste archivos manualmente:

xattr -dr com.apple.quarantine "/path/to/Victoria 3/binaries/victoria3.app"
codesign --force -s - "/path/to/Victoria 3/binaries/victoria3.app/Contents/Frameworks/libsteam_api.dylib"

Instala primero las Command Line Tools si faltan codesign/xattr: xcode-select --install. ¿Sigue sin ir? Ejecuta el desinstalador y vuelve a intentarlo.

¿Es segura la biblioteca incluida?

La libsteam_api.dylib incluida es idéntica byte a byte a la versión nonlog oficial de CreamAPI para macOS y obtiene 0/64 en VirusTotal. Puedes reverificar la suma de comprobación tú mismo — consulta docs/SECURITY.md y vendor/creamapi/VERSION.txt. (Nota: el binario incrusta una ruta de compilación upstream en su install-name; es inofensivo y es justo lo que la herramienta usa para detectar un parche instalado.)

¿Qué DLC se desbloquean?

Todos los DLC cuyo contenido esté presente en tu carpeta game/dlc/. El instalador lee cada archivo .dlc, recoge su appid de Steam y escribe el conjunto completo en la sección [dlc] del cream_api.ini — expansiones, paquetes de inmersión, paquetes de contenido y música por igual (Voice of the People, Sphere of Influence, Colossus of the South, Pivot of Empire, Charters of Commerce, National Awakening, Iberian Twilight, The Great Wave, …). ¿Añadiste contenido DLC nuevo? Vuelve a ejecutar el instalador y la lista se reconstruye. status vic3 indica cuántos appids cubre la configuración actual.

¿Puedo desbloquear otro juego de Paradox?

El motor es independiente del juego. Para, por ejemplo, CK3 o EU4 solo hace falta un nuevo games/<game>.conf (appid + nombre del bundle + rutas de búsqueda) — sin cambios de código. Hoy solo se distribuye Victoria 3; consulta docs/CONTRIBUTING.md.


📜 Historial de estrategias de desbloqueo

El desbloqueador de macOS ha usado tres estrategias de desbloqueo distintas. Si usaste una versión anterior (este proyecto empezó como desbloqueador de EU4), esto es lo que cambió y por qué:

Versiones Estrategia Multijugador Notas
1.x – 2.x Emulador de Steam Goldberg Emula Steam por completo sin conexión y reemplaza libsteam_api.dylib; usaba una carpeta steam_settings/ y steam_appid.txt. Solo un jugador — no podías invitar amigos ni unirte a sesiones.
3.0 CreamAPI + unlockall = true Cambio a un proxy CreamAPI que retransmite al Steam real, así el multijugador vuelve a funcionar. Los DLC venían de la lista en tiempo de ejecución de Steam.
4.0+ CreamAPI + lista [dlc] explícita El instalador construye la lista completa a partir de tu propio contenido dlc/ — completa y compatible sin conexión.
5.0 Reorientado a Victoria 3 Mismo motor y estrategia, ahora apuntando a Victoria 3 (binaries/victoria3.app, game/dlc/, appid 529340).

uninstall sigue eliminando los antiguos artefactos de Goldberg (steam_settings/, steam_appid.txt, *.backup) si actualizas desde una instalación 1.x–2.x.


🔐 Seguridad e integridad

El instalador se niega a ejecutarse si el SHA256 de la dylib incluida no coincide con vendor/creamapi/VERSION.txt (protección contra manipulación/corrupción), y la CI lo reverifica en cada push. Consulta docs/SECURITY.md.

🙏 Créditos

  • CreamAPI — la biblioteca de desbloqueo de DLC

📜 Licencia

Bajo la Licencia MIT — consulta LICENSE.

⭐ Apoyo

Si esto te ayudó: ⭐ marca el repo con una estrella, 🐛 reporta problemas, 💡 sugiere mejoras. Y si disfrutas de Victoria 3 y sus DLC, cómpralos para apoyar a Paradox Interactive.