PeakVersionBypass
Skips the game's server version check, restores the offline island timer, and auto-syncs the daily dev message (cached for offline use).
模組介紹 作者原文
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
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: