
Marketplace
Server-wide marketplace: list any item for coins, buy from other players, keep coins in a server-side bank. Valheim-styled UI, English and Polish.Marketplace — server-wide trading board for Valheim
A trading board for every player on the server. Anyone can list any item from their inventory at their own price, and others can buy it — even while the seller is offline. The currency is regular Valheim coins, and every player gets a server-side bank for storing them safely.
How to use
Press F7 (configurable) to open the marketplace. Esc or F7 closes it.
| Tab | What it does |
|---|---|
| BUY | All listings on the server, with search (item or seller name) and sorting. Pick a listing, set the amount (- / + / Max) and click Buy. |
| SELL | Items from your inventory. Pick one, set the amount and price per piece, click List for sale. The item leaves your inventory and waits for a buyer. |
| MY LISTINGS | Your active listings. Cancel any of them to get the item back. |
| MAILBOX | Items from cancelled or expired listings. Collect all moves them to your inventory. |
| BANK | Your coin balance and transaction history. Deposit / Withdraw a chosen amount, or everything at once. |
- Sale income goes straight to your bank balance. If you are online, you get a notification.
- Purchases are paid from your balance first; if it is too low, the rest is taken from coins in your inventory.
- Bought items go straight to your inventory. If it is full, the rest is dropped next to you.
- You can buy part of a stack (e.g. 20 out of 100 wood).
- Quality, variant, durability, crafter and other mods' item data (
m_customData) are preserved. - Equipped items and coins cannot be listed.
Installation
The mod must be installed on the server and on every client. Jotunn rejects players without it.
Requirements: BepInExPack_Valheim, Jotunn 2.29.0 or newer.
- Copy the
Adrian-Marketplacefolder toBepInEx/plugins/. In r2modman: profile → Browse profile folder →BepInEx/plugins. - On a dedicated server, copy the same folder to the server's
BepInEx/plugins/. - Start the server once — the config file
BepInEx/config/adrian.valheim.marketplace.cfgis created.
Configuration
| Section | Setting | Default | Description |
|---|---|---|---|
| 1 - Client | Hotkey |
F7 |
Key that opens the window. |
| 1 - Client | Language |
English |
English or Polish. Can be changed in game (e.g. with Configuration Manager). |
| 2 - Server | FeePercent |
0 |
Percentage deducted from the seller on each sale (0–50). The fee removes coins from the economy. |
| 2 - Server | MaxListingsPerPlayer |
25 |
Simultaneous listings per player. |
| 2 - Server | ExpireHours |
168 |
Real-time hours until a listing returns to the seller's mailbox. 0 = never. |
| 2 - Server | MaxPricePerUnit |
100000 |
Highest allowed price per piece. |
| 2 - Server | BlockedItems |
(empty) | Comma-separated prefab names that cannot be listed, e.g. DragonEgg,Wishbone. |
Server settings are taken from the server's config file; clients receive them together with the listings.
Data and security
- The server keeps listings, mailboxes and bank balances in
BepInEx/config/Marketplace/<world name>.dat. It saves after every change and keeps the previous version as.dat.bak. Each world has its own marketplace. - Every operation is appended to
BepInEx/config/Marketplace/<world name>.log: listing, purchase, cancellation, expiry, deposit, withdrawal, with the balance after the operation. - Only the server changes balances. A withdrawal is checked against the server balance before any coins are sent.
- Players are identified by the character ID from their in-world object, not by what the client claims.
- Every rejected operation returns the item or coins.
- As everywhere in Valheim, the inventory belongs to the client. A modified client could fake a deposit or a listed item, so an anti-cheat (e.g. AzuAntiCheat) is recommended.
Building from source
Windows with .NET Framework 4 is enough (the csc.exe compiler ships with the system):
powershell -ExecutionPolicy Bypass -File build.ps1
Languages
The window is in English by default. Polish is also included: set Language = Polish
in BepInEx/config/adrian.valheim.marketplace.cfg. Each player picks their own language;
server messages are translated on the client side.