To start using mods, first you need to install BepInEx, the modding framework that we're using to mod Streets of Rogue. Then, install RogueLibs (both plugin and patcher - two different important files) and then any mods that you want to play with. You can find a lot of interesting mods right here on this website!
If you already have BepInEx installed, skip this step.
Go here and download the version for your OS:
Download the version of BepInEx for your game's executable's type:
BepInEx_x64_5.x.y.z.zip
is for 64-bit executables.BepInEx_x86_5.x.y.z.zip
is for 32-bit executables.Here's a few pointers:
Galaxy64.dll
, UnityCrashHandler64.exe
. If you have these, then I'm pretty sure it means that the game's executable is also 64-bit.Simply download BepInEx_unix_5.x.y.z.zip
.
BepInEx v6 pre-release recently came out. Don't use it yet. All of the mods at the moment still use BepInEx v5.4.x, and if you install v6, the mods probably won't work. BepInEx developers plan on supporting older v5 plugins in the future, so once a stable v6 version comes out, you should be able to use it.
Open Steam's game library, right-click on the game and click Properties...:
Go to Local files and click Browse...:
Try looking at these paths:
C:\GOG Games
;C:\Program Files (x86)\GOG.com
;C:\Program Files\GOGcom
;$HOME/GOG Games
;Extract the contents of the .zip file into the game's root directory.
Make sure you extract it the right way. There's a lot of wrong ways, apparently.
BepInEx
folder is in the same directory as your game's executable (StreetsOfRogue.exe
);doorstop_config.ini
and winhttp.dll
files too;Make sure you extract it the right way. There's a lot of wrong ways, apparently.
BepInEx
and doorstop_libs
folders are in the same directory as your game's executable (StreetsOfRogue.x86
or StreetsOfRogue.x86_64
);run_bepinex.sh
file too;Make sure you extract it the right way. There's a lot of wrong ways, apparently.
BepInEx
and doorstop_libs
folders are in the same directory as your game's executable (StreetsOfRogue.app
);run_bepinex.sh
file too;You need to run the game at least once, so that BepInEx can generate config files and directories!
Just run the game. Either through an executable, or any game launcher.
You can close the game once you see a logo or a loading screen.
Open the included run_bepinex.sh
script and edit the highlighted line to be the name of the executable:
#!/bin/sh# BepInEx running script## This script is used to run a Unity game with BepInEx enabled.## Usage: Configure the script below and simply run this script when you want to run your game modded.# -------- SETTINGS --------# ---- EDIT AS NEEDED ------# EDIT THIS: The name of the executable to run# LINUX: This is the name of the Unity game executable # MACOS: This is the name of the game app folder, including the .app suffix# highlight-next-lineexecutable_name="StreetsOfRogueLinux"# The rest is automatically handled by BepInEx# ...
Open the terminal in the game's root directory and add execution permission to the script:
chmod u+x run_bepinex.sh
Now you can run BepInEx by executing the script:
./run_bepinex.sh
Open the included run_bepinex.sh
script and edit the highlighted line to be the name of the executable (including the .app
extension):
#!/bin/sh# BepInEx running script## This script is used to run a Unity game with BepInEx enabled.## Usage: Configure the script below and simply run this script when you want to run your game modded.# -------- SETTINGS --------# ---- EDIT AS NEEDED ------# EDIT THIS: The name of the executable to run# LINUX: This is the name of the Unity game executable # MACOS: This is the name of the game app folder, including the .app suffix# highlight-next-lineexecutable_name="StreetsOfRogueMac.app"# The rest is automatically handled by BepInEx# ...
Open the terminal in the game's root directory and add execution permission to the script:
chmod u+x run_bepinex.sh
Now you can run BepInEx by executing the script:
./run_bepinex.sh
On Windows you can run BepInEx through Steam too. Nothing to worry about.
Open Steam's game library, right-click on the game and click Properties...:
TODO: Screenshot needed
Click Set launch options...:
TODO: Screenshot needed
And type in:
./run_bepinex.sh %command%
Click OK and run the game through Steam.
Open Steam's game library, right-click on the game and click Properties...:
TODO: Screenshot needed
Click Set launch options...:
TODO: Screenshot needed
Now, open a terminal in the game's root directory and run:
pwd
You'll get the full path to the game's root directory. Copy and paste it into the launch options field and then append /run_bepinex.sh %command%
:
"<PWD>/run_bepinex.sh" %command%
where <PWD>
is the full path to the game's root directory.
Click OK and run the game through Steam.
RogueLibs v4 might not support mods made with RogueLibs v3.
Download the latest RogueLibs version
You need to download only one file - RogueLibs.dll
.
Go to the BepInEx's directory and put RogueLibsCore.dll
file into plugins
directory:
RogueLibs v3 is old version of RogueLibs. This text stays here for archival purposes.
Download the latest RogueLibs version
You need to download only two files: RogueLibsCore.dll
and RogueLibsPatcher.dll
.
Go to the BepInEx's directory and put RogueLibsCore.dll
file into plugins
directory:
Put RogueLibsPatcher.dll
file into patchers
directory:
The directory is called patchers
, it's different from plugins
.
Download the mods that you want to install (.dll
files).
And put these .dll
files in the BepInEx/plugins
directory.
SoR ModHub is a collection of mods that use the latest RogueLibs v3 that I know about. Includes links to other mod sources as well, and is updated pretty regularly.
GameBanana - Streets of Rogue's official mod-sharing place. Some mods don't get released or updated there, since the process of setting up or updating a page is way too long and overly complicated.
ModDB and NexusMods are barely used at all.