Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
DiscoverySync
Shares item and material discoveries between opted-in characters in a Valheim world. Each character chooses whether to receive updates.
| Date uploaded | a week ago |
| Version | 1.0.1 |
| Download link | Truncated-DiscoverySync-1.0.1.zip |
| Downloads | 27 |
| Dependency string | Truncated-DiscoverySync-1.0.1 |
This mod requires the following mods to function
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.2denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2351README
Discovery Sync
From the beach, the watcher stood unmoving, his eye gazing over the storm-tossed waters. Munin landed upon his shoulder, dipping his head in greeting. In his ear, the raven murmured, "Allfather, your warriors are assembling and I have yet to complete my flight. You called for me?"
A soft grunt was all that was given in response. His hand slowly stroked the raven's feathers at his neck slowly as he considered. The waves lapped the sands at his feet for long moments before he spoke.
"A boon is in order for those from Midgard, I think." Hesitance fled from the words as clarity and resolve wove through his voice. "I want you to offer all that you learn of this world to all who honor me. Knowledge is power, after all, and they will need much of that to reach Valhalla from Valheim."
The raven rose its head high and cawed, the sound rippling through the air, across the 10th world.
"So you will it, Allfather, so it shall be".
Accepting Munin's offer persists and shares item and material discoveries between opted-in characters in a Valheim world. When one player picks up something new, other characters who accepted updates learn it too, and Valheim unlocks the matching recipes for them as usual. Players who were offline catch up when they next join. For worlds already in progress, admins can add everything their character already knows, and can let every player do the same.
Features
- No need to throw new things at each other: a new item or material is sent to the server, saved with the world, and passed to everyone online straight away.
- Late joiners catch up: players who join later receive everything the world has learned.
- Character choice: new characters start with shared updates off. Munin greets them and offers the choice; the server remembers it. Use
/ds_changemindto call Munin back and choose again. - Vanilla unlock rules: Valheim still decides which recipes unlock. Nothing is forced, and a station's recipes still need that station to have been used.
- Simple to start with an existing world:
/ds_sharealliknowadds everything a character already knows. - No pop-up floods: a big catch-up shows one summary at login, then one pop-up per crafting station or tool when you next use it.
- Admin overview: an in-game list of every recipe, build piece and item the world shares.
- Per-world saves: each world keeps its own discoveries on the server.
- Localized UI and messages: available in English, French, German, Italian, Spanish, Russian, Turkish, Polish, Ukrainian, Brazilian Portuguese, Simplified and Traditional Chinese, Japanese, and Korean.
Choosing whether to receive updates
When a new character joins, Munin greets them outside as the ravens prefer. Interact with him to open the consent prompt. Choosing Yes enables normal catch-up and live updates. Choosing No keeps the character out of shared updates while normal gameplay and discoveries continue as usual. The server saves the choice per character and world. Until a choice is made, that character does not receive shared updates.
To change the choice later, type /ds_changemind in chat (or ds_changemind in the F5 console). Munin returns and asks whether you will reconsider Odin's boon. Interact with him to open the same prompt. If you walk away without answering, your current choice stays as it is.
Joining a world with many shared discoveries
When a player receives a large batch of discoveries at once (usually the first time they join a world that has been caught up), the items are learned quietly instead of with hundreds of unlock pop-ups:
- At login: one pop-up, "Shared discoveries: 281 learned from this world", plus a line in chat. Other mods' unlock pop-ups for those items, such as Armoire's "Appearance Unlocked", are skipped too.
- At each crafting station: the first time you open it afterwards, one pop-up such as "Forge: 23 new recipes". Recipes you craft by hand are shown the next time you open your inventory.
- For each build tool: the next time you equip the Hammer, Cultivator and so on, one pop-up such as "Hammer: 40 new build pieces".
Using or placing a station for the first time, or at a new level, also shows one pop-up for that station instead of one per recipe. Discoveries made during normal play keep their usual pop-up.
Shared items that a player's game doesn't have (for example from a mod they don't use) are skipped.
Viewing what the world shares
Server admins can type this in chat while playing:
/ds_listknown
(or ds_listknown in the F5 console). It opens a window with three tabs:
- Recipes: crafting recipes the shared materials unlock, grouped by crafting station.
- Build pieces: pieces the shared materials unlock, grouped by tool.
- Items: the shared items themselves, grouped by type (materials, food, weapons, armor...).
The Items tab shows who discovered each item in a second column. Anything your character hasn't learned yet is shown grayed out, with an "Unknown to you" tooltip on hover, so players who chose manual discoveries can see what the world would teach them. The search box also matches discoverer names.
There is a search box, expandable categories, and Expand All / Collapse All controls. The panel is draggable. Press Esc or the configurable List Known Hotkey (F8 by default; the server may set it for everyone) to close it; the same hotkey opens it. Turn off Restrict List Known Command to Admins on the server to let everyone use it, or turn off List Known Command Enabled to switch it off for everyone.
Installation and configuration
See the FAQ for installation, configuration settings, catching up an existing world, and managing saved discoveries. It is on the mod's Hexium page, and in the faq folder of the download.
Notes and Compatibility
-
Required mods: BepInExPack_Valheim, Jotunn.
-
Multiplayer: install on the server and on every client. Jotunn checks that versions match to the minor version.
-
Player-based raids: on worlds where raids depend on each player's progress, Valheim also looks at the items a player knows. Characters who accept shared discoveries know everything the world has found, so they can get raids that another player unlocked. Characters who decline aren't affected.
-
Known Compatibility: This mod was made to work seamlessly with any other mod's custom discoveries, recipe, item, or other functionality triggered by discovery, however compatibility is not guaranteed. The following have been explicitly tested.
- Armoire v1.2.3 supported. Its "Appearance Unlocked" pop-ups are grouped with the catch-up summary.
-
Known conflicts:
- Other discovery-sharing mods: Don't use this together with another mod that shares discoveries or recipes, such as RecipeSync. Both would send the same unlocks.
Credits
- Mod Icon drawn by hand by Truncated; all rights reserved.
- Derived from mod released by Lorenzo Baroni as SharedDiscovery. This was made to correct errors and integration with other mods using discovery; All code beyond his I release with an MIT license.
- Built using ClaudeCode with Jotunn and BepInEx.
CHANGELOG
Changelog
All notable changes to this mod are listed here. Versions follow Semantic Versioning.
1.0.2
- Alignment to best practices from Valheim-Modding at https://github.com/Valheim-Modding/Wiki/wiki/Best-Practices
- Translation files are now named by language code, such as
DiscoverySync-fr.jsonandDiscoverySync-pt-BR.json, in oneTranslationsfolder. - Only English and the player's language are loaded. Choosing another language in Settings loads it then. Dedicated servers load none.
- Changes to the config file now apply without restarting. On the server, changed synced settings are sent to every client.
- Munin's detailed visit logging now only appears while debug logging is on.
- Fixed a few spots that could throw an error if a recipe, item or sprite had been removed by the game.
- Translation files are now named by language code, such as
1.0.1
- Semantic cleanups.
1.0.0
- New mod ID: the mod's ID is now
Truncated.DiscoverySync(wascom.Truncated.discoverysync), so its config file isBepInEx\config\Truncated.DiscoverySync.cfg. The new file starts with default settings. - Settings reorganized: the config is now split into four sections (Overall, Administration, Server Settings, Client) and every setting has a readable name with spaces, such as "Mod Enabled".
- New setting:
List Known Command Enabledturns/ds_listknownand its hotkey off for everyone, admins included. - Admins only by default:
Restrict Share Known Items Command to Adminsis now on by default, so only admins can run/ds_sharealliknowunless you turn it off. - Debug logging:
Enable Server Debug Loggingnow always controls the server's own debug logging.Debug Loggingin the Client section only affects clients. - The list hotkey settings are now named
List Known Hotkey,Server Sets List Known HotkeyandServer List Known Hotkey, to match the/ds_listknowncommand.
0.12.1
- The FAQ now has one page per question, with a Hexium order file (
faq/.order.json). The mod itself is unchanged from 0.12.0.
0.12.0
- The FAQ pages are now in numbered folders (Installation, Configuration, Troubleshooting) so they appear in that order on the mod page. The mod itself is unchanged from 0.11.0.
0.11.0
/ds_changemindreplaces/ds_stopboonand/ds_startboon. It calls Munin back with his own lines for a change of mind, and opens the same consent prompt.- New server-synced settings let the server set debug logging (
ServerSetsDebugLogging,ServerDebugLogging) and the shared list hotkey (ServerSetsSharedListHotkey,ServerSharedListHotkey) for everyone. While they're off, each game keeps its own setting. - While the server sets debug logging on for everyone, clients send Discovery Sync's log lines to the server every 30 seconds and when they log off. The server saves them per character in
BepInEx\config\DiscoverySync\clientlogs\.
0.10.0
- Grayed-out entries in the shared discoveries window show an "Unknown to you" tooltip on hover.
- Reworded the consent prompt's text and footnote in every language.
0.9.0
- The world file gives each character a short
Idand records which character discovered each item ("Wood": 1). Items shared by older versions show no discoverer. - The shared discoveries window shows who discovered each item in a second column on the Items tab.
- Entries your character hasn't learned yet are grayed out in the shared discoveries window.
0.8.11
- Mouse wheel scrolling in the shared discoveries window now matches the speed of the crafting station recipe list.
- The consent prompt builds its own buttons with the vanilla Log Off button's size, sprites, font, color and click sound, instead of copying the game's Log Off buttons at runtime.
0.8.10
- Remember each character's discovery choice across logins and deaths. Characters are now identified by platform account and character name instead of a temporary in-world ID that changed every login and respawn.
- List characters by name in the world file so admins can see whose choice each entry is. Choices saved by older versions can't be matched to characters, so those players are asked once more.
- Show the mouse cursor when the shared discoveries window is opened from chat or the hotkey.
- Munin flies off sooner after replying to the consent choice.
- The consent prompt's buttons now use the same style as Valheim's Log Off prompt buttons. Long labels wrap instead of shrinking, and the prompt grows to fit.
- The consent prompt's footnote now sits below the buttons.
0.8.9
- Preserve Munin's identity during the departure animation and suppress replacement Raven text until the player leaves the departure area.
0.8.8
- Show Munin's farewell for the Raven's normal dialogue duration before clearing it for Valheim's departure logic.
- Keep Raven state tracing active while the Raven begins in its hidden state.
0.8.7
- Fix Raven diagnostic tracing calling private game methods, which caused repeated access errors in client logs.
0.8.6
- Add client and server consent-flow logs plus Raven animation-state tracing to diagnose Munin's departure.
0.8.5
- Let Valheim's normal Raven update start Munin's departure after the consent farewell instead of calling FlyAway directly.
0.8.4
- Allow Munin's timed consent-farewell departure through the mod's Raven departure guard.
0.8.3
- Start Munin's normal Raven departure directly after the consent farewell instead of waiting for another interaction.
- Increase the consent prompt size and wrap long localized body and footnote text.
0.8.2
- Automatically clear Munin's consent farewell after its dialogue display time so he departs without another interaction.
0.8.1
- Keep the consent exchange on one Raven instance and use Valheim's dialogue flow for Munin's farewell.
- Give the consent prompt more vertical space so the footnote does not overlap its buttons.
0.8.0
- New characters start with shared discovery updates disabled until they choose.
- Munin greets new characters; interacting opens the consent prompt, and he responds after the server saves their choice.
- Pending consent is persisted per character and world, so joining characters remain opted out until they decide.
0.7.2
- Updated the shared discoveries window to use Jötunn's Valheim-style controls and added collapsible categories with expand-all and collapse-all controls.
0.7.1
- Updated the discovery consent prompt to use Jötunn's Valheim-style wood panel, fonts, colors, and buttons.
0.7.0
- Characters are prompted in-game to accept or decline shared discovery updates. The server remembers each character's choice per world.
- Added
/ds_stopboonand/ds_startbooncommands to change the choice later. - Manual-only characters do not receive catch-up snapshots or live shared updates, while normal item discoveries and gameplay continue.
- World saves preserve per-character consent and continue to load existing discovery data.
0.6.0
- First release of Discovery Sync.
- Shares item and material discoveries between everyone in a world. The server saves each world's discoveries and sends them to players who join later.
- Every world starts with nothing shared. Discoveries are added through play, or with the
/ds_sharealliknowcommand, which shares everything a character already knows (only items the world doesn't have yet are sent). /ds_listknownopens an in-game window of the recipes, build pieces and items the world shares, with a search box. Admins only by default.- Large catch-ups are learned quietly: one summary at login, then one pop-up per crafting station or tool the next time it's used. Using a station for the first time also shows one pop-up instead of one per recipe.
- Shared items that a player's game doesn't have are skipped.
- Server settings are synced to clients by Jotunn and enforced on the server. Jotunn also checks that the server and every client have the same minor version.