Blackhorse311 — Keep Starting Gear (SPT 3.11.x) 1.1.3

Do not ask when mod authors will update their mods or if they can upload older versions of their mods.
Bothering mod authors will lead to warnings and repeat offenses will lead to bans.
Due to an unusually high volume of traffic, our site may be experiencing intermittent slowdowns. If you notice any issues, log out of your account and browse anonymously so you can better utilize caching or try using forge.sp-tarkov.com to search for and download mods.

Keep your starting PMC gear if you die in a raid.

- **SHA‑256 (v1.1.3):**

`c2dd859eef77d9ac2d841e79469963d3a21e0098ed616df21c321b0f5d35fedc`


# Blackhorse311 — Keep Starting Gear (SPT 3.11.x)


Keep the **PMC gear you entered the raid with** if you **die**. The mod snapshots your equipped kit on raid start and restores it when you return to the main menu after a death-like exit.


- Hooks the game via HTTP route hooks (no fragile service overrides)

- Robust exit detection (`results.result`) and PMC detection (profile side + `.Pmc.` in `serverId`)

- Restore happens **after** SPT finishes post-raid work, so nothing overwrites it

- Configurable: restore only certain equipment slots, exclude secure container, restore quickbar, more


Tested on **SPT 3.11.3** using payloads where exit is in `results.result` and PMC side in `profile.Info.Side`.


---


## Installation


1. Extract this folder into `SPT/user/mods/`.

2. Start **SPT.Server.exe**, then **SPT.Launcher.exe**, click **Play**.

3. In server logs you should see:

- `Static route hooks registered (start/end/after).`

- On raid start: `[start] isPMC=true ...` + `Snapshot saved (NN items).`

- On death: `[end] exit='killed' ... queued=true`

- Back at menu: `[after] performed restore ...` + `Restored starting kit (NN items).`


---


## What it restores


- Your **equipped PMC items** that were under the `equipment` root when the raid started (weapons, armor, clothing, containers depending on config).

- Optionally your **quickbar/fastPanel** (1..9 hotkeys).


It does **not** touch stash, XP, quests, etc.


---


## Configuration (`config.json`)


| Key | Type | Default | Description |

|---|---|---:|---|

| `restoreOn` | string[] | `["killed","missinginaction","mia","left"]` | Exit results that trigger a restore. |

| `treatRunnerAsSuccess` | boolean | `true` | If `true`, **Runner** exit will **not** restore. |

| `logLevel` | `"warn" \| "info" \| "debug"` | `"warn"` | Amount of logging. |

| `persistSnapshotsOnDisk` | boolean | `true` | Also write snapshot files under `state/`. |

| `dumpEndPayload` | boolean | `false` | Dump raw `/end` body to `state/last-end-payload-<sid>.json` (debug). |

| `forceRestoreIfExitUnknown` | boolean | `false` | Restore even if exit is missing/unknown. |

| `equippedOnly` | boolean | `false` | Convenience mode that **defaults** to excluding container slots (`Backpack`, `Pockets`). Combine with `excludeSlots` for finer control. |

| `excludeSecureContainer` | boolean | `false` | Exclude `SecuredContainer` from restore. |

| `excludeSlots` | string[] | `[]` | Names of **root equipment slots** to exclude entirely (root + all contents). Examples: `"Backpack"`, `"Pockets"`, `"TacticalVest"`, `"SecuredContainer"`. |

| `restoreQuickbar` | boolean | `true` | Restore fastPanel (1..9 hotkeys). |


**Notes**


- *Equipped‑only:* If you want **no backpack** restoration, set `equippedOnly: true` (which excludes `Backpack` + `Pockets` by default). If you also wish to exclude rig contents, add `"TacticalVest"` to `excludeSlots`.

- Slot names are taken from the `slotId` on **direct children** of `Inventory.equipment` (e.g. `Headwear`, `ArmorVest`, `TacticalVest`, `Backpack`, `Pockets`, `SecuredContainer`, `Holster`, `FirstPrimaryWeapon`, etc.).


---


## Compatibility


- Designed for **SPT 3.11.x** (tested 3.11.3).

- Uses **StaticRouterModService** to hook only three endpoints: `/client/match/local/start`, `/client/match/local/end`, `/client/game/profile/list`.

- Avoids replacing `LocationLifecycleService`, making it more resilient to updates and other mods.


---


## Known limitations


- Only applies to **PMC raids** (intended design). SCAV is ignored.

- Insurance / mail systems still function normally. Restoring your starting gear does not cancel insurance processing.


---


## Uninstall


Delete the folder `user/mods/blackhorse311-keepstartinggear`. No permanent changes are made besides your saved profile updates.


---


## Credits


- **Blackhorse311** — author

- **GPT‑5 Pro** — AI assist (design, debugging, docs)

-**SPT User: LIKLY** - Giving me the idea and wanting to produce one for 3.11.3


---


## License


[MIT](./LICENSE)

  • Version 1.1.3

    1.1.3

    Fix – Secure Container restore: Resolved the edge case where restoring gear could clash with the game’s inventory processing, leading to secure‑container items not being kept or to parent/child re‑parenting issues. Restore now happens using a late “after” hook so the game finishes its post‑raid updates before we put your kit back.


    Safer late restore path: Uses the post‑menu route to minimize conflicts with insurance/mail and other mods that touch inventory right after a raid.


    Exit handling polish: Exit result matching is now case‑insensitive and honors your restoreOn list. Runner exits are treated as success by default (treatRunnerAsSuccess: true), so no restore occurs unless you override it.


    Config clarity: Documented how equippedOnly acts as a convenience preset that excludes Backpack + Pockets (and how to add more via excludeSlots). excludeSecureContainer remains a simple on/off switch if you want to avoid restoring it entirely. See the Configuration table above.


    Diagnostics: Cleaner logs at info level; set logLevel: "debug" to see snapshot counts, exit decisions, and when a restore is queued/performed. Optional on‑disk snapshots (persistSnapshotsOnDisk) and raw end payload dumps (dumpEndPayload) remain available for troubleshooting.

  • Version 1.1.1

    Fix: Download button now points to the direct GitHub asset (no code changes).

  • Version 1.1.0

  • So just so I understand this correctly:

    This mod makes it to where when you die in raid, you don't lose your gear, BUT it only saves what you took in raid, meaning nothing you looted in raid gets saved, only your gear that you started the raid with?

    That's cool as fuck! No more SVM Softcore for me!

    Heart 1
    • Oh man, I hadn't thought about it that way at all!

      I always do Softcore in SVM too but it still feels cheaty since I still gain everything I looted - I will be switching to this now!

    • I've been using it for a bit now and yeah it feels WAY more balanced than softcore

    • That's exactly it. This mod is one of 92 that I have installed, so it's pretty friendly with most mods. Going to explore this secure container bug though. Hope you have fun with it!

  • So i ran into a bug/conflict when using the "Exclude `SecuredContainer` from restore." option

    i entered the raid with a AR-15 AlienTech 5.56x45 muzzle brake on my rifle and found a supressor so i threw the muzzle brake in my secure container and then later died. The game threw a fit and Crashed with the error " An Item with the same key has already been added: key: (id of the muzzle break)."


    Its likely a bad reaction between mods that let me do things that normally shouldnt happen so i just wanted to leave the fix here incase anyone else gets it.

    Use profile editor to go into your inventory and delete the duplicate item, you can find it by searching with the key/id


    To avoid this bug dont put anything you bring into the raid into your secure container that wasnt already in there. if you are using the "Exclude `SecuredContainer` from restore." option



    Also thanks for the mod i missed having this kind of keep inventory setup :)

    • Just got back from Business travel and I'll take a look at this weekend. Thanks for the alert! :)

    • @R4T_B0T I think I have it fixed now. Let me know if you run into any other problems. Cheers!


      -Blackhorse311

      Thumbs Up 1
    • Can confirm that this issue has been fixed :thumbup:

      Thumbs Up 1
  • Blackhorse, I just want to apologize for the behaviour of BoshyKilla. We have banned that user from the community, as their attitude is unwarranted, and extremely counter to the inclusive atmosphere we want to foster for mod authors and users alike. I've also nuked all of their comments from your comment section

    Heart 6
    • Thank you! He just hit me at a stressful time so I got snarky. Usually I just ignore them. I appreciate the top cover though!

  • Appreciate you keeping the "Keep Equipment" mods alive, especially since most have stopped updating!

  • What just happened. The Github link site was there for a second, and now "404 - Page Not Found"


    Now it's showing - This repository is empty.

    https://github.com/Blackhorse3…horse311-keepstartinggear


    Hoping the Author is simply reworking it.......


    Appears he/she was, and it is much appreciated.

    • the mod was uploaded for barely 30 minutes when you commented. have some patience, man

      ? 1
    • Sorry

    • @RogueTech67 - I'm a he. :) Former Tank Commander, former Tank Platoon sergeant, current voice actor for the more awesome tank crew in Gunner, Heat, PC., and now learning how to code JavaScript. Will wonders never cease!? 8o

      Thumbs Up 1