You are viewing a potentially older version of this package. View all versions.
Botaniclas-TooManyLags_Standalone-1.0.1 icon

TooManyLags Standalone

Keep nearby interactions local and share crowded areas with better-connected players. Camera-directed ownership and Hostile Mob target handoffs for multiplayer without FiresGhettoNetworking.

Date uploaded a day ago
Version 1.0.1
Download link Botaniclas-TooManyLags_Standalone-1.0.1.zip
Downloads 24
Dependency string Botaniclas-TooManyLags_Standalone-1.0.1

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2351

README

TooManyLags - Standalone

Keep nearby interactions local whenever possible. Share crowded areas with the better-connected player instead of inheriting an arbitrary distant owner's lag. This lightweight edition suits locally hosted multiplayer and low-powered servers, without requiring Server-Side Simulation.

For dedicated servers using FiresGhettoNetworking, TooManyLags - FiresGhettoNetworking Addon is highly recommended instead of this mod. Enable its Server-Side Simulation for a strong CPU, or disable it for a weak CPU.

Install on the host/server. Players can join multiplayer sessions without the client mod, but functionality is further limited. Only BepInEx is required.

Your setup Recommended edition and mode
Dedicated server, strong CPU TooManyLags - FiresGhettoNetworking Addon with Server-Side Simulation.
Dedicated server, weak CPU, with FiresGhettoNetworking TooManyLags - FiresGhettoNetworking Addon with NoServerSideSimulation=true.
Dedicated server, weak CPU, without FiresGhettoNetworking This mod.
Locally hosted multiplayer This mod.

Why it helps

Valheim processes many interactions and creature updates on the object's owner. A slow owner can delay doors, stations and creatures for everyone else.

TooManyLags gives nearby interactive objects to nearby players. Your own objects process interactions locally; shared objects choose a suitable player with a lower measured host/server ping. This reduces avoidable delays, but shared client-owned objects can still depend on that player's connection.

Help find problems

Real-world testing is still limited. Please share bugs and ideas through GitHub Issues.

Before reporting a bug, test on a separate copy of your host/server and world:

  1. Run only Valheim and BepInEx, without this mod or other mods. Repeat the steps that caused the problem. If it still happens, please report it to the relevant project rather than here.
  2. Add only this mod and repeat the same steps. If the problem appears only with this mod, open an issue with a detailed description, steps to reproduce, mod versions, relevant settings and logs. Mention which clients have the mod installed.

Thanks for helping improve the mod. Have fun, and enjoy smoother adventures together!

How it works

  • A directional grid claims nearby interactions. With the client mod: camera direction. Without it: character rotation. Overlapping coverage chooses the eligible player with the better smoothed ping; a small margin prevents frequent transfers from ping jitter.
  • Defaults: 4-metre cells, Rounded7x7, six inner cells with no delay, three extra forward cells with 0.2 seconds, outer cells with 3 seconds. Rear cells make no request. Full-grid mode is also available.
  • Standing still creates no new field requests. Moving to another cell or turning into another 45-degree camera sector updates coverage. Active timers and necessary handoffs continue. Ownership remains after empty-cell exits until another relevant request or vanilla area release.
  • Hostile Mobs prefer their current player target as owner. Above 200 ms, a sufficiently better-connected player within 6 metres can take over simulation. The attack target stays the same. Bosses and friendly magic summons keep vanilla ownership.
  • With modded owner clients, the current owner checks active use before transferring and the receiver confirms its object and area are loaded. Open inventories and pending opening requests block transfers. Observed refilling protects stations for 10 seconds. Riding, following, driving, ongoing attacks and fighting tamed animals block relevant transfers.

The host/server coordinates decisions; simulation remains on players. It does not enable server-side simulation, manage static walls/floors or manage loose item drops. Incinerators keep vanilla ownership because their burning action cannot safely transfer with this protocol.

Without the client mod, the safe fallback covers standard doors, seats, beds, workbenches, wards, signs and portals. Inventories, refill stations, vehicles and animals require the mod on both participating owner clients for automatic handoffs; otherwise they keep vanilla ownership. Hostile Mob target handoffs also require both clients to have the mod.

Ownership grid in action

FiresGhettoNetworking Addon recordings showing the directional grid with BotanicOwnerDebug. Standalone uses the same grid with player-owned simulation.

Ownership from above

Ownership from above

Ownership while moving

Ownership while moving

Installation

  1. Install BepInExPack Valheim on the host/server; optionally also on clients.
  2. Put TooManyLagsStandalone.dll in BepInEx/plugins on those machines, then restart.
  3. Edit BepInEx/config/botanic.toomanylags.standalone.cfg. Restart after changes.

Use the same version on clients that install the mod. Unmodified clients can join and use the safe native fallback. Do not install alongside TooManyLags - FiresGhettoNetworking Addon.

Configuration

The host/server config controls ownership policy. Each client's camera sampling interval is local. Keep EnableAIOwnership=true on clients that should participate in Hostile Mob handoffs.

Section Settings
General Enable the mod; optional diagnostics, off by default.
Grid Cell size: 4/8/16 metres; coverage: 3x3/rounded 5x5/rounded 7x7. 4 metres requires a rounded pattern. Movement checks default to 0.1 seconds; camera sampling supports 0.05 seconds.
Directional / Full Grid Mode Choose directional coverage with three delays, or full coverage with one delay.
Latency Selection Smoothed ping sampled every 2 seconds; unmodified clients use existing connection telemetry. A 30 ms improvement margin reduces unnecessary changes. Measurements are relative to the host/server.
Hostile Mobs Enable target ownership; adjust the high-ping threshold and nearby alternative radius.
Object Categories Enable or disable broad object types separately, including containers, vehicles and tamed animals.

Use BotanicOwnerDebug to inspect ownership while configuring the mod. It is optional.

Compatibility

Vanilla interaction and access checks remain active. Unknown mod-specific actions cannot automatically be protected or forwarded; disable their category if they require exclusive ownership. This edition has no PUP integration. Other mods that force ownership can override its decisions.

Version 1.0.1 has passed automated grid, cache, optional-client handoff and native-contract checks. Live multiplayer testing is still required; test on a backed-up world before regular use.

CHANGELOG

Changelog

1.0.1

- Makes the client mod optional: vanilla clients use character rotation, while compatible clients use camera sectors. Both participate in grid coverage and overlap decisions.
- Adds bounded native handoffs for known simple interactions when either owner client is unmodified; inventories, refill stations, vehicles, animals and custom actions retain vanilla ownership without both local consent and receiver activation. Existing client guards remain active.
- Reads existing connection telemetry for unmodified clients, including dedicated Steam server telemetry; unknown measurements never count as zero ping. No custom RPCs are sent to unmodified clients.
- Adds directional-grid demonstration GIFs and a configuration guide comparing the editions for dedicated servers and local multiplayer hosts.
- Adds a GitHub issue-reporting guide with isolated vanilla baseline tests and a notice about limited real-world testing.
- Keeps only current files in the output folder after packaging; archives older versions under Versions and other files under Others.

1.0.0

- Adds Standalone ownership management for local multiplayer hosts and dedicated servers without FiresGhettoNetworking; installation is required on the host/server and participating clients.
- Adds camera-directed grids and smoothed-ping selection for overlapping coverage; unchanged coverage avoids repeated object jobs and unloaded regions release cached fields.
- Adds Hostile Mob target handoffs, a nearby lower-ping fallback and grid ownership for idle tamed animals; friendly magic summons and bosses retain vanilla ownership.
- Protects open/pending inventories, active use and ten seconds of observed refilling; source-owner consent and receiver activation guard ownership transitions and related owner RPCs.
- Adds a brief introduction to the lightweight edition for local hosting and low-powered servers, with a recommendation for the dedicated-server edition.