Schleimi-RepoTwitchIntegration_by_Schleimi icon

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.

Last updated 3 hours ago
Total downloads 269
Total rating 0 
Categories Mods Tools Misc Audio Upgrades Monsters AI Generated Quality Of Life
Dependency string Schleimi-RepoTwitchIntegration_by_Schleimi-1.3.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

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

  1. 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.
  2. Click Connect Twitch in the main menu (or use F8).
  3. Choose Connect Streamer, open the displayed authorization page and approve the account connection. No personal app registration or client secret is needed.
  4. Optionally connect a separate bot account for chat output. Without an enabled connected bot, the streamer account sends replies.
  5. 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.

Loot-round limits

The current loot level is completed levels + 1 (first loot round = level 1). By default:

  • At most level chat monster groups may be active or pending globally. Gnomes/Bangers each count as one group. The center HUD shows occupied group slots, e.g. Active Chat Monsters: 2/3.
  • Each Twitch viewer can successfully summon level groups per loot round, with at most one active/pending group at a time.
  • Through level 20 inclusive, each viewer can summon each monster species only once per loot round. Aliases share the same species. Random spawns choose only eligible species. From level 21, species can repeat.
  • Each viewer gets level successful uses of !boom and separately level uses of !drop per loot round. Their 5-minute/10-minute personal cooldowns still apply and persist between rounds.
  • Quotas and species availability reset on the next round. Failed actions do not consume a use; a partially successful group counts once.
  • Two connection-menu toggles, Unlimited monster limits and Unlimited boom/drop uses, default to OFF. The first bypasses global count, summon quota and species restriction, but retains one active group per viewer. The second bypasses boom/drop round quotas only. Usage is still recorded while unlimited is on. These per-round counters are session-local and are not restored after restarting the game.

Boom and Drop are available in loot rounds. Boom rewards confirmed launches; with three hits it pays 40 points. Drop snapshots distinct holders at activation (three holders = 120 points) and pays once after at least one drop is confirmed. Holding multiple objects does not multiply a player's reward. No confirmed effect means no reward or consumed use.

Chat commands and shared points

Help prices apply once per command. Boom and Drop rewards depend on affected players as listed below. 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.
!tts Hello Free The host robot speaks the text using Vanilla TTS, including normal network playback for other players. No brackets needed.
!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 +10 base +10 per player hit Cauldron-style launch and 3 seconds of tumbling for living players. 5-minute cooldown per viewer after success.
!drop +40 per player holding an object at activation Living players release their held physical objects. 10-minute cooldown per viewer after success. Inventory slots are not emptied.
!heal −20 All living injured players gain up to 30 HP, capped at their maximum.
!revive −250 Revive dead connected players with 1 HP and return them to their original truck start positions (the level entry positions in the shop). No extra truck healing is consumed. 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 −50 Use the shop's Vanilla upgrade-machine reroll without its game-money charge. Details below.
!upgrade, !upgrades 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 4x gain (twice the previous mod version) 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 300 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.
  • 50 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.

Twitch robot speech

Use !tts Hello everyone. Up to 200 characters; no brackets required. Available with a living host in a loaded level or shop. TTS requests wait in arrival order while the host robot speaks, with a one-second pause between messages. Up to 20 messages can wait. Waiting messages expire after two minutes and are cleared on host death, level change, loss of host authority, or disconnection. No points are charged or rewarded. Normal game speech volume, distance and crouching/whisper rules apply. Angle brackets are removed from text formatting; text is never executed as a game command.

Reset & Debug

Open Connect Twitch or press F8, then select Reset & Debug. Copy Debug Info provides version, host role, connection and HUD state without tokens or login codes. Reset Saved Mod Data removes local streamer/bot sign-ins and restores settings after confirmation; authorize the streamer again afterwards. Points and viewer kill rankings are preserved unless you explicitly select their deletion. Close the game and share BepInEx/LogOutput.log if a problem remains.

The connection window is 20% larger and opens centered. Permanent Chat Points and viewer ranking storage default to ON for new configurations and after resetting settings. Existing saved preferences are retained on update.

Kill attribution

Native direct kill attribution takes priority. Missing enemy references on host-side damaging colliders are resolved from the collider owner without changing damage. A short host-observed contact fallback can cover otherwise unattributed deaths of unmodded remote players, but is not proof of the client's damage source.

Upscream's thrown target and Bowtie's yell target receive a 10-second attribution window. Mentalist's captured, tumbling players receive the same window when smashed down. Attack-time visibility checks also cover additional players. Otherwise unattributed deaths within these windows can count, including environmental deaths. The latest qualifying attack wins; native direct causes retain priority.

Rugrat's actual thrown-object damage is attributed for two seconds after a successful throw, using the native damage RPC. Mere visibility does not qualify. Later collisions and secondary effects from other objects are not attributed by this mechanism.

Trudge and Oogly hits on player tumble bodies have an additional 0.5-second fallback for deferred breaks/destruction. Pure pulling force does not set this fallback. Some mixed-monster or delayed-damage deaths can still remain unattributed; one Trudge test death remains unresolved.

Each death awards at most once. Tracking is cleared on revival, level/channel changes and loss of host authority. Hidden receives no attack window. Diagnostic log entries help investigate missing credit.

Clown laser contacts open an independent three-second fallback for each living player touched by its attack colliders. Further contacts refresh that player's window. Multiple victims can each award one kill; native identified causes take priority. This host-observed contact fallback can also include subsequent environmental deaths within the window.