You are viewing a potentially older version of this package. View all versions.
isimp-Keepsake-0.3.0 icon

Keepsake

Keep your own value for any mod setting on a shared profile. Kept settings survive profile syncs and are back in place before mods load. Browse and search every mod's settings in one panel, with descriptions, defaults and what changed this session.

Date uploaded a day ago
Version 0.3.0
Download link isimp-Keepsake-0.3.0.zip
Downloads 9
Dependency string isimp-Keepsake-0.3.0

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2350
ValheimModding-Jotunn-2.30.1 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.30.1

README

Keepsake

Keep your own value for any mod setting on a shared profile. When a profile sync would put the profile's value back, Keepsake puts yours in again before any mod has read it, so even settings a mod only reads at startup keep your value.

Press Home to open the panel. Pick a mod on the left or search by mod, setting or description, select a setting and press Keep. A kept setting can be given a new value right there or in any config manager, and Keepsake follows along. Release hands it back to the profile and puts the profile's value back. The panel also lists every setting that changed since the game started, so something you just tried out in a config manager is one click away from being kept, or all of them at once with Keep all. When the profile changes a value you keep, Keepsake says so once your character appears, and the panel shows it under Profile changed until you take the profile's new value or stay with yours. A setting the profile changes all the time, such as a volume, can be made quiet, so its changes are recorded without asking.

Settings a server hands out while you are connected to it still follow the server, and your value is back when you leave. Keepsake runs on your own machine only, and servers do not need it. It needs Jotunn.

Bindrune does the same for keybinds, and shows every keybind of the game and your mods in one panel, with the clashes between them. With Bindrune installed, Keepsake leaves keybinds to it, and Bindrune takes over any keybind you kept here before. Without it, Keepsake keeps keybinds like any other setting and offers to take over the keys Bindrune kept for you. Bindrune is on Thunderstore at https://thunderstore.io/c/valheim/p/isimp/Bindrune/ and on Hexium at https://valheim.hexium.gg/mods/isimp/Bindrune

Your kept values are stored in BepInEx/keepsake.pins, a file profile syncs leave alone. They are also written into each mod's own config file, so if you are the one sharing a profile, whatever you keep goes out to everyone who follows it.

The Keepsake panel

AI notice

Most of Keepsake was written by Claude Code (Anthropic), which did the heavy lifting on implementation and design. Heads-up so you can judge for yourself.

Settings

All settings are in BepInEx/config/isimp.Keepsake.cfg, each with a description. They include the key that opens the panel, the panel's size and whether it plays sounds.

More

Technical notes and build instructions are on GitHub at https://github.com/isimp/Keepsake

CHANGELOG

Changelog

0.5.0

What you kept now survives Update existing profile in Thunderstore Mod Manager and r2modman. For their profiles Keepsake offers to keep a spare copy next to the profiles folder, asking once before it writes anything there, and brings it back at the first launch after an update, saying so in the corner. The Spare copy button in the panel changes the answer.

Nothing Keepsake replaces or releases is lost any more. The version it replaces is set aside first, and a kept file's detail lists its last five Earlier versions to look at and put back. Files over 8 MB keep no earlier versions, and all of them together stay under 100 MB. Keepsake's own lists are set aside at each launch too.

A Keepsake file held open by another program is never written over, and keeping, releasing or setting a value says so when it cannot be saved instead of looking done. Writing a kept value keeps a cfg file's byte order mark, and a line in keepsake.pins pointing outside BepInEx/config is skipped.

0.4.2

Kept files now hold through modpack installs and updates in any mod manager. Mod managers give the files they extract the time stored in the zip, which made a modpack's file look older than your own, so it was taken as yours; after a game Keepsake saw close, any change is now put back, whatever time the file carries.

The README lists which ways of updating a profile keep what you kept, and how to carry it over to a profile imported as new.

0.4.1

Kept files are copied as the game closes instead of every ten seconds. At launch, a kept file that differs from its copy is judged by when it was written. Written during the last game, it is yours and its copy is updated. Written after the game closed, a profile sync replaced it and your copy goes back. Before, an outdated copy could be put back over a newer file after a crash, after a game in which Keepsake did not load, or when Keepsake was turned back on after a while.

When Keepsake cannot tell, after a game it did not see close, the file is left as it is and waits in Files for you to choose Put my copy back or Keep this one. Both versions are shown one over the other to compare: texts in viewers with the line where they first differ, images as thumbnails.

Lists count numbers in names as numbers, so 2 comes before 10, for files as well as mods, sections and settings.

0.4.0

Files and folders in BepInEx/config can be kept whole, from the new Files place in the panel. Keepsake saves a copy while the game runs and puts it back at launch when a profile sync replaced or removed the file, so a mod that keeps state in files, such as Seasonality's timer for each world, carries on where you left it. The Files list leaves out images unless asked, and shows a text file whole in a viewer of its own, or the image itself.

Keep all over a mod's settings keeps every one of them at once, and Release all releases them again.

0.3.0

Profile changes to values you keep now wait until you answer them, across launches, and a line in the corner says so once your character appears. General/ProfileChangeNotice turns that line off.

Settings the profile changes all the time, such as a volume or a window size, can be made quiet: their changes are recorded without asking.

The lists tag kept settings as updated, quiet, or same when your value is the profile's.

Release not loaded, over the kept settings, releases those of mods that are gone.

Launching is faster on large profiles, dragging a config manager's slider no longer rewrites keepsake.pins every frame, changes made elsewhere no longer close an open dropdown in the panel, and the panel reopens with its search and scroll where you left them.

0.2.0

When the profile changes a value you keep, the panel says so. The setting shows up under Profile changed on the left, marked as updated, with what the profile changed it from and to. Use the profile's takes the new value and keeps the setting, Keep mine stays with yours.

Keep all over Changed this session keeps every setting in it at its current value.

Files left half written by a game that stopped in the middle of saving are removed at the next launch.

The log no longer says keybinds are waiting for Bindrune to take them over in the session Bindrune took them.

0.1.0

First release.