ModBridge is a lightweight launcher that acts as a replacement for a game’s original executable. Instead of starting Game.exe directly, Steam launches ModBridge, which then starts the target executable you specify. It is designed for standalone mods or tools like Mod Organizer, and is written in simple Python script.
It keeps Steam Overlay working and playtime in the Mods counts towards the original game. Works best with Total Conversion Mods, standalone Modpacks or Mod Managers. See examples below for workarounds in special scenarios.
Please read these Instructions, and also the instructions inside ModBridge.ini
And check out the Examples below, they might help getting it to work with your game/mod.
⚠️ Disable Steam Cloud saves for chosen games, im not sure if it will confuse different save files
⚠️ Updates or verifying files with steam will remove ModBridge, so I recommend to use it only with old games that get no updates.
- Compile your own EXE file or use the release version of ModBridge.exe
- Get ModBridge.ini from this Github
- Put both files in the games EXE directory (sometimes \game\bin\ or sth like that)
- Know which exe gets launched by Steam (Launch and check in TaskManager)
- Rename GAME.exe to sth like GAME_backup.exe
- Now Rename the ModBridge.exe to GAME.exe
- Make sure you have ModBridge.ini in this same directory
- In ModBridge.ini set the Target .exe file and optional launch arguments (Check examples below)
- Launch the original GAME in Steam, the Target.exe will launch and have SteamOverlay working!
Workaround is to use the classic edition's DOSBox to launch XWVM and have all editions working.
- Replace
DOSBox.exeinside\classic\DOSBOX\with ModBridge, add ModBridge.ini in same folder - Point the Target to path of your
xwvm.exein ModBridge.ini - In steam launch options choose "Classic", because we replaced classics DOSBox EXE
- In XWVM you can now play all editions
[Mod]
Target = D:\GAMES\SteamGames\steamapps\common\STAR WARS X-Wing\XWVM\xwvm.exe
WorkDir =
Args =
InheritArgs = true
Wait = trueI hope this helps someone to make it work with their desired game.
I choose Stalker CoP in Steam and add multiple Profiles to launch Vanilla, Gamma and Gunslinger Mod. For this game, we need to perform some additional steps to workaround some of the limitations.
- Rename
binfolder tobin_vanilla - Create new
binfolder - Place ModBridge.exe in
binfolder and name itxrEngine.exe, check "Run as Admin" in properties (necessary for Stalker games) - Create new text file called
steam_appid.txtinsidebin_vanilla - Put steam appid in the txt file, for CoP it is
41700(necessary to fix Steam relaunch loop, check steamdb.info if you use different game) - Use the ini from the example below, with your own paths
- Using the profiles, i can switch between mods with Steam Launch arguments, e.g. "-p Gamma" without quotes, for Gamma Modpack
- Or i remove steam launch parameter and it will default to Profile [Mod], which is Vanilla version
- All playtime will count towards Stalker CoP in Steam
- If you run Steam as admin, Overlay should work
Running the ModBridge and Steam as Admin is required in this case, because of XRay Engine privilege limitations. You'll know, when you get Privilege Error or Overlay doesn't work.
[Mod]
Target = E:\GAMES\SteamGames\steamapps\common\Stalker Call of Pripyat\bin_vanilla\xrEngine.exe
WorkDir = E:\GAMES\SteamGames\steamapps\common\Stalker Call of Pripyat
Args =
InheritArgs = true
Wait = true
[Gamma]
Target = E:\GAMMA\ModOrganizer.exe
WorkDir =
Args =
InheritArgs = true
Wait = true
[Gunslinger]
Target = E:\GAMES\SteamGames\steamapps\common\Stalker Call of Pripyat\Gunslinger\Play GUNSLINGER Mod.exe
WorkDir =
Args =
InheritArgs = true
Wait = trueMake sure you have python installed and then get PyInstaller:
py -m pip install pyinstaller
Download source, then, in the ModBridge source directory:
py -m PyInstaller --onefile --noconsole --name ModBridge --icon icon.ico ModBridge.py
This will "compile" and place the ModBridge.exe in dist folder.