HarrisonCustomLootTable

v0.0.3·Updated 2026-10-06

Server-controlled monster loot with star scaling, inventory delivery, flexible reward distribution, and customizable reward pouches.

About this mod Author’s original text

Buy me a coffee

HarrisonCustomLootTable

HarrisonCustomLootTable lets Valheim server owners customize monster rewards and

create reward pouches. Configured monster loot goes directly into players'

inventories, and players can right-click pouches to receive randomized rewards.

Use it to reward boss kills, give stronger monsters better drops, or distribute

rewards to nearby players. The server controls loot settings and rolls.

Features

  • Custom loot tables for monsters and bosses, with chance and quantity scaling per star.
  • Reward distribution to the last hitter, the highest damage contributor, or every nearby player.
  • A per-monster option to keep or remove vanilla ground drops.
  • Custom pouch names, descriptions, stack sizes, weights, and opening messages.
  • Inventory delivery with an optional ground fallback for excess rewards.

Version: 0.0.3. Plugin GUID: com.harrison.customloottable.

Install and set up

  • Install Valheim-compatible BepInEx 5.x and Jötunn on the server/host and

every client. This build was compiled against Jötunn 2.30.2.

  • Stop the game/server and copy HarrisonCustomLootTable.dll into

BepInEx/plugins/HarrisonCustomLootTable/ on every peer. Everyone must use

the same mod version.

  • Launch once to generate the configuration files, then stop the game/server.

You can also copy the ready-made files from examples before

the first launch. Existing files are preserved.

  • Edit the server/host's.cfg, monster drops, pouch definitions, and pouch loot

using the instructions below.

  • Copy the same pouch definitions JSON to every client. Pouch definitions,

including opening messages, are loaded locally and are not automatically synced.

Server loot settings and both loot tables synchronize when clients connect.

ShowLootNotification is a local client preference and does not synchronize.

  • Restart the server/host and clients. Check BepInEx/LogOutput.log for successful

initialization, pouch registration, and loot synchronization.

For a mod manager, use its active profile's BepInEx folder. For a dedicated server,

use the server's BepInEx folder. The final layout is:

BepInEx/

plugins/

HarrisonCustomLootTable/

HarrisonCustomLootTable.dll

config/

HarrisonCustomLootTable.cfg

HarrisonCustomLootTable/

HarrisonCustomLootTable_PouchDefinitions.json

HarrisonCustomLootTable_MonsterDrops.json

HarrisonCustomLootTable_PouchLoot.json

Restart after JSON changes. For predictable.cfg updates, stop the server/host,

edit its file, and restart. Connected clients cannot override server settings,

including clients listed as server admins. Synced loot JSON remains in memory

and does not overwrite the client's local files.

Server settings

Edit BepInEx/config/HarrisonCustomLootTable.cfg:

[Star Scaling]

DropChanceMultiplierPerStar = 0.5

DropAmountMultiplierPerStar = 1.0

[Distribution]

DefaultDistributionMode = LastHit

MaxParticipantDistance = 60.0

DropOnGroundIfInventoryFull = true

[UI / Notification]

ShowLootNotification = true

| Setting | What it controls |

| --- | --- |

| DropChanceMultiplierPerStar | Added chance multiplier per star; 0.5 gives 1x, 1.5x, and 2x base chance at 0, 1, and 2 stars |

| DropAmountMultiplierPerStar | Added quantity multiplier per star; 1.0 gives 1x, 2x, and 3x base amounts |

| DefaultDistributionMode | Recipient rule for monsters without a JSON override |

| MaxParticipantDistance | Maximum distance in metres from the monster to eligible players |

| DropOnGroundIfInventoryFull | When true, excess monster and pouch rewards drop at the recipient's feet; when false, excess rewards are not collected |

| ShowLootNotification | Local client preference. When true, show top-left messages for items deposited into inventory. When false, hide deposit messages and deposited amounts in pouch summaries; pouch opening messages and overflow warnings remain |

Each player can change ShowLootNotification in their own ConfigurationManager

while connected, without admin permissions. It takes effect immedia

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.

Dependencies

Install these first, or the mod will not work:

denikson-BepInExPack_ValheimValheimModding-Jotunn

File & checksum

Filename
HarrisonCustomLootTable-0.0.3.zip
File size
229.9 KiB