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.
RepoTwitchIntegration by Schleimi
Host-only mod controlled by !-commands in your Twitch chat. Negative events earn shared points that viewers can spend to help the players.
By Schleimi
| Date uploaded | 3 weeks ago |
| Version | 1.2.3 |
| Download link | Schleimi-RepoTwitchIntegration_by_Schleimi-1.2.3.zip |
| Downloads | 82 |
| Dependency string | Schleimi-RepoTwitchIntegration_by_Schleimi-1.2.3 |
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
REPO Twitch Integration by Schleimi
Host-only mod controlled by !-commands in your Twitch chat. Negative events earn shared points that viewers can spend to help the players. Viewer monster kills have their own Top 5 leaderboard.
Only the lobby host needs this mod. Other players use the normal game. Requires BepInExPack, installed automatically by your mod manager.
Getting started
- Install the mod with Thunderstore Mod Manager or r2modman and launch the modded game as host. Remove older test copies to avoid loading the plugin twice.
- Click Connect Twitch in the main menu (or use F8).
- Choose Connect Streamer, open the displayed authorization page and approve the account connection. No personal app registration or client secret is needed.
- Optionally connect a separate bot account for chat output. Without an enabled connected bot, the streamer account sends replies.
- Load a level. Viewers can use the commands below in the connected streamer's Twitch chat.
For manual installation, install BepInEx first and copy the packaged BepInEx folder into your R.E.P.O. game folder.
Chat commands and shared points
All prices and rewards below apply once per command, not per affected player. Commands are case-insensitive. No available target means no reward or charge. Failed or unconfirmed actions do not create rewards; successful partial group actions use the stated total price/reward.
| Command | Shared points | Effect |
|---|---|---|
!monsters |
Free | Display the monster command list without spawning. |
!spawn |
+10% of spawned monster max HP | Random allowed monster. |
| Individual monster command | +10% of spawned monster max HP | Spawn the chosen monster. |
!jumpscare |
+5 | Random short Vanilla monster sound, audible only to the host and on the stream when game audio is captured. 3-minute cooldown per viewer. Active levels only. |
!boom |
+20 | Cauldron-style launch and 3 seconds of tumbling for living players. 5-minute cooldown per viewer after success. |
!drop |
+40 | Living players release their held physical objects. 10-minute cooldown per viewer after success. Inventory slots are not emptied. |
!heal |
−10 | All living injured players gain up to 10 HP, capped at their maximum. |
!revive |
−500 | Revive dead connected players at their Vanilla death heads with 1 HP. At least one player must still be alive; no fixed per-round limit. |
!charge |
−100 | Add up to 10 percentage points to the current truck charging station, capped at full. Active levels only. |
!reroll |
−100 | Use the shop's Vanilla upgrade-machine reroll without its game-money charge. Details below. |
!upgrade |
Free | Display the upgrade command list. |
!points |
Free | Display the shared pool. |
Jumpscare uses only the Robe attack scream, Upscream attack scream, Huntsman aim voice ("HuH"), Huntsman gunshot and Banger explosion sound. It creates no monster, damage or network sound event. Jumpscare playback uses 2x gain and respects the game sound mixer. Other lobby players do not hear it. Points and cooldown apply only after local playback starts.
Boom uses Vanilla player tumble/force calls without direct HP damage; normal collisions and fall damage still apply. It does not spawn a cauldron or a visual explosion prefab and does not damage nearby valuables or monsters. Boom and Drop have separate cooldowns for each Twitch user ID. Other viewers can still use their own commands. Cooldowns begin at the first confirmed success and remain active across level changes during the game session.
Charge affects the current station. It does not grant crystal items or permanently increase capacity; Vanilla crystal-capacity and save rules still apply when entering the next level.
Player upgrades
Each command grants one Vanilla upgrade level to one player for 500 Chat Points:
| Command | Upgrade |
|---|---|
!hp |
Maximum health |
!stamina |
Stamina |
!strength |
Grab strength |
!range |
Grab range |
!speed |
Sprint speed |
!jump |
Extra jump |
No name selects a random ready player: !strength. Add an exact in-game name to choose a player: !hp play3r. Names with spaces are supported, with or without quotes. Unknown or ambiguous names are rejected without payment.
With Shared Host Upgrades installed, that mod may distribute the single upgrade to the lobby. This mod grants only one upgrade, avoiding multiplication from separately upgrading every player. The known Shared Host Upgrades initialization/synchronization must finish before a chat grant is accepted.
Shop reroll rules
- Available only in the loaded shop at a working Vanilla upgrade machine containing upgrades.
- Each Twitch user ID can trigger one successful chat reroll per shop visit.
- 30-second global chat cooldown after success; no overlapping rolls while the machine is busy.
- 100 Chat Points are reserved until the native replacement upgrades are confirmed. Failure returns the reservation and preserves the viewer's allowance.
- Manual rolls keep their normal, increasing Vanilla game-money price. Only the specific chat purchase waives its game-money cost.
- The machine's Vanilla wear/breakage remains. Reroll affects upgrades inside the machine, not every item in the shop.
The summoning viewer is named above each visible chat monster in the host view, including each member of a summoned group. Names follow the monsters and are hidden behind obstacles. These labels appear on the host screen and stream.
Monster commands
Each viewer is identified by Twitch user ID and may own only one additional monster or group at a time. The slot is released when that monster dies/disappears, or when all group members are gone. Gnome and Banger use their native groups (4 and 3 members in the tested game version).
The shared pool receives exactly 10% of each successfully spawned member's maximum HP, including decimal amounts. Failed spawns earn nothing. Native level monsters do not occupy viewer slots. Spawns use Vanilla spawn locations, not necessarily right beside the host.
| Monster | Command | Alias |
|---|---|---|
| Apex Predator | !duck |
!apex |
| Animal | !animal |
— |
| Banger | !banger |
!skull |
| Bella | !bella |
— |
| Birthday Boy | !birthdayboy |
!birthday |
| Bowtie | !bowtie |
— |
| Chef | !chef |
— |
| Cleanup Crew | !cleanupcrew |
!cleanup |
| Clown | !clown |
!beamer |
| Elsa | !elsa |
— |
| Gambit | !gambit |
— |
| Gnome | !gnome |
— |
| Headgrab | !headgrab |
— |
| Headman | !headman |
— |
| Heart Hugger | !hearthugger |
!heart |
| Hidden | !hidden |
— |
| Huntsman | !huntsman |
!hunter |
| Loom | !loom |
— |
| Mentalist | !mentalist |
— |
| Oogly | !oogly |
— |
| Peeper | !peeper |
!eye |
| Reaper | !reaper |
— |
| Robe | !robe |
— |
| Rugrat | !rugrat |
!baby |
| Shadow Child | !shadowchild |
!shadow |
| Spewer | !spewer |
— |
| Tick | !tick |
— |
| Trudge | !trudge |
!slowwalker |
| Upscream | !upscream |
— |
The monster list response from !monsters and the !upgrade help response each have a 30-second response cooldown. !points replies have a 10-second response cooldown.
HUD, leaderboard and saving
Three equal-size panels appear together at the top center: viewer kills on the left, shared points and active chat monsters in the middle, and chat commands on the right. Long command text scrolls slowly. Each panel can be hidden independently in the Twitch menu.
The viewer leaderboard awards one kill point when a viewer-owned monster is confirmed as the source of a player's death. Leaderboard points are separate from the shared spending pool. Unattributed or indirect deaths are not guessed. A successful award also produces a chat message.
Points and leaderboard have independent persistent saving switches:
- Off: reset after a lost run and start fresh after restarting the game.
- On: retain that balance/ranking across lost runs and game restarts.
Normal level/shop transitions do not reset these scores. Reset notifications are sent once when the run is first lost; the follow-up PvP/arena reset is silent.
Accounts and files
The built-in Twitch app is RepoIntegrationBySchieim. Login is completed on Twitch's authorization page. Streamer and bot accounts can be signed out independently.
Account tokens are encrypted for the current Windows user. Configuration, saved points and rankings are stored under BepInEx/config (integration data in RepoTwitchIntegration). Do not share your sign-in files. The release ZIP contains no account data.
Streamer-only connection test: !repotest on sends a test reply every 30 seconds; !repotest off stops it.
Compatibility and troubleshooting
Host-only effects reuse Vanilla network methods. Guests cannot control the lobby through this mod. Game updates or mods that replace the same mechanics may require compatibility updates.
Commands require the appropriate loaded game phase. If a command is rejected, check the English chat reply and the Twitch menu status. For diagnostics, inspect BepInEx/LogOutput.log. Upgrade grants, monster spawns and cauldron launches are logged.
Version 1.0.0 follows user-tested prerelease builds. Automated logic, native-hook fixtures and effect-service fixtures supplement gameplay testing; they do not simulate a real multiplayer session. Charge carry-over and shop-machine behavior retain the Vanilla limitations described above.
CHANGELOG
1.3.1
- Lower revive to 200 Chat Points and all upgrades except Jump to 200; Jump remains 300.
- Wait for a stable Shadow Child spawn before confirming credit, allowing Vanilla teleport retries during the pending period.
- Report failed spawns explicitly instead of a misleading +0 success message; add timeout diagnostics.
1.3.0
- Fix missing Clown laser kill credit with a three-second window per contacted player. Multiple victims can each award a kill, further contacts refresh the window, and identified direct causes retain priority.
- Resolve the Clown's laser colliders through their owner and include damaging tumble-body and instant-kill contacts in attribution.
- Rebalance heal to 30 HP for 20 points, revive to 250, upgrades to 300 and shop reroll to 50.
- Boom pays 10 base points plus 10 per confirmed player; Drop pays 40 per distinct holder at activation after a successful effect.
- Add level-based global monster group capacity and per-viewer summon quotas per loot round. Each species is limited to once per viewer through level 20.
- Add separate per-viewer, per-round boom/drop quotas while retaining personal cooldowns.
- Add two default-OFF unlimited toggles and show occupied/maximum group slots in the HUD.
- Double jumpscare gain compared with the previous release and include Robe's global attack sound alongside its local attack clip.
- Accept !upgrades as another spelling of the free upgrade help command.
1.2.9
- Improve viewer kill attribution for monster attacks and indirect damage.
- Track Upscream's thrown target, Bowtie's yell target and Mentalist's captured players with a 10-second kill window; retain attack-time visibility checks for additional players.
- Attribute Rugrat's actual thrown-object damage for two seconds after the throw through the native damage RPC.
- Add a short fallback for Trudge and Oogly damage to tumbling player bodies, plus attribution diagnostics.
- Preserve native direct-source priority, single credit per death, and cleanup on revival and level/channel changes.
- Known limitation: some mixed-monster or delayed-damage deaths can remain unattributed. One Trudge test death remained unresolved.
1.2.8
- Add Reset & Debug with token-free diagnostics, local sign-in/settings reset and optional confirmed score erasure.
- Enlarge the connection window by 20% and center it whenever opened.
- Enable permanent points and viewer ranking storage by default for new configurations. Existing choices remain unchanged.
1.2.7
- Fix the Twitch menu, F8 shortcut and HUD disappearing after startup by protecting the plugin object through scene loading.
- Retain throttled error reporting for UI and update failures; remove temporary lifecycle diagnostics.
1.2.6
- Queue !tts requests in arrival order instead of rejecting them while speaking.
- Allow 20 waiting messages, with a one-second speech gap and two-minute expiry.
- Clear pending speech on disconnection, level change, host death or loss of authority.
1.2.5
- Add !tts followed by plain text: the host robot speaks using Vanilla networked text-to-speech.
- Free, up to 200 characters, living host required. New requests are rejected while the robot is speaking.
- Add !tts to the HUD command list.
1.2.4
- !revive now returns revived players to their original level start positions in the truck using native synchronized spawn calls.
- Preserve the 500-point group cost and normal 1 HP revival without additional truck healing.
1.2.3
- Restrict !jumpscare to Robe and Upscream attack screams, Huntsman aim voice and gunshot, and the Banger explosion sound.
- Huntsman aim voice and gunshot are separate random choices. Retain 2x gain, +5 points and the 3-minute per-viewer cooldown.
1.2.2
- Double the playback gain of !jumpscare sounds while keeping game volume controls effective.
1.2.1
- Add Robe attack screams and the Huntsman gunshot to the local !jumpscare selection.
- Reward and per-viewer cooldown remain +5 points and 3 minutes.
1.2.0
- Add !jumpscare: a random short Vanilla monster sound for the host and stream only.
- Successful local playback earns +5 Chat Points with a 3-minute cooldown per Twitch viewer.
- No monster spawn or gameplay effect; game sound volume settings remain effective.
1.1.1
- Correct monster name positions when the game camera uses a low-resolution render texture.
- Move the monster list to !monsters; !spawn only triggers a random spawn.
- Show !monsters first in the HUD command list.
1.1.0
- Show the summoning viewer name above visible chat monsters in the host view.
- Cooldowns now apply per Twitch viewer: Boom 5 minutes, Drop 10 minutes.
- Updated the mod description. Rewards remain +20 for Boom and +40 for Drop.
1.0.0
- First public release of REPO Twitch Integration by Schleimi.
- Streamer and optional bot authorization, 29 monster commands and Vanilla groups.
- Shared Chat Points, player upgrades, heal, revive, boom, drop, truck charge and shop reroll.
- Three-panel HUD with scrolling commands, Top 5 viewer kills and independent persistence settings.
- Run-loss chat notifications occur only once; the subsequent arena reset remains silent.
- Boom reward: +20 points, 120-second cooldown. Drop reward: +40 points, 180-second cooldown.
- Removed the experimental powerjump command and its implementation.
- New shield/chat icon matching the Schleimi mod series.