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.
Quads Bounty Board
A buildable notice board with bounties for the whole group: quests and hunting contracts, paid in coins and the materials of the stage you have reached.
| Date uploaded | 3 days ago |
| Version | 1.4.0 |
| Download link | Quads_Lab-Quads_Bounty_Board-1.4.0.zip |
| Downloads | 101 |
| Dependency string | Quads_Lab-Quads_Bounty_Board-1.4.0 |
This mod requires the following mods to function
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.2351README
📜 Quad's Bounty Board
A buildable notice board with bounties for the whole group: quests and hunting contracts, paid in coins and the materials of the stage you have reached.
Source code · Report a bug · Discord
✨ Features
- Build it with the hammer at a workbench (Wood, Leather Scraps and Flint) and press E on it. Every board shows the same notices.
- Five notices are posted each in-game day: hunt a number of one creature, clear out a region's creatures, slay starred ones, or bring in loot.
- The whole server shares the contracts. The group can run three at a time, and a new one can only be taken when one is finished. Everyone's kills count towards them, and loot is handed in by whoever has it.
- When a contract is finished, every player collects their own reward at a board.
- The further you get, the harder it gets: each boss you beat opens the next region's creatures, and Hard and Brutal contracts (more to kill, better pay) show up more often.
- Rewards are materials you will actually use, matched to progress: resin and flint early, then copper, tin and bronze after Eikthyr, iron after the Elder, silver after Bonemass, black metal after Moder, and on up to Ashlands metals. Coins come too.
- Finished contracts raise the group's rank (Newcomers up to Legends), which adds a bonus to every reward.
- A switch in the board's menu shows the running contracts and their progress on your screen, so you can hunt with them in mind.
- It has its own hand-made look: a gabled roof, a horned skull, a hanging rune sign, pinned notices, a lantern and a bell.
The contracts are kept by the host's game, so BountyBoard has to be installed on the host too.
📸 Screenshots
The Bounty Board
The group's running contracts: what each asks, its reward and how far along you are
🎮 How to use
| Key | What it does |
|---|---|
| E at a Bounty Board | Read the day's notices, take a contract, hand one in |
🧩 Other mods
Known clashes: none known.
Found a clash with another mod? Tell us which one and what happened.
👥 Multiplayer
Who needs it: Everyone, and the host above all: a game without the mod deletes the pieces when their area loads. Restart after installing or updating them.
The host runs the group's contracts and keeps them in a file next to its settings; each player's progress is credited to whoever really played it. A kill counts when the game running that creature has the mod (in a group, usually the nearest player's).
The host decides: days between new notices, notices per board, most contracts at once and rewards. While you play on their world their values replace yours (your file isn't changed); a host without the mod leaves everyone their own.
🌍 Languages
English, Русский (Russian), Deutsch (German), 简体中文 (Chinese), Português do Brasil (Portuguese), Español (Spanish), Français (French), Polski (Polish), Türkçe (Turkish). It follows the game's own language setting.
The translations were made with AI, so a few words may be off. To correct one, or to add your language, put a file in BepInEx/config/translations/com.quad.bountyboard/ named after the game's name for the language (German.json, Italian.json, Japanese.json...) with only the lines you change, copied from English.json (it wins over the built-in one). Or tell us the better words and we'll put them in for everyone.
⚙️ Settings
In BepInEx/config/com.quad.bountyboard.cfg, made the first time the game runs with the mod. r2modman and Thunderstore Mod Manager edit it under Config editor.
Contracts
| Setting | Default | What it does |
|---|---|---|
MostAtOnce |
3 |
How many contracts the group can have going at once. A new one can only be taken when one is finished. In multiplayer the server's value applies. |
RewardPercent |
100 |
Pay as a percentage of the standard rate (50 = half, 200 = double). In multiplayer the server's value applies. |
Notices
| Setting | Default | What it does |
|---|---|---|
DaysBetweenNewNotices |
1 |
How many in-game days before the board posts new notices. In multiplayer the server's value applies. |
NoticesPerBoard |
5 |
How many notices are posted. In multiplayer the server's value applies. |
Tracker
| Setting | Default | What it does |
|---|---|---|
ShowOnScreen |
false |
Show the group's contracts and their progress on your screen (also a switch in the board's menu). |
X |
14 |
Distance from the left edge of the screen (UI pixels). |
Y |
330 |
Distance from the top of the screen (UI pixels). |
Scale |
1 |
Size of the tracker. |
🤖 Made with AI
Made with the help of Claude (Anthropic), with Claude Code: designed, written and checked together, and tried in the game.
🧪 About Quads Lab
Quads Lab is where Quad H (HardHeadHackerHead) builds software with AI, of every kind: these Valheim mods are one of its projects. Each mod is designed by a player, written with Claude Code and tested in our own world, with bobisme as our tester.
- 🌐 quadslab.io
- 🧰 All Quads Lab mods on Thunderstore
- 💻 Source code on GitHub
- 💬 Discord
- 🐞 Found a bug? Open an issue on GitHub
📜 Recent changes
- 1.4.0 Now in your language: English, Russian, German, Chinese (Simplified), Portuguese (Brazil), Spanish, French, Polish and Turkish, following the game's own Language setting. The game's own names are used for its things (items, creatures, lands, stations). The translations were made with AI: to correct a line, or add a language, put a file in BepInEx/config/translations/com.quad.bountyboard/ named after the game's name for the language (German.json...) with only the lines you change, copied from translations/English.json on GitHub. Contracts are written on each player's screen in their own language (the saved contracts are unchanged). Players on a server should update together: a player on an older version gets no contract messages from a newer host. The reward uses the game's word for Coins.
- 1.3.1 Tab no longer opens your inventory under the board's menu (it closes the menu, as it closes a chest), and the chat and map keys stay quiet while it's open.
- 1.3.0 The board's menu and the contracts on your screen are now part of the game's look: the crafting screen's wood panel, title and tabs, each contract on its own card with its trophy, the reward in the inventory's own cells (with their tooltips) and the group's progress as a bar, the game's own buttons; the contracts on your screen sit in the HUD and hide with it. E closes the menu again, as it does a chest.
Every change is on the Changelog tab.
CHANGELOG
1.4.4
- On a server without Bounty Board, the bounty board is gone from the hammer, and a message says why: the server would delete a board built there. Server owners can change what a bounty board costs ("Building", Cost; today's cost, 20 wood, 6 leather scraps and 4 flint, is the default); in multiplayer the server's cost applies, and a cost with a mistake in it keeps the last good one. Settings: edits to the config file now apply while the game runs (a server owner no longer has to restart), and a server's admins can change the server's settings from their own game with Configuration Manager, where other players see them greyed out. Your config file always keeps your own values while you play on a server (saving it there could write the server's in). Players on an older version still get the server's settings. It's no longer counted as storage in the game's own building records (it was copied from a chest). It snaps by the corners of its base now (to floor corners, wall ends and other boards); hold the alt-place key (Shift) to place it freely.
1.4.3
- Its windows no longer fill the log with "The LiberationSans SDF Font Asset was not found": each text is given the game's font before it starts (it looked for TextMeshPro's default font, which the game doesn't have, every time a text was made). Nothing changes on screen.
1.4.2
- Its build piece now also clears destroyed pieces left in the hammer's list by other mods when it registers: after a mod is reloaded at the main menu, a leftover one made every change to your bag throw an error half-way (crafting gave the item without taking the cost) until the game was restarted.
1.4.1
- Less network traffic in multiplayer: a kill that counts for a contract now sends the board to everyone at most once a second, not with every kill (a sweep in a big fight sent the whole board several times a second). The player who made the kill still sees their progress at once, and a finished contract goes out straight away. Older versions on the same server keep working.
1.4.0
- Now in your language: English, Russian, German, Chinese (Simplified), Portuguese (Brazil), Spanish, French, Polish and Turkish, following the game's own Language setting. The game's own names are used for its things (items, creatures, lands, stations). The translations were made with AI: to correct a line, or add a language, put a file in BepInEx/config/translations/com.quad.bountyboard/ named after the game's name for the language (German.json...) with only the lines you change, copied from translations/English.json on GitHub. Contracts are written on each player's screen in their own language (the saved contracts are unchanged). Players on a server should update together: a player on an older version gets no contract messages from a newer host. The reward uses the game's word for Coins.
1.3.1
- Tab no longer opens your inventory under the board's menu (it closes the menu, as it closes a chest), and the chat and map keys stay quiet while it's open.
1.3.0
- The board's menu and the contracts on your screen are now part of the game's look: the crafting screen's wood panel, title and tabs, each contract on its own card with its trophy, the reward in the inventory's own cells (with their tooltips) and the group's progress as a bar, the game's own buttons; the contracts on your screen sit in the HUD and hide with it. E closes the menu again, as it does a chest.
1.2.2
- A clearer page: what it does, who needs it in multiplayer, how it gets on with other mods, and where to report a bug. The game itself is unchanged.
1.2.1
- A new id, com.quad.bountyboard (it was com.dhack.bountyboard): your settings move over by themselves the first time it starts, and the old settings file is kept as a backup. Restart the game after this update. If an old copy is still installed beside it, this one stands down and says which file to delete, so the two never both run. The DLL now says it was made with AI, as Thunderstore asks.
1.2.0
- Fix: a finished contract's reward could be collected again and again with new characters. The host now goes by who is actually playing on each connection (not what the message says) and pays only the characters that worked on a contract (took it, made a kill for it or handed loot in) or were playing when it was finished. (Contracts finished before this update can still be collected as before.) In multiplayer the host's notice and contract settings now apply on everyone's screen too. The menu and tracker use the game's fonts, and a problem drawing the board's look can no longer stop it being registered.
Earlier
-
Fix: after a fresh game start the board was not registered until the mods were reloaded, so the game deleted any it found standing in the world. It is now registered as the world loads. Ones already lost can't be brought back; build them again. Fix: kills by any player now count in multiplayer (before, a kill only counted when the killer's own game was handling that creature). Fix: hosting a different world without restarting the game no longer carries the last world's contracts over and overwrites the new one's. Contracts are now kept by the world's id, so two worlds with the same name no longer share them (your existing contracts carry over).
-
The sign on the board now reads BOUNTIES in gold carved letters (the old marks sat too close to the board and partly disappeared). Restart the game to see it on boards already built.
-
The on-screen tracker is easier to read: taller progress bars with a larger, outlined 3/6, bigger text and more room between contracts.