REPO Fixes Antispam Latency Fix
Fixes the bugs that wreck modded R.E.P.O lobbies: error floods and stutter, voices going silent, enemies stuck mid-attack, locked extractions, lost slot items, timeout kicks, and bugs in popular mods. Every fix can be switched off. Only you need it.Changelog
1.3.2
- New (RepoCasino only,
OtherModGuards, host): the blackjack table no longer stops working after a long session. RepoCasino deals every card as a new network object and only hid old cards between hands, so after about 30 minutes the room ran out of object IDs ("out of 'room' viewIDs") and no new hand could be dealt. The host now deletes a hand's cards when the hand ends. Works for players without the mod.
1.3.1
- New (BetterMap Fixer only,
OtherModGuards): no more lag that builds up and stays. BetterMap Fixer added a new map icon to a player for every revive message, even ones the game ignored: one player's own GameTools sent about 80 a second for 6 minutes, leaving 14,800 icons on them, a 3-second freeze when they were really revived, and about half the frame rate until the level ended. A player now keeps one icon. Its icon removal on death also no longer throws an error.
1.3.0
- New setting
StuckVoiceFix(on): fixes one player's voice going silent for you alone (everyone else still hears them) until they leave and rejoin. When their game restarts its voice stream and the new stream arrives before the old one ends, the new one now takes over, and if someone is talking but nothing has played for 4 seconds, their voice is re-linked. - New (See who is talking only,
OtherModGuards): it shows the right player's name as speaking. It used the voice chat's player number, which drifts apart from the game's as players rejoin.
1.2.9
- New (GameTools only,
OtherModGuards): a host's GameTools heal request heals you once. Its leftover request used to heal you to full 10 times a second for as long as it stayed (960 heals in under 2 minutes in one lobby), which looks like god mode to everyone else and can get you banned.
1.2.8
- New (SoloHUD only,
OtherModGuards): players' name tags show over their heads in levels again. SoloHUD keeps the map switched on for its minimap, and the game hides name tags while the map is open; now only holding the map tool hides them. - New (GameTools only,
OtherModGuards): no more revive flood. When the host revived a player who also has GameTools, GameTools left a "revive yourself" request that player's game answered up to 10 times a second for minutes (48,000+ revives in one session). The host's own revive is used instead, and players with this mod ignore such requests. - New setting
HideKinematicVelocityWarnings(on): hides Unity's "Setting linear/angular velocity of a kinematic body is not supported" warnings that cosmetics (hair, outfit pieces) trigger thousands of times a session.
1.2.7
- New (Repo Admin Menu only,
OtherModGuards): its per-player checks threw when someone joined (Steam ID not known yet), skipping the game's own update for that frame. - New (
LevelTeardownErrorGuards): a player dying before their colours arrived left their body standing (the death stopped halfway with an error); a joiner's grab upgrades weren't applied when their Steam ID wasn't known yet; one error when a player leaves while you turn a held object; and an error every frame on the host after a player left (or was kicked) while holding a door, lever or other fixed object. - New (
SpawnedItemsKeep, host): items spawned by a mod (e.g. Repo Admin Menu) disappeared at the next level and could take the saved name of an item a player already had, mixing the two up. They now get their own name and count as owned, like shop items. - New (
TruckItemsKeep, host, with NoItemSpawnLimit): bought items that don't fit the truck's spots no longer come back outside the truck or in a wall; they go on top of truck spots of their size. - New (XH DamageShow & EnemyHealthBar only,
OtherModGuards): its Chinese welcome popup in the middle of the screen is hidden. - New (
ExtractionSoftlockFix, host): a player joining mid-level after the first extraction was finished could make the host start that finished point again, locking every other extraction point for the rest of the level. The host now only starts a point that is ready.
1.2.6
- New (GameTools only): a player who dies in a cart is no longer revived on the spot by GameTools' cart revive (and killed again a second later); it waits until their head is taken out and put back.
1.2.5
- New: no more red
EnemyDirector.Starterror every time the truck loads (LevelTeardownErrorGuards).
1.2.4
- New: a Spewer latched onto a player when the level changes no longer stays stuck (and erroring every frame) into the next level (
EnemyAttackFix). - New (LateJoinNow only,
LateJoinNowPrivateLobbyFix): in private games LateJoinNow no longer re-opens the Steam lobby every 5 seconds. - New (
ServerListJoinRetry): joining from the server list retries "Game closed" / "Game full" up to 4 times instead of sending you back to the main menu. - The version shown by BepInEx now matches the package (it had stayed at 1.2.1).
- Late-join map sync and level-piece repair, tested in development builds of this mod, ship as their own mod: LatejoinMapSyncFix.
1.2.3
- New option
ToggleMuteShowIndicator(Toggle Mute only, default on): turn it off to drop Toggle Mute's on-screen MUTED text and its "Could not find text to clone" error, while keeping the mute toggle (and its "not while typing in chat" check).
1.2.2
- New (LateJoinNow only,
LateJoinNowVoiceFix): players who join mid-level without LateJoinNow now receive the other players' voice chat objects. LateJoinNow's message for this was refused by Photon every time. - New (GameTools only): its extraction-point auto revive waits while an extraction is running. Before, the revived player was killed again by the tube and then missed by the game's own end-of-extraction revive.
- New: no more error burst from the fog code right after leaving a match or being kicked.
- Added a LICENSE file (all rights reserved; using it and listing it in modpacks is fine).
1.2.1
- New: stops a per-frame error flood from a character that never finished setting up (the character preview in menus, or a player on a different game version). The preview is linked up properly; anything else is skipped quietly and named once in the log.
- New: being revived no longer crashes the spectator camera's cleanup and skips the end of the revive.
- New: no more error burst from the room lighting right after leaving a match.
- New (GameTools only): only the lobby host can remotely kill, revive or heal you, and a kill + revive requested at the same time (which looped) is ignored.
- All of the above are under the existing
LevelTeardownErrorGuardsandOtherModGuardsswitches.
1.2.0
- New: Slow Walker stuck-attack fix (
EnemyAttackFix). - New: more level-teardown error guards -
PlayerEyes.ClosestPhysGrabPoint,PhysGrabObject.PhysicsGrabbingManipulation,PhysGrabber.OverrideDisableGrabLookAt(underGrabBeamAntispam) and the tumble wings upgrade (LevelTeardownErrorGuards). - New: items in extra inventory slots (4+) carried between levels (
ExtraSlotsKeepItems). - New: longer connection timeout, 30 s by default (
ConnectionTimeoutSeconds). - New: lighter logging - no stack traces for ordinary log lines and warnings (
NoStackTracesOnInfoAndWarnings). - New: guards for other mods, only active when installed (
OtherModGuards): Hauler Unlimited Storage no longer destroys non-valuables, Crouch And Crawl Sprint no longer errors during level loading, Toggle Mute's MUTED indicator shows up, CartSpeedSync's no-op physics calls skipped, GameTools' repeated lobby-setting broadcast skipped. - New: Empress Gameboy pauses while nobody is playing (
GameboyPauseWhenIdle). - Instant grab beam now runs after other mods' prefixes on the same methods.
- Optional mods are detected through BepInEx before looking up their code, so missing ones no longer log HarmonyX warnings.
1.1.1
- No functional changes. Fixes the website link (was blank on 1.1.0 due to a CI publishing bug) to point to the Discord.
1.1.0
- New: LateJoinNow equipped-item fix. LateJoinNow's level-change cleanup destroys every player's currently-equipped gear, host included - this adds equipped items to its own keep list so they survive. Has its own setting,
LateJoinNowEquippedItemFix. Requires LateJoinNow; does nothing if it isn't installed.
1.0.3
- New: revive item fix. Stops the revive item getting stuck on a dead player who left the lobby, which threw an error every frame until the level ended. Has its own setting,
ReviveItemFix. - Removed the LateJoinNow and MorePlayers dependencies again, so installing this mod no longer installs them. BepInEx is the only dependency.
1.0.2
- Lists LateJoinNow and MorePlayers as dependencies, so they install alongside this mod and show up as its associated mods. No functional changes.
1.0.1
- Rebuilt without debug metadata, so the DLL carries no build paths. No functional changes.
1.0.0
First combined release. Merges three separate fixes into one mod, each behind its own setting:
- Enemy tracker fix (late joiners): registers joining players with every enemy tracker in the scene, registers current players with each new tracker, and self-heals
EnemyOnScreen.GetOnScreen. - Grab beam antispam: null guards for
PhysGrabBeam.DrawCurveand a catch-all finalizer forPlayerEyes.LookAtTransform. - Instant grab beam: your own beam turns on and off locally without waiting for the network round trip.
New in the combined version:
- Per-fix on/off settings.
- Each patch is applied on its own, so one that can't apply doesn't stop the others.
- Suppression messages are rate limited so the antispam fixes don't spam the log themselves.
