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.
Waybound
Shared exploration, synced map pins, player colors and a map legend. Install on the dedicated server and every client. No chams.
By RYN_DevOps
CHANGELOG
Changelog
0.2.0 — Dedicated servers and Thunderstore packaging
- Remove player chams completely: no body-highlight renderer, Mouse4 shortcut, or chams configuration options. Old chams entries in existing configuration files are ignored.
- Keep shared exploration, synchronized manual pins, persistent player colors, the map legend and optional F10 name markers. Install the same version on the dedicated server and every client.
- Skip client map/pin adapters and the local-player roster path on dedicated servers; retain server-owned map/pin storage and relay without a local character or HUD.
- Provide separate Thunderstore and Nodecraft manual-install archives, a 256×256 package icon, and a server migration guide. Preserve the existing DLL names, configuration paths, map/pin stores and wire protocol 2.
- Declare the tested Jötunn 2.30.2 dependency. Update Waybound on the server and every PC together.
0.1.4 — Join synchronization and map legend fixes
- Fix the handshake that left the host as the only online player after friends joined through Valheim's Start Server / Steam invite flow. Resolve character identity from the peer's owned player ZDO instead of waiting for an unused native PlayerID RPC.
- Keep verified character identity through death and respawn; verify it again for a new connection or session. Map discovery, shared pins, colors and friend presence can now start synchronizing after the character spawns.
- Show game-peer and Waybound-peer counts in the host's
wayboundconsole status and log each successful Waybound connection. - Place the legend inside the visible large-map frame, including nested HUD canvases, camera canvases, scaling and clipped/zoomed map images.
- Retain protocol 2 and existing settings/world files. Update the host and every friend to 0.1.4 together.
0.1.3 — Shared pins, player colors and silhouettes
- Share new manually placed pins with all participants, including cross-off and deletion actions. Keep the original creator and color when another player edits the pin. Existing private pins and automatic death/boss markers are not imported.
- Persist creator colors, shared pins and deletion records per world in a separate checksummed
.rbpinsfile with verified-backup recovery. Limits are 4,096 records including deletions and 4,096 player identities. - Add a large-map player-color legend, including offline creators of remaining shared pins.
- Add
[HUD] PlayerChams = falseand a Mouse4 toggle for colored silhouettes of locally loaded teammates within the configured world range. This switch is independent of NameESP; F10 remains the name-overlay shortcut. - Use host-authoritative edit revisions, conflict responses and acknowledged pin batches with retries. Protocol 2 also carries stable player identity and color; update the host and every client to 0.1.3 together.
- Add 12 pure shared-pin regression scenarios covering conflicts, immutable creator identity, deletions, color/record limits, paged delivery, malformed packets and persistence recovery. Native controls, rendered silhouettes and full multiplayer integration require separate validation.
- Retain the existing assembly/plugin identity, exploration format and install/configuration paths. Native map pings keep their existing broadcast behavior.
0.1.2 — Full exploration and optional name ESP
- Project the party's exploration into the native fully explored map channel, so discoveries from friends look like personal discoveries and remain visible when Valheim's shared-map layer is hidden.
- Automatically promote previously faded shared areas during the budgeted scan, including pixels already present in the synchronized union. Preserve existing shared bits, personal discoveries and unknown areas; promoted exploration persists in the native character map.
- Reset the adapter scan when the native map or fog texture changes, and flush pending texture uploads only to their bound texture.
- Remove the world overlay's dark plate, gold rule and connector.
- Introduce
[HUD] NameESP = falsefor the complete world name, distance and diamond overlay. It starts off on upgrade unless the new key is explicitly enabled; the formerWorldLabelskey is ignored. Map pins and exploration sharing remain independent. - Add
waybound esp on/waybound esp off, also acceptingtrue/false. Preservewaybound reload, the historicalravenbondaliases, and the savedToggleWorldLabelsshortcut, whose default is F10. - Add ten regression checks against the actual map adapter. All pass with the fix; seven fail against the packaged 0.1.1 adapter. These checks use game stubs and do not establish native rendering or multiplayer performance.
- Keep the plugin identity, assembly names, installation/configuration paths, protocol and world-store format unchanged. Update the host and all clients together.
0.1.1 — Waybound
- Rename the public plugin, distribution, documentation and branding to Waybound.
- Add
wayboundandwaybound reload; preserveravenbondandravenbond reloadas aliases. - Preserve
rinor.ravenbond, both Ravenbond assembly names, the RPC identity, configuration, world-store format and deployment folder for an in-place upgrade. - Keep shared exploration, marker behavior and all gameplay settings unchanged. Install this release instead of Ravenbond, and update host and clients together.
Historical foundation: 0.1.0 — Ravenbond
Initial testable release: world-scoped shared exploration, paced acknowledged chunk transport, checksummed atomic persistence, peer-bound friend roster, configurable through-obstacle world labels, unlimited-distance session map pins, adaptive text refresh, pooled UI, frame-time smoothing, reduced motion, safe shutdown and host range limits.
Build scripts produce local archives. They do not publish the mod or install it into a live profile/server.