Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
ExtractionRandomizerPlus
Pick a random extraction count per level include multiplayer sync.
By Firenyth
| Date uploaded | a month ago |
| Version | 1.0.2 |
| Download link | Firenyth-ExtractionRandomizerPlus-1.0.2.zip |
| Downloads | 530 |
| Dependency string | Firenyth-ExtractionRandomizerPlus-1.0.2 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
Extraction Randomizer Plus
Randomizes how many extraction points each R.E.P.O. level gets. The host rolls a fresh count each level and raises the vanilla generator's extraction budget. The generated map (and haul goal) is then synced by the game.
Inspired by B1MSE's ExtractionPointRandomizer. This is a separate rewrite (host-authoritative count, can request more extracts than vanilla's usual 5).
Install
Everyone in the lobby must install this mod.
Uninstall B1MSE-ExtractionPointRandomizer. That older plugin still disables extra extracts on each client using its own roll, which is what made multiplayer counts disagree.
Who needs it
- Recommended: every player in the lobby.
- Extraction rooms: the host generates them; vanilla map sync sends those rooms.
Config (host)
Edit BepInEx/config/firenyth.extractionrandomizerplus.cfg (or REPOConfig):
| Setting | Default | Meaning |
|---|---|---|
| Minimum | 1 | Lowest total extracts per level (truck counts; 1 = truck only) |
| Maximum | 3 | Highest total extracts per level (truck counts) |
| Haul Goal Multiplier | 0.33 | Host scales haul once, then vanilla RPC syncs it |
Only the host's Min/Max/multiplier matter for the generated level.
Limits
The generator still needs dead-end rooms for extracts. Asking for 8 does not guarantee 8 if the map has too few one-door tiles. The log will show ExtractionAmount: 4 -> 7 (total 8 incl. truck extraction); if fewer appear, the generator ran out of legal spots, not a lobby desync.
Verify
Host BepInEx/LogOutput.log should look like:
[ExtractionRandomizerPlus] Rolled 6 total extraction points (range 2-7)
[ExtractionRandomizerPlus] ExtractionAmount: 4 -> 5 (total 6 incl. truck extraction)
CHANGELOG
Changelog
All notable changes to Extraction Randomizer Plus are documented in this file.
The format is based on Keep a Changelog, and this project uses Semantic Versioning.
[1.0.2] - 2026-09-05
Changed
- Host rolls a fresh extraction count each level with an unseeded RNG (no more seed from lobby/map/levels-completed).
- Log line is now
Rolled N total extraction points (range min-max).
Removed
- Seeded sync helpers (
LevelSeed,StableHash) that were left over from client-matching rolls.
[1.0.1] - 2026-08-24
Changed
- Host sets vanilla
LevelGenerator.ExtractionAmountso map generation (and haul goal sync) stay authoritative on the host. - Clarified that the truck extraction counts toward Min/Max totals.
[1.0.0] - 2026-08-23
Added
- Initial release: configurable Min/Max extraction points and haul goal multiplier.
- Standalone rewrite of ExtractionPointRandomizer with host-driven count for multiplayer.