Skip to content

Corter ModSync v0.12.7 (SPT 4.0.13)

Choose a tag to compare

@github-actions github-actions released this 22 Aug 06:55
· 0 commits to main since this release

Requires SPT 4.0.13

Built against SPT 4.0.13 and declared as ~4.0.0, so it loads on any 4.0.x. It will not load on SPT 4.1.x: the server checks which SPTarkov.Server.Core a mod was compiled against and refuses to load it on a mismatch.

On SPT 4.1.x? Use v0.13.0 instead. Both lines are maintained.

Three changes, tested on live servers through the v0.12.7-pre builds. The two config features do nothing until you edit config.jsonc; the third is a one-time tidy-up each client does to its own settings file.

Changes

  • New: optional per syncPath. Set "optional": true and the client gets a working checkbox for that path in the F12 menu, starting in whatever state enabled gives it. Until now the only path a player could tick or untick was an opt-IN one ("enabled": false); this adds the other half, a mod that is synced by default but can still be refused. Unticking uninstalls what ModSync installed there.
    Do not put it on the three catch-alls (../BepInEx/plugins, patchers, config) - they carry the mods your players need to connect, so one untick would strip the modset.
  • New: removing a mod from your config now removes it from clients. Delete a mod's files from the server and delete its syncPaths entry, and every client uninstalls its copy on the next sync, with the usual prompt. Previously the entry disappearing meant clients never heard about it again and kept the mod permanently.
    ModSync records what it served in .modsync-served.json next to config.jsonc, and keeps offering a removed entry as empty until you re-add it or clear that file. Deleting the entry but keeping the files still does the opposite, by design: the entry is what carves a mod out of the catch-alls, so without it they sync it to everyone.
  • Fixed: renaming a syncPath no longer resets your players' F12 choices. Each client stored its toggles under the syncPath's name, so relabelling an entry made every player's setting for that mod revert to default and left a dead line in their config. Toggles are now stored under the path and merely displayed using the name. Each client carries its existing choices over on the first launch and tidies the old lines away; nobody has to do anything.
    This mattered more once optional existed: a reset re-ticks an opt-out path, which would have silently reinstalled a mod the player had refused.

Upgrade notes

Unzip into your game/server root as usual - clients update via sync, no manual steps.

Your existing config.jsonc is untouched and behaves exactly as before; optional defaults to false.

If you already have an entry you expected players to be able to untick, it needs "optional": true adding. An "enabled": true path has never been shown in the F12 menu, and still isn't without that option.

Docs

Coming from before v0.12.4? See the v0.12.4 notes for the one-time BepInEx/patchers/Corter-ModSync/ folder cleanup on the server/headless.

Full Changelog: v0.12.6...v0.12.7