You are viewing a potentially older version of this package. View all versions.
Skarif-AutoRepairBuilding-1.3.1817 icon

AutoRepairBuilding

Automatic workbench repairs with synchronized multiplayer state and schedules.

Date uploaded 3 days ago
Version 1.3.1817
Download link Skarif-AutoRepairBuilding-1.3.1817.zip
Downloads 561
Dependency string Skarif-AutoRepairBuilding-1.3.1817

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2333 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.2333

README

🔨 Auto Building Repair — 1.3.1814

Automatic repairs around enabled workbenches. Supports solo play, player-hosted games and dedicated servers. The settings menu and status messages support English, Russian, Ukrainian and Spanish.

Installation

Install BepInExPack Valheim and this version on the server/host and every player client. All peers that can own a workbench must run the mod. Mixed versions or a server without the mod are not supported by the multiplayer RPC protocol.

With a mod manager, install Skarif-AutoRepairBuilding with dependencies. For manual installation, place AutoRepairBuilding.dll in BepInEx/plugins/. Remove older copies of this mod before upgrading; do not load both BuildingRepair.dll and AutoRepairBuilding.dll.

Existing per-workbench ON/OFF states are preserved. Previously enabled workbenches adopt the first modded owner's repair defaults when loaded. Their builder becomes the settings owner; toggle OFF and ON to take control with another character's settings.

Use and settings

  • Aim at a workbench and hold Use (normally E) for 0.6 seconds. The status changes after the network owner accepts the request. Stay within normal workbench interaction range.
  • Press F8 to configure repair radius, interval, whether to repair other players' structures, notifications and the menu hotkey.
  • Interval 0: one repair sweep on the first daytime check of each new game day, including natural dawn and dawn after sleeping. Enabling a workbench during daytime starts with the next morning.
  • Interval above 0: repeat using world time. The effective minimum interval is 1 second, matching the game's repair cooldown. Sleeping advances world time and can make the next sweep due.
  • The player who enables a workbench supplies its radius, interval and “repair other players” setting. These settings are saved in the workbench's network data. F8 changes propagate to that player's enabled, loaded workbenches within about two seconds plus network latency. Another player can take control by toggling the workbench OFF and ON.
  • With “repair other players” disabled, the workbench repairs pieces built by the character who enabled it, even if a different peer owns the network object or that character disconnects. Upgraded workbenches initially use their builder's character ID.
  • Keep Mod Enabled on for the server and clients. This is a local switch; turning it off on a peer stops that peer from servicing workbenches it owns. Notification preferences and menu hotkeys are also local. Repair notifications appear only on the executing peer if it has a nearby local player; the count represents repair requests sent to the pieces' owners.

Multiplayer behavior and limits

Only the current network owner schedules each workbench. Clients request state changes through owner-routed RPCs instead of claiming ownership. Persisted timestamps and settings allow the next owner to continue the same schedule without restarting it. Building health is repaired through Valheim's standard WearNTear.Repair() RPC, including when a piece belongs to a different peer.

Repairs apply to loaded workbenches and pieces. The mod does not load distant zones or simulate repairs in unloaded areas. Overdue schedules run one sweep when checked; they do not replay every missed interval. Large bases grow the collider buffer as needed instead of silently skipping colliders after the first 1,024.

Changes in 1.3.1814

  • Repair scheduling works without a local player on dedicated servers.
  • A single workbench owner schedules repairs; timer and dawn state survive ownership transfers.
  • Workbench toggles are owner-routed, with confirmation and sender/distance validation.
  • Repair settings and the enabling character's ID are persisted per workbench.
  • Fixed incomplete scans on large bases and hold progress carrying over between workbenches.
  • Added source code, a build project and regression checks to the repository.

Development and verification

Source: AutoThunderStoreMod/AutoRepairBuilding/src/. Build with the .NET SDK and local Valheim/BepInEx assemblies:

dotnet build AutoThunderStoreMod/AutoRepairBuilding/src/AutoRepairBuilding.csproj -c Release -p:ValheimManagedPath="PATH/Valheim/valheim_Data/Managed" -p:BepInExCorePath="PATH/BepInEx/core"

The output is AutoThunderStoreMod/AutoRepairBuilding/src/bin/Release/netstandard2.1/AutoRepairBuilding.dll. Game assemblies are not included in this repository.

Run the regression harness with .NET 10:

dotnet run --project AutoThunderStoreMod/AutoRepairBuilding/tests/NetworkRegression.csproj -c Release

The harness executes the repair implementation against game API doubles. It covers owner scheduling, client requests, owner transfers, dawn, saved settings, identity validation, large scans and interaction holds. It does not replace a live multiplayer test. Before deployment, verify with two clients on both a player-hosted game and a dedicated server: toggle from a non-owner, damage structures, check timer/dawn repair, leave and rejoin, and confirm the other client sees the same state and health.


🔨 Автопочинка построек — 1.3.1814

Верстаки автоматически чинят загруженные постройки вокруг себя. Поддерживаются одиночная игра, игра с хостом и выделенные серверы.

Установка и использование

Установите BepInExPack Valheim и одинаковую версию мода на сервер/хост и всем клиентам. Смешанные версии и сервер без мода не поддерживаются новым сетевым протоколом. Для ручной установки положите AutoRepairBuilding.dll в BepInEx/plugins/, удалив старые копии мода.

Наведитесь на верстак и удерживайте Use / E 0,6 секунды, находясь в обычной дистанции взаимодействия. Статус подтверждается сетевым владельцем верстака. F8 открывает настройки.

  • Интервал 0: один проход ремонта при наступлении дня, как после сна, так и при естественном рассвете. Включение днём запускает утренний режим со следующего утра.
  • Положительный интервал: ремонт по игровому времени, минимум раз в секунду. Сон перематывает игровое время.
  • Радиус, интервал и разрешение чинить чужие постройки сохраняются в сетевых данных верстака от имени включившего его персонажа. Изменения F8 применяются к его включённым загруженным верстакам примерно за две секунды плюс задержка сети.
  • Если починка чужих построек выключена, сравнивается ID персонажа, включившего верстак. Передача сетевого владения другому клиенту или серверу не меняет этот фильтр. Другой игрок может применить свои настройки, выключив и снова включив верстак.
  • Состояния ВКЛ/ВЫКЛ старых верстаков сохраняются. При обновлении они получают настройки первого сетевого владельца с модом, а управляющим персонажем становится строитель верстака. Для смены выключите и снова включите автопочинку нужным персонажем.
  • Mod Enabled оставьте включённым на всех участниках: это локальный переключатель выполнения. Уведомления и горячая клавиша также локальны. Сообщение о количестве отправленных запросов ремонта показывается только выполняющему узлу, если рядом есть его локальный игрок.

Ремонт выполняет только текущий сетевой владелец верстака. Таймеры сохраняются при передаче владения; переключение ВКЛ/ВЫКЛ больше не захватывает владение объектом. Прочность чинится стандартным сетевым механизмом игры.

Мод работает только с загруженными зонами и не подгружает удалённые базы. Пропущенные интервалы не воспроизводятся: выполняется один актуальный проход. На больших базах буфер поиска расширяется вместо обрезания результатов после 1 024 коллайдеров.

В версии 1.3.1814 исправлены выполнение без локального игрока, повторный запуск с нескольких клиентов, передача владения, фильтр собственных построек, неполный поиск и перенос прогресса удержания между верстаками. Сборка и регрессионные проверки выполнялись с тестовыми заменами API игры; перед массовым развёртыванием нужен живой тест с двумя клиентами на хосте и выделенном сервере.

Support / Поддержка

CHANGELOG

v1.3.1818

  • nothing

v1.3.1817

  • nothing

v1.3.1816

  • nothing

v1.3.1815

  • nothing

v1.3.1814

  • Fixed dedicated-server repair scheduling without a local player.
  • Run repairs only on the workbench owner; persist world-time/dawn schedule across owner changes.
  • Route workbench state requests to the owner with sender/distance validation and confirmation.
  • Persist radius, interval, other-player policy and activating character per workbench.
  • Preserve existing workbench toggles; migrate legacy settings on first load.
  • Grow full collider buffers and reset hold progress when changing targets.
  • Include reproducible source/build project and multiplayer regression harness.
  • Live multi-client validation is still required; harness uses game API doubles.

v1.3.1813

  • nothing

v1.3.1812

  • nothing

AutoRepairBuilding - Changelog

v1.3.1811

  • nothing