RE:NODE

Epic Loot on a Valheim server: install, sync and balance

By RE:NODE Team
12 min read


Epic Loot runs well on a dedicated server, but only one way: the server and every player have the same version of the mod and its two libraries, Jotunn and JsonDotNET, on top of BepInEx. The server's copy of the loot and enchanting data is the one in force, and it is pushed to players when they connect, so balance is decided in one place. The decisions that matter for a group are made before the first boss: which balance template to use, how drops are gated by boss kills, and whether boss trophies drop once per player. Get those right on day one and the mod is a pleasure; change them in the Plains and somebody will feel robbed.

This post is about running Epic Loot for a group on a server - installing it, where its files live, what syncs and what does not, and the settings that change a shared world. It is not a list of every enchantment; the mod's own wiki does that better and keeps up with its changes.

What Epic Loot adds to a world#

Epic Loot, by RandyKnapp and a small team of maintainers, turns Valheim's fixed gear into Diablo-style loot. At the time of writing it is on version 0.14, and it has moved fast - several systems described here arrived in the 0.13 and 0.14 releases, so check the changelog against your version.

  • Rarities: Magic, Rare, Epic, Legendary, Mythic and Ancient. Higher rarities roll more magic effects with larger values.
  • Magic effects: bonuses that apply while the item is equipped - added elemental damage, skill levels, movement speed, carry weight, resistances, and a long tail of unusual ones.
  • Legendary and Mythic items with fixed names and effects, and legendary sets that grant a bonus when several pieces are worn.
  • Drops: magic items, enchanting materials, shardstones and unidentified items from creatures and chests, by biome.
  • The Enchanting Table, a buildable crafting station with tabs for sacrificing items into materials, converting and upgrading materials, enchanting plain gear, augmenting an existing effect, disenchanting, identifying, and etching runes.
  • Shardstones and sockets: items can have shard slots; shardstones go into them for extra effects.
  • Adventure features at the traders: Haldor sells treasure maps and bounties and offers gambling; Hildir offers tempering, which rerolls the value of an enchantment.

All of that is content and rules, which is why the mod has to be on both sides. The three kinds of mod - server-only, client-only, both - decide most of what can go wrong, and Epic Loot is firmly in the last group.

Installing it on the server and every client#

The dependency set, as published on Thunderstore for 0.14.x:

PackageWhy
denikson-BepInExPack_ValheimThe mod loader
ValheimModding-JotunnLibrary for items, pieces, localisation and the version check
ValheimModding-JsonDotNETJSON parsing for the data files
RandyKnapp-EpicLootThe mod itself

On the client side, a mod manager is the only sane way to keep a group in step. Install Epic Loot into one r2modman profile, which pulls in the dependencies at the right versions, then export the profile code and have everybody import it. r2modman profiles for a group walks through that and how to pin versions so somebody's manager does not "helpfully" update one mod overnight.

On the server, BepInEx has to be installed and confirmed working first. Then:

  1. Stop the server.
  2. Upload Jotunn and JsonDotNET into BepInEx/plugins, each in its own folder as they come from their packages.
  3. Create BepInEx/plugins/EpicLoot and copy the contents of the mod's plugins folder into it - that is how the mod's own instructions ask for it, and it keeps the files together for the next update.
  4. Start the server and read the log until you see Jotunn and Epic Loot load, followed by the world loading.
  5. Stop it again cleanly. The first start has written the config files, and now is the time to edit them.

The simplest way to make the server match the clients exactly is to take the files from the same r2modman profile: the profile folder has its own BepInEx/plugins with the same versions in it. Copying from there removes any chance of the server running 0.14.12 while everybody else has 0.14.13.

Version checks and the kick at connection#

Because Epic Loot uses Jotunn, Jotunn's version check runs when a player connects. A player whose Epic Loot or Jotunn version differs from the server's is disconnected with a message naming the mismatch. That is a feature: the alternative is a player whose items silently differ from the server's idea of them.

The usual causes on a group server:

  • One player's mod manager updated Epic Loot and the server was not updated.
  • The server was updated and one player is on an old profile.
  • Jotunn itself was updated on one side only - the message then names Jotunn, not Epic Loot.

The fix is always the same: decide the version, put it on the server, and share the profile code again. Reading the message and matching sets is covered in mod version mismatch kicks, and how Jotunn's check works in the Jotunn library explained.

Crossplay is the other limit. Xbox and Game Pass console players cannot install mods, so a server running Epic Loot is a PC-only server whatever the -crossplay flag says.

Where the config lives and what syncs#

Epic Loot has two layers of configuration, and they behave differently on a server.

The BepInEx config - the .cfg file named after the plugin ID, randyknapp.mods.epicloot.cfg, in BepInEx/config. It holds the switches: balance template, drop limits, drop ratios, adventure mode, boss drop modes, interface options. Look in BepInEx/config and its EpicLoot subfolder if it is not where you expect; the location has moved between versions.

The data files - JSON in BepInEx/config/EpicLoot/, with the shipped versions under baseconfig. These define the content itself:

FileWhat it holds
loottables.jsonWhat each creature and chest drops, by rarity weight
magiceffects.jsonEvery effect, its value ranges per rarity, and what it can roll on
legendaries.jsonLegendary and Mythic items and the sets
iteminfo.jsonItem types and how drops are gated by biome and boss
enchantcosts.jsonWhat enchanting, augmenting and disenchanting cost
adventuredata.jsonBounties, treasure maps, gambling and tempering costs
materialconversions.jsonMaterial conversion and upgrade recipes
shardstones.jsonShardstone definitions
abilities.jsonActivated abilities on legendary items

The rule that saves arguments: the server's copy of the data files is the one in use. When a player connects, the server pushes its data to them, and the mod logs that a local edit is ignored while connected to a server whose copy is in effect. So balance changes are made on the server, once, and players do not need to copy JSON files around. The mod's own messages say this in plain words - for example, a missing effect value on an Ancient item is reported as "the server's copy of magiceffects.json is the one in use".

Two consequences. First, an edited loottables.json on a server does not pick up new content when the mod updates: the mod either offers to upgrade the file or leaves your copy alone, and new drops (shardstones were the recent example) will be missing until you merge them. There is an Always Refresh Core Configs setting that overwrites the core files with the shipped defaults on every start - which also deletes your edits, as its description warns in capitals. Second, recent versions support patch files kept in a patches folder alongside baseconfig, which layer your changes on top of the shipped files instead of replacing them. If you change balance at all, use patches; they survive updates. The patch format is in the mod's documentation.

Balance on a group world#

These are the settings in the .cfg that change how the world plays. Set them before the group starts; most of them interact with progress already made.

SettingValuesWhat it changes
Balance Templatebalanced, minimal, legendaryOverall enchantment power; changing it rewrites other values in the file
Item Drop LimitsUnlimited, BossKillUnlocksCurrentBiomeItems, BossKillUnlocksNextBiomeItems, and two player-based modesWhich gear can drop before which boss
Item Drop Ratio, Materials Drop Ratio, Shard Stone Drop Ratio, Items Unidentified Drop RatioRelative weightsWhat a loot roll turns into
Boss Trophy Drop Mode, Crypt Key Drop Mode, Wishbone Drop ModeIncludes OnePerPlayerNearBossExtra boss drops for each player present
Gated Bounty ModeUngated or gated by boss killsWhich bounties are offered
Adventure Mode Enabledtrue / falseHaldor's treasure maps, bounties and gambling

Balance template. The mod describes balanced as the recommended setting, where enchantments are powerful but stronger enemies remain a threat; minimal as reduced enchantment power for use with vanilla difficulty; and legendary as legacy balancing that "can make players godlike". For a group playing on vanilla world modifiers, minimal keeps the game recognisable. If you have raised combat difficulty with the combat modifier, balanced is the pairing the mod intends - world modifiers and presets covers that side.

Item drop limits. Unlimited drops exactly what the loot tables say, which means a lucky early roll can hand somebody Plains gear in the Black Forest. BossKillUnlocksCurrentBiomeItems allows a biome's gear once that biome's boss is dead; BossKillUnlocksNextBiomeItems is stricter, requiring the previous boss. Both read the world's boss keys, so on a server they follow shared progression - one player killing the Elder unlocks drops for everyone, as boss progression on shared servers explains. The two player-based modes (PlayerMustKnowRecipe and PlayerMustHaveCraftedItem) are described by the mod itself as "local world only"; on a dedicated server, use one of the boss-kill modes.

Boss drops. A boss normally drops one trophy for the whole party, and Epic Loot changes nothing about that unless you set the drop modes. OnePerPlayerNearBoss gives one trophy, crypt key or wishbone per player within a configurable range, which ends the "who gets the Bonemass trophy" argument on a five-player server. Note the word "near": a player waiting at the portal gets nothing.

Bounties. Bounties are tracked per player, and recent versions cap how many one player can hold (Max Bounties Per Player, with a switch to enable the limit). Bounty targets are spawned in the world for the player who took them - on a busy server, other players can stumble on them, and you may want to agree that a bounty belongs to whoever accepted it.

Performance and server resources#

Epic Loot adds work in three places: loading its data at start-up, rolling loot when creatures die, and the server pushing data to each player as they connect. None of it is heavy. In practice a server with Epic Loot and a handful of other mods sits comfortably at 4-6 GB, in line with the modded row of the general sizing table, and start-up takes noticeably longer than vanilla while Jotunn registers everything.

The thing that does cost is what the players do with it. Enchanted gear with movement and damage bonuses means faster exploration, more zones loaded sooner, and bigger bases earlier - all the ordinary causes of a heavy Valheim world, arriving ahead of schedule. If a mature Epic Loot world stutters, the usual suspects in Valheim server performance and lag apply before the mod does.

Keep bounty and treasure map data in mind too. Recent changelogs include fixes for bounties lost or reset across server restarts and a repair system after a save migration, which tells you this data lives with the world and the characters. Restarting cleanly - so the world saves - matters more than usual.

Updating and backups#

Epic Loot updates often, and Valheim patches break it the way they break every BepInEx mod. A routine that works for a group:

  1. When Valheim patches, stop the server and do not update it until Epic Loot and Jotunn have releases for the new version.
  2. Take a backup of the world and of BepInEx/config/EpicLoot.
  3. Update the shared r2modman profile, check the changelog for config changes, export the new code.
  4. Copy the same plugin versions to the server, start it, and read the log for config upgrade messages.
  5. Post the new profile code and have everyone import it before joining.

On RE:NODE, backups are one button in the panel and can be locked so a scheduled backup does not rotate them out, which is the right treatment for the last known-good world before a mod update (backups in the panel guide). Characters stay on each player's PC, so their magic items are only as safe as their own characters folder - remind the group to copy it before a big update. What to do when a mod update breaks covers rolling back when the update goes wrong anyway.

Troubleshooting#

Players are kicked at connection with a version message. Mismatched Epic Loot or Jotunn. Match the sets; do not try to disable the check.

Magic items show no properties in their tooltips. A known conflict with BetterUI. Set showCustomTooltips = false in BetterUI's config, as the Epic Loot page advises.

My edits to a JSON file do nothing. Either you edited a client copy while connected to a server, which ignores it, or you edited the server's copy without restarting. Edit the server's file with the server stopped, then start it.

New shardstones or effects never drop after an update. Your customised loottables.json predates them. Merge the new entries from baseconfig, or move your changes into patches and let the shipped file update.

An item's effect shows a blank value. The server's magiceffects.json has no values for that rarity - typically an old file without the Ancient tier. Update the file on the server.

Nobody can join after a Valheim patch. The game and server updated, the mods did not. Wait for their releases, or roll the server back with your pre-patch backup.

FAQ#

Do players need Epic Loot installed to join?

Yes. Every player needs the same version of Epic Loot, Jotunn and JsonDotNET as the server. Jotunn's version check disconnects anyone who does not match.

Can I add Epic Loot to an existing world?

Yes. Existing gear stays plain; new drops start appearing from the next creature killed. Set the drop limits first so a late-game world does not suddenly drop early-biome loot only, or the reverse.

Can I remove Epic Loot later?

You can, but magic items lose their enchantments and the mod's pieces disappear from the world. Back up the world and the characters first, and accept that it is not a clean undo.

Who controls the balance - the server or the players?

The server. Its data files are pushed to each player on connection and a player's local copy is ignored while connected. Change balance on the server and everybody gets it on their next join.

Does it work with Xbox players on a crossplay server?

No. Console players cannot install mods, and Epic Loot is required on every client, so they cannot join.

Can admins spawn magic items for testing?

Epic Loot has its own debug commands for that, and like vanilla cheats they need devcommands. On a dedicated server that means Server Devcommands on the admin's PC; check the mod's wiki for the current command names.