ValheimCommunityPatch

v0.35.1·Updated 2026-10-11

Vanilla bug fixes and performance fixes for Valheim. No gameplay changes.

Screenshots 4 screenshots

About this mod Author’s original text

Valheim Community Patch

Vanilla bug fixes and performance fixes. No gameplay changes.

This mod exists to fix things that are broken or pathologically slow in Valheim itself — crashes,

exceptions that silently kill a system, item loss, quadratic hot paths, per-frame allocations, log

spam. It deliberately ships no quality-of-life features, no balance changes, and no content, so you

can install it on a server without anyone having to agree about how the game should play.

Performance fixes are always on; the config holds only their tuning values and the admin-only Verify

diagnostics. Correctness and terrain fixes each have their own toggle. Server memory fixes are the

exception: they are off by default and opt-in, see Server memory. The

dedicated-server garbage collector settings moved to a separate plugin, see

Server garbage collector. Config values are admin-only and

server-synced.

Each fix is tagged with the side it is worth installing on. (server) fixes only do something on

the machine hosting the world — a dedicated server or a listen host. (client) fixes need a local

player, and are not even applied on a dedicated server, which is why the startup log there

reports a smaller number. (both) fixes do work wherever they are installed. A one-sided install is

safe; it just gets you a subset. See Installation.

Why so many fixes are client-side

A Valheim dedicated server is not a simulation host. It only creates game objects inside its own

active area, and a dedicated server never has a player to anchor that area to, so the game parks it

far outside the world for the whole run. Creatures, fires, chests, tar pits and everything else near

a player are created, owned and simulated on that player's client; the server holds the data and

relays it.

So the fixes a server gains from are the data-and-network ones — ZDO handling, world load, packet

allocation, socket logging — and almost everything else is worth having on the client.

Performance Side by Side

Terrain Fix comparison

| Terrain Tears | Terrain Fixed |

|---|---|

| | |

| Shore Shade Tears | Shore Shade Fixed |

|---|---|

| | |

Shore tears are much more subtle as it is a shading issue. On the right side of the first image directly above the head you can see the shading issue.

Fixes in this release

Where a fix was sourced from, or corroborated against, another modder's work, that is recorded per

fix under Credit and sources.

Performance

  • Fix Portal Connection Scan (server) — pairs portals through a tag index instead of rescanning

every portal for each unconnected one every five seconds.

  • Fix World Load Connection Scan (server) — indexes the world-load pairing of portals, spawners

and sync transforms with their targets instead of comparing every pair.

  • Fix Disconnect ZDO Sweep (server) — indexes non-persistent objects by owner, so a disconnect

sweeps only the departing player's objects instead of every ZDO in the world.

  • Fix Tar Pit Buffer Disposal (client) — disposes tar pit raycast buffers only when they were

allocated, so a tar pit whose load failed cannot throw out of scene teardown.

  • Fix ZDO Packet Allocation (both) — writes one network package into another straight from its

buffer instead of copying the whole payload onto the heap first.

  • Fix Mist Query Overhead (client) — answers mist volume queries from a zone-bucketed snapshot

and heightmap data instead of scanning every mist volume with native reads and physics rays per

particle.

  • Fix Heightmap Lookup Scan (both) — finds the terrain tile under a point with a zone-keyed

lookup instead of scanning every loaded tile.

  • Fix Static Object Ground Checks (both) — reads a tree or rock's position once per ground check

instead of about six times.

  • Fix Grass Rebuild Burst (client) — spreads a whole-area grass rebuild over a few frames,

nearest patches first, instead of regenerating every patch in one frame.

  • Fix Terrain Builder Throughput (both) — makes the terrain build thread sleep only when idle

and hol

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
ValheimCommunityPatch-0.35.1.zip
File size
170.4 KiB