Skip to content

Corter ModSync v0.13.0 (SPT 4.1.x)

Choose a tag to compare

@github-actions github-actions released this 10 Aug 12:45
· 0 commits to main since this release

Requires SPT 4.1.x

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

Still on SPT 4.0.x? Stay on v0.12.6. That line is still supported on the SPT4.0.x branch — both versions get fixes.

Changes

  • SPT 4.1 support. The server mod is ported to the 4.1 API: IPreSptLoadModAsync was removed (it's IOnLoad + OnLoadAsync now), IHttpListener changed shape, and log colours moved from LogTextColor to Spectre. No config changes are needed — your config.jsonc carries over as-is.
  • The server mod now installs to SPT_Runtime/user/mods/. SPT 4.1 renamed its server folder from SPT/ to SPT_Runtime/, and the zip follows. Extract into your game root exactly as before. Client-side paths (BepInEx/, the Updater at the game root) are unchanged.
  • Everything targets .NET 10 now, including ModSync.Updater.exe. SPT 4.1 runs on .NET 10, and .NET doesn't roll forward across major versions — a .NET 9 Updater would simply refuse to start on a clean 4.1 install.
  • Fix: mods that ADD files outside their own folder are now uninstalled properly. baseFiles assumed a mod always replaces a base-game file, so it treated "no .modsync-bak" as proof the file belonged to the game and refused to delete it. Mods that add a file instead of replacing one — DynamicMaps ships two Unity assemblies EFT doesn't have — left those files behind when removed, and their F12 entry locked itself so it couldn't be re-ticked either. Removal now keys off the backup alone: a .modsync-bak means restore the original, no backup means the mod added the file, so it's removed like anything else. Mods that genuinely replace a file (Tarkov DLSS's nvngx_dlss.dll) are unaffected — they still get a backup and still restore on opt-out.

Upgrade notes

Unzip into your game root as usual — clients update themselves via sync, no manual steps.

Your config.jsonc is untouched and needs no changes for 4.1.

If you ran 0.12.6 with a baseFiles entry for a mod that adds files (DynamicMaps), those files were left behind when the mod was removed. They're inert on their own, and 0.13.0 cleans them up the next time that mod is un-ticked.

Testing status

Run on a live SPT 4.1.2 server with both a Fika headless and a real player client, syncing several mods end to end. Both test suites are green in CI as well.

That includes DynamicMaps, which is the mod the baseFiles fix above was written for: the case where a mod adds files EFT doesn't ship rather than replacing existing ones. Install, sync and removal all behaved as expected.

Not every configuration can be covered by one server, so if you hit something, please open an issue.

Docs

  • Mods that replace base-game files — how baseFiles backs up and restores originals. Note the wiki documents the 4.0.x line; the removal behaviour described above is 4.1-only for now.
  • Usage Examples — worked config.jsonc setups, from minimal to a real server

Full Changelog: v0.12.6...v0.13.0