PublicGameSaves
Host public games from your private saves - and they keep saving like normal. Host-only.
模組介紹 作者原文
PublicGameSaves
A R.E.P.O. mod that lets you host public games from your saved games — and keeps saving them, exactly like private games.
- Server List → Create New → type your server name → Confirm now opens the save selection screen: pick a save and press Load Game to continue it publicly, or press New Game for a fresh run.
- Progress in public games you host is saved to disk just like in private games (when you leave from the truck, between levels, etc.), so you can keep the run going next session — publicly or privately.
- Optionally, random matchmaking games you end up hosting are saved too (configurable).
- Host-only mod. People joining your server don't need it. Clients never write save files (vanilla already protects this).
How it works
After you confirm the server name, the mod opens the vanilla save selection page. Picking a save runs the game's own "host an open online game" sequence (SemiFunc.MenuActionRandomMatchmaking) with your save file attached, then sets the lobby type to Public and applies your server name — the exact same state the vanilla Create New flow produces, so the server is named, listed, and joinable like any other public server.
Saving was blocked by a single check: StatsManager.savedLobbyTypes only contained Private, so SaveFileSave skipped writing the file in public lobbies. The mod adds Public (and optionally Matchmaking) to that list. Everything else — save timing, backups, save-on-leave — is untouched vanilla behavior.
Install
- Install BepInEx 5 (BepInExPack for R.E.P.O.) if you don't have it.
- Drop PublicGameSaves.dll into \BepInEx\plugins\.
- Launch the game. The config file appears at BepInEx\config\com.nikola.publicgamesaves.cfg after first run.
Config
| Setting | Default | Description |
|---|---|---|
| SavePublicGames | true | Save progress in public (server list) games you host |
| SaveMatchmakingGames | true | Save progress when you end up hosting a random matchmaking game |
Building from source
Requirements:.NET SDK (8.0 or newer is fine).
- Put Plugin.cs and PublicGameSaves.csproj in a folder.
- Open PublicGameSaves.csproj and set ` to your R.E.P.O. install path if it isn't D:\Steam\steamapps\common\REPO`.
- Open a terminal in that folder and run:
dotnet build -c Release
- The DLL is at bin\Release\net472\PublicGameSaves.dll — and if BepInEx\plugins exists, the build copies it there automatically.
Visual Studio works too: open the.csproj directly (or add it to a solution) and press Build.
When the game updates and something breaks, rebuild against the new Assembly-CSharp.dll — the compiler and the BepInEx log will point at whatever changed.
Compatibility notes
- Patches: StatsManager.Awake, MenuPageServerListCreateNew.ButtonConfirm, MenuPageSaves.OnLoadGame/OnNewGame/OnGoBack/UpdateGameModeHeader, MenuPageMain.Start (all prefix/postfix, no transpilers, no IL edits — update-friendly).
- Random matchmaking is untouched UI-wise (no save picker there), because you can't know in advance whether you'll host or join someone else's room.
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: