Wedding Time
A multiplayer Valheim mod. Marry another player, craft rings for each other, and grow a shared bond that gets stronger the longer you play together.
- What
- Valheim mod
- Status
- Version 0.6.0
- Stack
- C#, BepInEx, Jötunn
What it is
A multiplayer mod for Valheim. You propose to another player with /do_you_marry_me <name>, they answer with /i_do or /i_do_not, and you each craft a Wedding Ring at the Forge. Wearing the ring your partner crafted turns on the Wedding Bond.
The bond levels up for every few in-game days the two of you spend online together, up to level 10. Each level adds a perk: stamina regeneration, movement speed, carry weight, resistances, skill bonuses, and finally a warm light that clears Mistlands mist around you. An upgraded ring doubles every effect. Each level-up is announced to the whole server, with fireworks at both partners' positions.
Divorce exists too: there's a confirmation step and a waiting period, and server admins can end any marriage.
Interesting bits
Most of the work went into making the mod hard to break in multiplayer:
- The server is the source of truth. A marriage is saved in the world only after both players confirm and neither is already married. If one partner never confirms, the request expires after about 2.5 minutes and the other player is told.
- No forged marriages. Vanilla Valheim lets any client change world keys. The mod rejects every change to its own keys that doesn't come from the mod, so a modified client can't fake a marriage, progress or a divorce.
- Clients keep checking themselves against the world save. A lost network message can never leave someone married on only one side.
- Everyone sees the level 10 glow. Bond state is published on the player's network object instead of being read from a remote inventory that never syncs. The glow is cheap: no per-second scans, and dedicated servers never create the light.
- Safe saves. Shared progress is written before the old value is removed, so a crash at the wrong moment can't reset it.
- Two languages. Every message is localized in English and Brazilian Portuguese. The server sends text keys, so each player reads the message in their own game language.
Version 0.6.0 also fixed a bug that made stamina costs higher instead of lower. Valheim treats those modifiers as additions to the cost, not multipliers. The save-key parsing and level maths are covered by unit tests, and the build fails if the Thunderstore manifest version doesn't match the project version.