| Date uploaded | a day ago |
| Version | 1.1.0 |
| Download link | Kristal483-BadScoutWatcher-1.1.0.zip |
| Downloads | 27 |
| Dependency string | Kristal483-BadScoutWatcher-1.1.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.2403README
BadScoutWatcher 1.0.0
BadScoutWatcher is a BepInEx mod for PEAK that monitors multiplayer movement and item-drop activity, records suspicious events, and displays a per-player suspicion score. It also includes optional host enforcement and anti-fling protections.
AI disclosure: BadScoutWatcher was made with AI assistance.
Features
- Suspicion meter and evidence: Shows tracked players, threat scores, color-coded risk tiers, recent detections, and event history. Scores cap at 100 and decrease by 10 points for every 60 seconds without a new flag.
- Airborne detection (+10): Flags a remote player who remains ungrounded for 10 seconds without landing or taking injury. Climbing and recognized flight states are excluded. The event records the highest sampled position.
- Speed detection (+10): Flags remote movement averaging more than 28 m/s across a three-frame sample buffer.
- Item-flood detection (+30): Flags when more than four item drops are observed in a one-second window and the rapid-drop sequence also exceeds four, with consecutive drops less than 0.25 seconds apart. When enabled on the host, the detected spawned item is removed where possible.
- Landing / Height Damageable Fall (+5): Checks falls of at least 22 m. It waits 1.5 seconds after landing and flags only if no fall injury is detected. Lower falls do not trigger this check.
- Warp detection (+5): Flags a position change greater than 50 m over a sampling interval shorter than two seconds, unless PEAK identifies it as a recent game warp.
- Anti-Fling Guard: Temporarily disables collisions between the local player and a high-speed remote player. If a player stays airborne for five seconds, it uses PEAK’s warp routine to return them to their most recently saved grounded point and stop ragdoll velocity. As host, the recovery is sent to the other clients as well.
- RPC Shield: Can reject malformed incoming Photon RPC payloads and limit each remote sender to 60 accepted RPCs per rolling second.
- Host controls: Manual kick is available for untrusted players. Optional Auto-Kick removes a player who reaches 100 threat. The host can also enable item removal for detected floods.
- Local mute and trust controls: Mute silences audio sources on the tracked player object locally. Trusted players are excluded from suspicion scoring, and their Kick button is hidden.
- Menu and theme settings: Toggle the overlay with F2 by default, change its keybind, and customize its appearance.
Threat tiers
| Score | Tier | Color |
|---|---|---|
| 0–24 | Clean | Light gray #D9D9E6 |
| 25–49 | Low risk | Green #00FF00 |
| 50–74 | Medium risk | Orange #FFA500 |
| 75–99 | High risk | Red #FF0000 |
| 100 | Cheating | Magenta #FF00FF |
Important notes
- BadScoutWatcher uses movement packets and observed item-drop events as heuristics. A flag is evidence to review, not proof that someone is cheating; unusual gameplay or network conditions can cause false positives.
- Movement-based threat scoring inspects remote players. The local player is not movement-scored by these detectors, although the Anti-Fling Guard has a separate local recovery path.
- Kick, Auto-Kick, item removal, and broadcast recovery require the room Master Client (host). A non-host can only affect the local view of other players.
- RPC Shield is a basic payload and rate filter, not a complete network security system. If an unexpected Photon/game type causes inspection to fail, it logs the error and allows that RPC through.
- Default settings: Auto-Kick is off; item deletion, RPC Shield, Anti-Fling Guard, and opening the menu on startup are on.
- Built for PEAK with BepInEx. Install the DLL through a compatible PEAK mod profile.
CHANGELOG
# Change logs
## 1.1.0
Added coloring wheel, item flood, anti-fling, sync, banner, and player voice mute fixes.
## 1.0.4
Delete or stop item spamming under testing in this version.
## 1.0.3
Fixed the text clipping. The banner now has more vertical padding and extra height around its measured text, and button padding is smaller so labels fit inside fixed-height buttons.
## 1.0.2
Updated the item-spam rapid-drop interval to 300 ms. The existing threshold of more than four drops within one second remains unchanged.
## 1.0.1 I found and fixed several sync hazards, then built BadScoutWatcher 1.0.1.
- The RPC Shield now warns about high RPC rates without dropping valid game RPCs, which could interrupt movement or spectating updates.
- Clients no longer warp remote character copies locally, and disabling Anti-Fling no longer writes a cached position back onto a replicated character.
- Remote recovery now requires a suspected fling. Stable, near-ground packets that incorrectly report “not grounded” are treated as ground contact after 0.75 seconds.
The existing BepInEx log showed no RPC drops or movement-detector errors, so I can’t confirm those caused the freeze. It did show implausible height readings, including about 5,004 m. I also couldn’t verify Alpine Extended’s blizzard behavior directly; its wind may still trigger a speed warning because the mod has no weather-state integration.