PeakVs
Turns PEAK multiplayer into checkpoint races with private loot and item effects, ghosted rivals, synchronized splits, FF respawns, and automatic campfires.
By Ugleh
| Date uploaded | 2 months ago |
| Version | 0.2.0 |
| Download link | Ugleh-PeakVs-0.2.0.zip |
| Downloads | 72 |
| Dependency string | Ugleh-PeakVs-0.2.0 |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301README
PeakVs
PeakVs turns a normal PEAK multiplayer run into a checkpoint race. Everyone climbs the same mountain, but each racer gets private loot and private item effects.
This is an early multiplayer release. Every player in the lobby must install the same PeakVs version. Host-only installation is not supported.
Race rules
- Other racers remain visible as translucent scouts, with player-to-player collisions and helping disabled.
- Every racer can independently open each luggage container and collect its contents. A luggage roll is deterministic, so each racer receives the same opportunity without consuming anyone else's copy.
- Existing world loot is cloned into a private Photon group for each racer.
- Held items and spawned item effects are private to their owner. This includes rope launchers, rope spools, anchors, rope grabs, and similar network-spawned effects.
- Campfire areas suppress hunger even before the fire is lit.
- Scoutmaster spawning and targeting are disabled.
- The Cursed Skull, Scout Effigy, Scoutmaster bugles, and items marked by PEAK as multiplayer-only are excluded.
- The respawn statue gives each racer an Ancient Idol instead of reviving other racers.
- The top-center TextMeshPro race HUD uses PEAK's own display font and shows the current biome timer plus every player's finish or FF time.
- Touching the current campfire records a finish. Dying records an FF for that biome.
- When every connected racer has finished or FF'd, the host lights the checkpoint automatically. Dead racers are revived, all racers are gathered at the campfire, and the next biome timer begins from a common start.
Installation
Install through a Thunderstore-compatible mod manager, or copy BepInEx/plugins/PeakVs/PeakVs.dll into your PEAK installation's BepInEx/plugins/PeakVs folder.
All racers must use PeakVs 0.2.0 together. The HUD reports MOD MISMATCH when a peer has not published matching race state; the checkpoint waits rather than advancing an incomplete lobby.
Configuration
Press F6 in PEAK to open the PeakVs menu. Every racer can change the HUD and rival display locally. The host also gets race controls for toggling automatic advancement, restarting the current split, or forcing a stuck checkpoint.
The same options are stored in BepInEx/config/dev.peakvs.racemode.cfg:
Visuals.RemoteScoutOpacity: opacity for other racers, from0.15to0.9(default0.45).HUD.ShowRaceHud: show or hide the timer and standings (defaulttrue).HUD.HudScale: scale the timer and standings from0.7to1.5(default1.0).HUD.MenuToggleKey: key used to open the PeakVs menu (defaultF6).Race.AutoLightCheckpoints: automatically advance after all results are in (defaulttrue).
Compatibility
- Built for PEAK
2.0.a(8aea2f16d). - Built for BepInEx 5 / BepInExPack PEAK
5.4.75301. - Mods that replace inventory authority, luggage spawning, campfire progression, player interaction, or Photon item instantiation can conflict with PeakVs.
Report multiplayer issues with the host and client BepInEx/LogOutput.log files and the exact PEAK/PeakVs versions.
CHANGELOG
Changelog
0.8.0
- Added automatic local checkpoint PB history, categorized by PEAK version, level scene, ascent, player count, and matched/independent luggage rules.
- Added green/red live PB pacing and gold split feedback, all kept to tenths to match the race timer.
- Enhanced the compact F7 HUD with personal PB pace, attempt number, altitude, and distance to the current campfire.
- Added local PB comparisons to the full standings without sending personal history over the network.
- Added a Split Stats toggle to the F6 menu. Records are stored in
BepInEx/config/PeakVs/split-records.json.
0.7.3
- Made translucency a continuously enforced property of every rival-owned visual instead of relying on its initial spawn state.
- Reasserts opacity only for the bounded set of registered racer objects, fixing PEAK material resets on dropped items and placed pitons without scene-wide renderer scans.
- Continues to discover new rope renderers only when the rope segment count changes, then maintains their translucent state alongside other rival objects.
0.7.2
- Fixed PEAK's item material-property cache overwriting rival translucency after drops, placement, item-data updates, and hover transitions.
- Reapplies owner presentation after relevant item state changes while preserving the existing owner-only pickup and use guards.
- Restricted each Scout Cannon's close-range push/pull field and player launch effect to the racer who placed it.
- Prevented Scout Cannons from launching rival-owned items while retaining their visible translucent presentation.
0.7.1
- Made equipped backpacks and fanny packs strictly owner-only in race mode.
- Blocked rival backpack prompts, hold interactions, wheel initialization, item selection, stashing, fueling, and inventory RPC mutation.
- Changed missing or unresolved equipped-backpack ownership to fail closed instead of allowing access.
0.7.0
- Added in-menu rebinding for the F6 menu and F7 compact-HUD controls, including conflict-safe key swapping.
- Replaced the package thumbnail with original PEAK character fan art and preserved the full-resolution source in the project.
- Fixed non-host drops passing PEAK's master-only spawn branch locally and public racer drops being mistaken for world loot, which caused linked duplicates, invisible host drops, repeated backpack copies, and opaque non-host drops.
- Made logical ownership explicit for held, dropped, backpack-display, rope, piton, vine, and constructed objects without treating ordinary master-owned world objects as host loot.
- Added owner-only interaction guards across PEAK interactible types, including piton handles, ropes, vines, and placed fuses, while keeping rival objects visible at ghost opacity.
- Added host-authoritative backpack inventory resync and stale visual cleanup to prevent suitcase-to-pack item loss and ghost contents.
0.6.0
- Added a strict lobby compatibility handshake: PeakVs gameplay remains disabled unless every active player advertises the exact same mod version.
- Restored vanilla Scoutmaster and multiplayer-loot behavior whenever the compatibility gate is not satisfied.
- Added an
F7full/compact HUD toggle. Compact mode displays only the local racer's live or latched split time. - Added an explicit disabled/version warning to the F6 menu for mixed or unmodded lobbies.
0.5.0
- Removed recurring scene-wide item, Photon-view, Scoutmaster, and campfire searches from gameplay updates.
- Replaced one coroutine per discovered item with a bounded shared-item work queue.
- Added object-local presentation caches that are released with their object instead of retaining destroyed renderers and colliders globally.
- Changed growing ropes to process only new renderers and collision pairs instead of reprocessing every existing segment.
- Uses material property blocks for PEAK shaders with native opacity support, avoiding unnecessary material instances and preserving more renderer batching.
- Reduced routine room-state, checkpoint, standings, menu, and font-search work while keeping the timer at tenths.
- Avoided redundant cached ownership events for normal player-owned items and bounded the remaining ownership/event caches by object lifetime.
0.4.0
- Restored PEAK's host-authoritative dropped-item lifecycle, fixing observer-only drops, stale pickup copies, and repeated backpack ghosts.
- Added shader-compatible translucency for held, dropped, worn, and placed rival objects.
- Limited ghost ownership processing to explicitly tagged racer effects so luggage and ancient statues remain solid and collidable.
- Removed rival rope and chain interaction prompts and hardened owner-only use for rescue claws, anti-ropes, dynamite, lantern safe zones, Magic Bean vines, Mandrakes, and Ritual Daggers.
- Kept Scout Effigies blocked at both loot generation and construction time.
- Changed ancient statues to give each racer their normal private mystical-item roll instead of an Ancient Idol or a cross-player revive.
- Reduced timer precision to tenths, removed duplicate live row timers, and hides the large shared timer once racer splits differ.
- Reduced repeated renderer, collider, and standings work to improve frame-time stability.
0.3.0
- Made held, thrown, and placed rival items visible at low opacity while keeping them owner-only.
- Disabled player/player and rival-item collisions, including thrown-item impacts against other racers.
- Applied the ghost treatment to worn packs and disabled chicken replacement visuals in race mode.
- Made worn backpack and fanny-pack contents owner-only and fixed stale contents after removing an item.
- Fixed matched luggage generation by deterministically seeding both random-number sources used by PEAK.
- Added a host toggle for matched versus independent luggage rolls.
- Reduced the standings HUD size and repaired menu label bounds and button contrast.
0.2.0
- Replaced the prototype IMGUI standings with a resolution-scaled TextMeshPro HUD using PEAK's display font.
- Added an F6 menu for HUD visibility, HUD scale, and rival opacity.
- Added host-only controls for automatic checkpoint advancement, split restarts, and checkpoint recovery.
- Added synchronized split generations so a host restart resets all racer states and times.
0.1.0
- Added synchronized per-biome race timers and standings.
- Added latched finish and FF checkpoint results with automatic campfire progression.
- Added checkpoint revival for dead racers.
- Added independent luggage, respawn-statue, and shared-world loot.
- Added owner-private inventory items, network-spawned item effects, and rope interaction.
- Added translucent, non-interacting rival scouts.
- Added campfire hunger protection.
- Disabled Scoutmaster and multiplayer-only loot.