Skip to content

Game: Cyberpunk 2077

Zash edited this page Oct 6, 2024 · 28 revisions

PCGamingWiki

A Cyberpunk plugin update is included in MO 2.5 (with added features).

Requirements

  • Clean Cyberpunk v2.01+ installation,
  • Mod frameworks (as required by mods)
    • Cyber Engine Tweaks (CET) v1.27+ for Cyberpunk v2.01+.
      CET ≤1.26 is incompatible with MOs virtual file system USVFS!
    • CET and RED4ext frameworks (not the dependent mods) need to be copied into game root:
      • automatic with RootBuilder plugin: add CET & RED4ext to MO, which will be installed under root/
        (RootBuilder will be preconfigured to hardlink root files into game dir, see RootBuilder config for details)
      • manual without RootBuilder: see Framework Installation below for details
  • REDmod will automatically be deployed when needed before game launch (with MOs load order).

If you encounter any problems, refer to FAQ & Troubleshooting.

Cyberpunk game updates

Restart MO after a game update (install update with MO closed)!

The rest should be automatic:

  • With MO 2.5 release (plugin v2.2.3) overwrite/r6/cache/* is automatically cleared after game update, before game launch.
  • RootBuilder also creates separate cache and backup for different game versions on an (auto)build (under MO/plugins/data/RootBuilder).

If the game does not launch correctly, refer to FAQ & Troubleshooting.

Framework installation

Manual installation of RED4ext and CET frameworks (mod requirements) without RootBuilder:

RED4ext: extract files into game root folder

Cyberpunk 2077/
├── bin/x64/winmm.dll
└── red4ext/RED4ext.dll

RED4ext dependent mods can then be installed normally (virtually) in MO2 (red4ext/plugins/*).

CET ≥1.27 for Cyberpunk v2.01+: Install CET framework itself into game root folder, like this:

Cyberpunk 2077/
└── bin/x64/
    ├── plugins/
    │   ├── cyber_engine_tweaks/
    │   │   ├── fonts/
    │   │   ├── scripts/
    │   │   └── tweakdb/
    │   └── cyber_engine_tweaks.asi
    ├── global.ini
    └── version.dll

CET dependent mods can then be installed normally (virtually) in MO2 (bin/x64/plugins/cyber_engine_tweaks/mods/*).

Features

  • Auto mod installation (ModDataChecker) of all mods (see table below)
  • Profile specific config (.ini) and savegames
  • Savegame preview & metadata
  • REDMod: auto deployment before game launch (only when needed)
  • Enforce MOs load for .archive (archive/pc/mod/modlist.txt) and REDmod (-modlist) Only REDmod load order is enabled by default (see Plugin Settings below)
  • Optional RootBuilder default config for CET & RED4ext framework root auto install
  • After game update: redscript cache [overwrite]/r6/cache/* is automatically reset

Compatiblity of mods / frameworks

Here is an overview of the mod / framework support as of MO 2.5 beta 14 (Cyberpunk game plugin v2.2) and the compatibility with MOs virtual file system USVFS:

Support: mods / framework
Mod type / framework Mod folder (files) Auto install* USVFS
archive archvie/... (.archive) ✔️/ – ✔️/ –
redscript r6/... (.reds) ✔️/✔️ ✔️/✔️
RED4ext red4ext/... (.dll) ✔️/✔️root ✔️/❌
Cyber Engine Tweaks (CET) bin/x64/plugins/... (.lua) ✔️/✔️root ✔️ 1.27 / ❌
REDMod mods/* (info.json, ...) ✔️/❌(DLC) ✔️/❌(DLC)

root: Auto install only into (virtual) root folder, compatible with RootBuilder (copy/hardlink). Alternative: copy manually into game dir.

* Remarks

  • RED4ext: Only the framework (2 .dll files) need to be copied / hard linked to root, dependent mods work with USVFS then.
  • Cyber Engine Tweaks (CET):
    • Cyberpunk v2.01, CET ≥1.27: only CET framework needs to be copies / hard linked into root (all files), mods work with USVFS.
    • Cyberpunk v1.x, CET ≤1.26: is not compatible with USVFS, see CET issue / PR for details.
  • RedMod: precompilation is supported with MO2 plugin update v2.1
  • RootBuilder can be used to automate hard linking / coping root files into game dir (only frameworks RED4ext and CET, no mods)

Load order

With the following example mod list in MO, the load order is determined as follows:

modB (priority 1)  with archive/pc/mod/B.archive
modA (priority 2)  with archive/pc/mod/A.archive
modC (priority 3)  with archive/pc/mod/C.archive
  • A > B > C (default):
    In Cyberpunk, by default the load order of all .archive files and REDmod folders is alphabetically, as named by mod authors. The first loaded .archive file / mod modifying a game file wins a conflict in CP (in contrast to Skyrim, where esps can overwrite each other), i.e. A.archive wins over B.archive and C.archive.
  • B > A > C with enforce_archive_load_order = true:
    A custom .archive load order can be specified with a file archive/pc/mod/modlist.txt, which can be generated optionally (setting enforce_archive_load_order = true) by MO in overwrite before game launch (changing load order to B > A > C). For backwards compatibility (MO <2.5.2), this is top to buttom (lowest priority wins).
  • C > A > B with reverse_archive_load_order = true:
    (MO v2.5.2+) You can set reverse_archive_load_order = true to change the load order to match the direct file conflict resolution (botton to top, highest priority wins).

The load order of multiple .archive files within a single mod is still always alphabetically (as provided by mod authors), independent of the settings.

For REDmod, MO passes the load order by default to the precompiler redmod.exe. The order can also be reversed via reverse_redmod_load_order=true, see Settings below.

Please note, that direct file conflicts (same file name) are displayed directly in MOs mod list and here the highest priority always wins.

Config

Plugin Settings

Under Tools/Settings/Plugins/Cyberpunk 2077 Support Plugin:

  • auto_deploy_redmod (default: true): deploy REDmod before game launch if necessary. You can use the alternative executable with "... skip REDmod deploy" to not load REDmods at all, too.
  • clear_cache_after_game_update (default: true): clear overwrite/r6/cache/* when a new installed game version is detected (before game launch)
  • configure_RootBuilde (default: true): Configures RootBuilder for Cyberpunk if installed and enabled (only once per instance, will be toggled off)
  • enforce_archive_load_order (default: false): enforce MOs mod load order via generated overwrite/archive/pc/mod/modlist.txt. Disabled by default to load archives alphabetically (A > B > C).
  • enforce_redmod_load_order (default: true): enforce the MOs load order for REDmods on deployment (via redMod.exe deploy -modlist=overwrite/r6/cache/modded/MO_REDmod_load_order.txt`)
  • reverse_archive_load_order: reverse MOs load order in generated modlist.txt
    • false (default): first / lowest priority mod in MO wins a conflict (B > A > C, see Load order)
    • true: last / highest priority mod in MO wins a conflict (C > A > B, see Load order)
  • reverse_redmod_load_order (default: false): reverse the generated redmod list.
  • skipStartScreen (default: false): Skips the "Breaching..." start screen on game launch by adding -skipStartScreen to Cyberpunk command line args (can also skip loading of GOG rewards)

RootBuilder config

You can use RootBuilder to copy / hard link the framework files from virtual folder root automatically into game install dir, to keep it clean.

The following settings will be preconfigured if RootBuilder is installed (Tools/[Tool Plugins]/Root Builder/):

  • Mode: Copy (Links works with RB 5.0.5 again)
    • USVFS and USVFS + Links do not work!
    • Links = hard links only mode is available with RootBuilder ≥4.5
    • hard links do not consume extra space on disk, but work only on the same drive (as portable MO or C:/.../AppData)
  • Exclusions: archive,tools,setup_redlauncher.exe
  • Check Backup, Cache, Autobuild

FAQ & Troubleshooting

MO 2.5.2

RootBuilder's link mode (v4.5 - 5.0.4) has a bug with MO 2.5.2 (Python 3.12). Update to RootBuilder 5.0.5+ or use copy mode as a fallback.

Mod specific

  • Load order / priority in MO can be relevant for some mods (besides the obvious file conflicts/overwrites): E.g.: presets for Appearance Menu Mod need to be loaded first (with lower priority, like preset: 0, AMM: 1)

General

  • overwrite contains files written after game launch, including mod settings
  • MO2 creates the load order files r6/cache/modded/MO_REDmod_load_order.txt (REDmod) and optionally archive/pc/mod/modlist.txt (.archive) for Cyberpunk in when necessary in overwrite, too.
  • A virtual root folder in Data view is normal for compatibility with RootBuilder
  • If any REDmods are installed, the precompilation / deployment progress will show in a console window before game launch
  • Always start with a clean Cyberpunk folder before using RootBuilder's backup option.
    • Backup is build on first game launch with above settings
    • Backups are stored in MO/plugins/data/RootBuilder
    • Any manual game file additions/changes (except for a game update) will end up in overwrite/root, unless RootBuilders Backup & Cache are deleted before next launch / build (see below).

GOG rewards

GOG rewards are only loaded with the "Breaching..." start screen, which MO might skip. Remove the -skipStartScreen argument from the configured executables and start the game at least once with the breaching start screen to get the GOG rewards.

Reset game folder

To reset the game folder and MO if anything goes wrong:

Without RootBuilder:

  1. delete all CET & RED4ext framework files (after backup), including both red4ext and bin/x64/plugins folders
  2. make sure Cyberpunk starts without MO (otherwise see below)
  3. install fresh CET & RED4ext again into game folder (manually, not via MO)
  4. clear at least overwrite/r6/cache (to keep mod settings) or full overwrite (resets most mod settings, too)
  5. (reset mods and their config by reinstalling and replacing them)

With RootBuilder:

  1. Check that the game folder is clean (from framewoks, too) and test if it starts without MO (otherwise see below)
    A RootBuilder backup (of the same game version) can be restored via Clear from Tools/[Tool Plugins]/Root Builder/Clear (writes changed files to overwrite/root)
  2. open RootBuilder menu, Delete Backup and Cache, double check exclusions and create the Backup again
  3. clear at least overwrite/r6/cache (to keep mod settings) or full overwrite (resets most mod settings, too)
  4. (reset mods and their config by reinstalling and replacing them)

If Cyberpunk does not start without MO after cleaning (steps above):

  • restore the original r6/cache/final.redscript from either final.redscript.bk (can be in overwrite) or by verifying game files

Dev notes

Mod file structures

Mods dependencies (requirements), which can be identified by their mod files:

Force load libraries

CET and RED4ext seem to work now (since Cyberpunk ~2.12) also with force load libraries (instead of RootBuilder):

  • Cyberpunk2077.exe: version.dll
  • Cyberpunk2077.exe: winmm.dll

CrashReporter

When Cyberpunk crashes with CET installed using a forced loaded library, CrashReporter throws an error (crashes itself), since it cannot resolve version.dll through the VFS - can be tested with CET command GetPlayer():Dispose(), see PR #163.

It works normally if installing CET manually in the game directory.

Version Changelog:

  • MO v2.4.0: Added initial plugin
  • MO v2.5.0 beta 14 (plugin v2.2.2): Added support for Cyberpunk 2.01 with CET ≥1.27
    • Auto mod installation (ModDataChecker)
    • Profile specific config (.ini) and savegames
    • Savegame preview & metadata
    • RedMod: auto deployment before game launch
    • MOs load order is enforced for REDmod (-modlist) and optional for .archive (modlist.txt)
    • RootBuilder default config for CET & RED4ext framework root auto install
  • MO v2.5.0 RC2 (plugin v2.2.3): Clear overwrite/r6/cache if a Cyberpunk version change is detected
  • MO v2.5.2 (plugin v2.3): add option to reverse archive and redmod load order
Clone this wiki locally