Source-checkedCreatures & NPCs

HarrisonCustomLootTable

by Harrisonburg · for Valheim

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

19Downloads
29d agoLast updated
BepInExLoaders
ThunderstoreSource

About HarrisonCustomLootTable

From Thunderstore

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

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

  1. 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.

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

BepInEx/plugins/HarrisonCustomLootTable/ on every peer. Everyone must use the same mod version.

  1. 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.

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

using the instructions below.

  1. 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.

  1. 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 immediately and saves locally. The server cannot override it. If editing the .cfg directly, edit the client's active profile file and restart the client to load the change.

The three float settings use numeric input fields in ConfigurationManager. They accept finite, non-negative values; invalid values are reset to zero.

Distribution modes:

  • LastHit: the player who dealt the final effective damage, if alive and in range.

A finishing hit from the environment or a non-player gives no last-hit reward.

  • MostDamage: the living player in range who dealt the most damage.
  • EveryPlayer: every living connected player in range, including players who

did not attack. Each receives the same rolled reward amounts; loot is not split.

The distance boundary is included. If nobody qualifies, no configured loot is awarded. Monsters missing from the JSON keep their normal vanilla behavior.

Configure monster and boss drops

Edit HarrisonCustomLootTable_MonsterDrops.json inside the configuration directory. Use the monster's exact prefab name as its key. For example:

{
  "Troll": {
    "Drops": [
      {
        "ItemPrefab": "Coins",
        "Chance": 1.0,
        "MinAmount": 20,
        "MaxAmount": 40
      },
      {
        "ItemPrefab": "HarrisonRewardPouch",
        "Chance": 0.5,
        "MinAmount": 1,
        "MaxAmount": 2
      }
    ],
    "DistributionMode": "MostDamage",
    "KeepVanillaDropsOnGround": false
  }
}

Chance uses values from 0 to 1: 0.25 means 25%. Each entry rolls independently. Amounts must be positive integers, with the minimum no greater than the maximum. The maximum is included in the random range.

Read the full description on Thunderstore →

Highlights

From source data

Loaders

Runs on BepInEx.

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 29d ago.

HarrisonCustomLootTable on Nxeon

From our catalogue
One-click install
Supported on Nxeon Valheim servers, for BepInEx servers. We download it from Thunderstore, place it, and restart the server.
Server side
Optional on the server
Server type needed
BepInEx
Server load
light
Smallest plan we suggest
Valheim — 4 GB (4 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
0.0.3, released 2026-10-06

Game versions by loader

LoaderGame versionsNewest
BepInEx

From 2 recorded builds of HarrisonCustomLootTable.

Recent builds

BuildReleasedGame versionsLoaders
0.0.32026-10-06n/aBepInEx
0.0.22026-10-06n/aBepInEx

Dependencies

Declared by the newest build that lists any. Required ones are installed with it on one-click installs.

Run HarrisonCustomLootTable on a Valheim server

Pick a server or deploy a new one above; it is installed in one click.

What kind of mod it is

From the catalog
Listed on Thunderstore as “Content”

Creatures & NPCs

Adds or changes creatures, NPCs and how they behave.

Works on a server

From source side support

Thunderstore lists server-side support for HarrisonCustomLootTable as optional: it can run on a server, but isn’t required there.

Compatibility

Game
Valheim
Loaders
BepInEx
Runs on
Serveroptional on the server
Requires
One-click install needs a BepInEx server.

Verified at the source

  • ✓ThunderstoreOfficial listing, checked 2026-10-07Open ↗
  • ✓AuthorHarrisonburg, as published on Thunderstore
  • ✓LicenseNot published by the sourceFree

HarrisonCustomLootTable, answered

Generated from the mod’s own source data.

Do my players need to install HarrisonCustomLootTable?

Thunderstore lists server-side support for HarrisonCustomLootTable as optional: it can run on a server, but isn’t required there.

Which loaders does it support?

BepInEx.

Is it free?

Yes. HarrisonCustomLootTable is free to download from Thunderstore.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run HarrisonCustomLootTable on a Valheim server.

Deploy in about a minute from $9.99 a month, then add HarrisonCustomLootTable in one click.