You are viewing a potentially older version of this package. View all versions.
PUP82-PUP_FPS-1.0.29 icon

PUP FPS

A smart building combiner for massive Valheim bases with single-player and client-server multiplayer support. Controls: [ combine, ] restore, \ highlight, F8 emergency restore.

Date uploaded a week ago
Version 1.0.29
Download link PUP82-PUP_FPS-1.0.29.zip
Downloads 215
Dependency string PUP82-PUP_FPS-1.0.29

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2202 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2202

README

PUP FPS

Author: PUP

Maintaining PUP FPS, especially its dedicated-server support, takes a great deal of time, testing and development work. If you would like to help the mod keep growing, you can support the author on Boosty.

PUP FPS improves performance around very large player-built bases in Valheim. It combines supported static building pieces into GPU-rendered clusters while preserving their appearance, collision and restoration data.

The mod is most effective when a base contains thousands of repeated pieces made from the same materials. Large Grausten, stone or wooden structures usually benefit more than small buildings containing many different decorative objects.

Important

  • Make a world backup before first use.
  • Doors, gates, animated pieces and unsupported multi-material objects are excluded.
  • Keep only one version of PUP_FPS.dll installed.
  • After baking a large base, restart the game or leave the rendered area and return to get the full performance benefit.
  • The mod cannot raise FPS above the limit of your hardware. If Valheim normally runs at a maximum of 50 FPS on your PC, the mod will not turn it into 200 FPS.

Multiplayer

PUP FPS now works in multiplayer.

  • The host and all players must install the same version of the mod.
  • Only the host or a server administrator can bake, restore, or highlight zones.
  • Dedicated-server administrators are assigned through Valheim's adminlist.txt (one platform ID per line).
  • The first time a player joins, the baked zones are downloaded and saved on that player's PC. This may take some time on a very large base.
  • The next time the player joins, saved zones load much faster.
  • If the host changes a baked zone, the player downloads only that zone again.
  • The player's local cache cannot change or damage the host's world.

Controls

Key Action
[ Bake the 64x64 metre cell containing the player
] Restore the nearest baked cell
\ Toggle material highlighting
F8 Emergency restoration of all parked PUP FPS objects

On a Russian keyboard layout, [ and ] are the physical keys normally used for Х and Ъ. Switching to an English layout can make the controls clearer.

To repair or rebuild pieces in a baked cell, restore that cell with ], make the changes, and bake it again with [. Multiplayer controls are available only to the host/administrator.

Highlight colours

Highlighting marks supported building materials, not the whole area:

  • Blue — Grausten
  • Green — regular wood
  • Purple — dark wood
  • Orange — Ashwood
  • Yellow — logs and roundwood
  • Beige/gold — thatch roofs
  • Grey — stone
  • Pink/red — black marble
  • Cyan — Dvergr copper
  • Red-orange — Flametal
  • Brown — crystal/glass

Installation

  1. Install BepInExPack for Valheim.
  2. Install the same PUP FPS version on the host and every client.
  3. Copy PUP_FPS.dll into BepInEx/plugins/PUP_FPS/ when installing manually.
  4. Start Valheim and load a world.

How it works

Each 64x64 metre bake area is divided into 16x16 metre clusters. Supported static pieces are rendered through GPU instancing while collision, structural support and precipitation protection are preserved.

Results depend on the base and hardware. The largest improvement is expected when the original bottleneck is a very high number of repeated building instances.

Restoring safely

Normal restoration is intentionally gradual so physics and structural support have time to settle. Wait until restoration finishes before leaving the world. If normal restoration cannot be started, the host can use F8 and check BepInEx/LogOutput.log.

If necessary, the saved PUP FPS configuration for a world can be removed through the r2modman Config Editor. This removes the mod's saved configuration, not the world itself.

CHANGELOG

Changelog

Author: PUP

1.0.29

  • Fixed bugs.

1.0.28

  • Fixed a highlighting bug in single-player.

1.0.27

  • Added dedicated-server support, including administrator permissions through adminlist.txt.
  • Added synchronized baking, restoration, highlighting and client cache loading on dedicated servers.
  • Changed highlighting to a clearer material-based view.
  • Fixed duplicate or missing visuals, collision gaps, repeated baking, restoration and world-switching issues.
  • Fixed missing restored textures after emergency restoration on dedicated servers.

1.0.26

  • Fixed a bug when quickly rebaking restored zones.

1.0.25

  • Fixed some objects being destroyed when baked zones became inactive.

1.0.24

  • Added multiplayer support.

1.0.7

  • The 16x16 subcluster under the player receives collision immediately.
  • Remaining cached colliders load through one distance-prioritized background queue.
  • Added a global adaptive 0.5-1.5 ms frame budget to prevent large baked bases from freezing on entry.
  • Background loading is safely reset when changing worlds or unloading the mod.

1.0.6

  • MeshCollider geometry is now embedded directly in newly baked cache files.
  • Fixed missing collision on black-marble stairs after zone reload or game restart.
  • Existing cache formats remain readable; rebake affected cells to create the new collider format.
  • Added an explicit log error when an old named collider mesh cannot be resolved.

1.0.5

  • Added rediscovery of baked objects in both parking and original world sectors.
  • Uses persistent PUP tags and cell markers when saved ZDO IDs change.
  • Rebinds stale IDs only after full count and uniqueness validation.
  • Does not modify object rotations or the proven combining algorithm.

1.0.4

  • Removed the unsafe mass rotation repair.
  • Restore validation now finds exact objects by their saved ZDO IDs instead of requiring parking coordinates.
  • Cells can be restored after the world has been opened with the mod disabled.
  • Safe saving changes positions only and leaves native rotations untouched.

1.0.3 (withdrawn)

  • Safe world saving no longer rewrites native object rotations.
  • Added one-time rotation repair for worlds previously saved with 1.0.2.
  • Original positions are still restored before saving and reparked afterwards.

1.0.2

  • Restored the proven 1.0.0 remote-parking optimization.
  • Original coordinates are restored before every normal Valheim world save.
  • Baked pieces are reparked after saving so optimization continues during play.
  • Saved worlds can load their original building pieces when the mod is disabled.
  • Added migration support for existing baked cells.

1.0.1

  • Original building objects now keep their vanilla world coordinates.
  • Disabling or removing the mod no longer leaves baked structures without visible originals.
  • Added automatic migration from the legacy remote-parking system.
  • Original GameObjects are disabled only locally while their optimized cluster is active.

1.0.0

  • Added multi-cell GPU instancing for supported static building pieces.
  • Added 16x16 metre shadow proxies.
  • Added safe distant tessellation reduction with near-field materials unchanged.
  • Preserved staged restoration, collision and structural-support protection.
  • Added supported materials including Grausten, wood families, thatch, stone, black marble, Dvergr copper, Flametal and crystal.
  • Excluded animated and incompatible multi-material pieces.