Installation
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 mods on SoR ModHub or GameBanana.
Installing BepInEx
If you already have BepInEx installed, skip this step.
Downloading BepInEx
Go here and download the version for your OS:
- Windows
- Linux
- macOS
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:
- You might notice some files in the game's root directory:
Galaxy64.dll
,UnityCrashHandler64.exe
. If you have these, then I'm pretty sure it means that the game's executable is also 64-bit. - Launch the game and open the Task Manager. If you see "(32 bit)" in the name of the game's process, then it's 32-bit; otherwise, it's 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.
Extracting files
- I know where my game is installed!
- Steam
- GOG
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:
- Windows
- Linux
- macOS
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.
- Windows
- Linux
- macOS
Make sure you extract it the right way. There's a lot of wrong ways, apparently.
- Make sure that
BepInEx
folder is in the same directory as your game's executable (StreetsOfRogue.exe
); - Make sure that you extract the
doorstop_config.ini
andwinhttp.dll
files too;
Make sure you extract it the right way. There's a lot of wrong ways, apparently.
- Make sure that
BepInEx
anddoorstop_libs
folders are in the same directory as your game's executable (StreetsOfRogue.x86
orStreetsOfRogue.x86_64
); - Make sure that you extract the
run_bepinex.sh
file too;
Make sure you extract it the right way. There's a lot of wrong ways, apparently.
- Make sure that
BepInEx
anddoorstop_libs
folders are in the same directory as your game's executable (StreetsOfRogue.app
); - Make sure that you extract the
run_bepinex.sh
file too;
Running the game
You need to run the game at least once, so that BepInEx can generate config files and directories!
- Windows
- Linux
- macOS
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
executable_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
executable_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
Running BepInEx through Steam
- Windows
- Linux
- macOS
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...:
Screenshot needed
Click Set launch options...:
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...:
Screenshot needed
Click Set launch options...:
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.
Installing RogueLibs
- RogueLibs v4.0.0-rc.1
- RogueLibs v3.x.x
- RogueLibs v2.x.x
RL v4 is compatible with mods made on RL v3!
Download the latest RogueLibs v4.0.0-rc.1 version
You need to download only one file - RogueLibsCore.dll
.
Go to the BepInEx's directory and put RogueLibsCore.dll
file into plugins
directory:
RogueLibsPatcher.dll
In previous versions, you would also need to install a patcher, but now it's installed ✨automatically✨!
RogueLibs v3.x.x is outdated and may not support newer mods!
Download the latest RogueLibs v3.x.x 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
.
RogueLibs v2.x.x is outdated and is not compatible with new mods!
Download the latest RogueLibs v2.x.x version
You need to download only one file - RogueLibs.dll
.
Go to the BepInEx's directory and put RogueLibs.dll
file into plugins
directory:
Installing plugins (mods)
Download the mods that you want to install (.dll
files).
And put these .dll
files in the BepInEx/plugins
directory.
Where can I get mods?
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.
The #👍|modding-gallery🔧 channel in the official SoR's Discord. You'll find all of the latest info, updates and bugfixes there. It's kind of hard to search for specific mods though.
ModDB and NexusMods are barely used at all.