PeakVersionBypass
Skips the game's server version check, restores the offline island timer, and auto-syncs the daily dev message (cached for offline use).
About this mod Author’s original text
PEAK Version Bypass
Skips PEAK's mandatory server version check and restores the offline island
rotation timer and dev message.
Transparency note: this plugin was built with AI assistance (vibecoded,
end to end — diagnosis of the game's IL, the Harmony patches, the docs you're
reading). It still solves a real problem that affects many players — being
locked out of the game by the server version gate — and every claim in this
README was verified against a running game. Source is fully available in
Plugin.cs; read it before you trust it.
Problem it solves: on every launch, MainMenuPageHandler asks
peaklogin3.azurewebsites.net/api/VersionCheck whether your build is current.
If the server says no — or is unreachable — the game shows a
VERSIONOUTOFDATE modal whose only option is closing the game. This plugin
removes that gate entirely.
What it does
| Patch | Effect |
|---|---|
| CloudAPI.CheckVersion (prefix, skip original) | The version gate is removed: VersionOkay is always true, so the modal never appears. The response callback is still invoked locally, so the menu gets a valid island timer and dev message. |
| MainMenuPageHandler.get_CanSkipVersionCheck (postfix) | If a version modal somehow still appears, it gets a skip button instead of a single "close game" option. |
The plugin fetches the real daily dev message and shows it in the menu:
- On launch it queries the endpoint the game uses (bounded to ~2.5 s, so the
menu never freezes).
- The real message is persisted to CachedMessage and reused on later,
offline launches.
- If the server is unreachable, it falls back to CachedMessage, then
DevMessage, then the built-in default.
The island timer is replicated from the game's own offline fallback math
(NextLevelService.CreateFallbackData): 24 h rotation anchored to
2025-06-14 17:00 UTC. Countdown and island index behave exactly like the
vanilla offline mode.
Installation (mod manager)
r2modman / Gale Mod Manager: install this package from the
manager, profile PEAK, then Launch. Done.
Installation (manual)
- You need BepInEx 5 (BepInExPack PEAK) installed in the game folder.
- Copy BepInEx/plugins/PeakVersionBypass.dll into your game's
BepInEx/plugins/ folder.
- Launch the game. The version modal will not appear.
Configuration
BepInEx/config/com.black.peakversionbypass.cfg:
[General]
Fallback text shown in the menu's Dev Message slot when the real server
message cannot be fetched.
Setting type: String
Default value: we updated the frogs again
DevMessage = we updated the frogs again
Last known real dev message, auto-updated while online. Leave empty to
fall back to DevMessage.
Setting type: String
Default value:
CachedMessage =
- CachedMessage is overwritten automatically on every successful fetch.
You normally never touch it; it's what lets the menu still show the last
real message when you're offline.
- DevMessage is only a fallback: it shows when the server can't be
reached and there is no cached value yet.
Compatibility
- BepInEx 5.4.23.x (BepInExPack PEAK 5.4.75301 or equivalent), Unity 6
Mono runtime.
- Harmony patches are narrow (one method prefix + one property postfix) and
use AccessTools name-based lookup with null guards, so the plugin degrades
gracefully — it logs warnings instead of crashing if a game update renames
the patched members.
- Compatible with other plugins: it does not detour anything other mods
typically hook (no Player, NetworkManager, Photon, or Steamworks patches).
If another mod also patches CloudAPI.CheckVersion, both apply; the last
prefix returning false wins, which is the expected Harmony behavior.
Known limitations
- Multiplayer: lobbies hosted on newer game builds can still refuse your
client (Photon app-version / lobby PeakVersion property mismatch). That is
server-side intent, not something this plugin can or should bypass — play
with others on the same build.
- The Unable to start Unity log writer line some setups print at boot is a
known cosme
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: