You are viewing a potentially older version of this package. View all versions.
eshker-ZariRules-0.1.1 icon

ZariRules

Сохранение предметов и навыков после смерти, vanilla Resource Rate x4 и производство x4 у трёх печей. Серверные правила для всех клиентов.

By eshker
Date uploaded a day ago
Version 0.1.1
Download link eshker-ZariRules-0.1.1.zip
Downloads 19
Dependency string eshker-ZariRules-0.1.1

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 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.2350
ValheimModding-Jotunn-2.30.0 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.30.0

README

Zari Rules

Сборка 0.1.1 для ручной gameplay-проверки на Valheim 1.0.7 (network 39, Unity 6000.0.75f1). Она прошла компиляцию, IL-contract checks и проверку структуры пакета; игровые сценарии M00–M27 пока имеют статус MANUAL PENDING.

Мод сохраняет исходные ссылки на предметы на месте, включая единый расширенный inventory EquipmentAndQuickSlots 3.1.1. Он не клонирует предметы, не сериализует EpicLoot metadata и не создаёт собственный backup. При смерти также сохраняются level и raw accumulator всех навыков, включая native DeathSkillsReset branch.

По умолчанию native Resource Rate равен ×4. Плавильня, доменная печь и углевыжигательная печь работают в четыре раза быстрее; input/output и fuel per product остаются штатными. Другие производственные постройки не меняются.

Установка через Gale

  1. Создайте копию текущего профиля и выберите её. До тестов сделайте backup персонажа и мира.
  2. В Gale 1.22.2 импортируйте ZariRules-0.1.1.zip как local mod (кнопка импорта локального мода или drag-and-drop ZIP в профиль).
  3. Проверьте, что в профиле появилась ровно одна BepInEx/plugins/ZariRules/ZariRules.dll; старую вручную скопированную DLL предварительно удалите из тестовой копии профиля.
  4. Установите тот же ZIP, BepInExPack 5.4.2350 и Jötunn 2.30.0 на оба клиента и dedicated server. Версии ZariRules должны совпадать.

Не заменяйте действующий профиль: первая установка предназначена для отдельной тестовой копии.

Конфигурация

BepInEx/config/zari.rules.cfg создаётся при первом запуске:

[Death]
KeepInventoryOnDeath = true
KeepSkillsOnDeath = true

[Resources]
ResourceRateMultiplier = 4.0

[Production]
ProductionSpeedMultiplier = 4.0

[General]
DebugLogging = false

Четыре gameplay-настройки синхронизируются Jötunn и доступны только server admin; DebugLogging локален. Диапазон числовых множителей — 0.01–10; Resource Rate имеет шаг 0.01 и преобразуется в native percent (4.0 → 400). Изменения применяются через штатную server-config synchronization; для первого ручного прогона рекомендуется менять cfg только при остановленном сервере и затем перезапускать его.

Native Resource Rate сохраняется в world starting keys. После удаления/отключения ZariRules администратор сервера может вернуть только этот modifier командой setkey ResourceRate 100; не используйте общий reset world modifiers. Пока мод включён, сервер снова применит значение из zari.rules.cfg.

Совместимость и ограничения

Целевые версии: EquipmentAndQuickSlots 3.1.1 и EpicLoot 0.14.2. EAQS может отсутствовать — тогда работает base-inventory mode. Неизвестная версия EAQS или неожиданный mutating Harmony owner на критической границе отключает Keep Inventory до review.

ZenPlayer и DropMoreLoot должны быть отключены на всех сторонах. Zen_ModLib удаляйте только если он не нужен другим модам. AzuAutoStore 3.1.2, AzuCraftyBoxes 1.8.18 и Recycle_N_Reclaim 1.4.4 проверены статически по точным DLL; их multiplayer-сценарии остаются ручными.

ZariRules поддерживает только точный assembly_valheim.dll Valheim 1.0.7 с MVID db11c804-ebef-403d-8e77-ac219f14bf46. На другом build функции fail closed и пишут ZR900; не тестируйте смерть ценным персонажем, если startup log не показывает ZR100ZR103 со статусом ready.

Первый ручной прогон

  1. Включите DebugLogging=true на server и обоих клиентах. Проверьте startup ZR100ZR103, ResourceRate keyPercent=400, а для трёх печей — baseSeconds/effectiveSeconds.
  2. С расходным набором проверьте обычный inventory, экипировку и quick slots: смерть → respawn → relog. Новая могила должна отсутствовать, counts/digests не должны измениться.
  3. Повторите с одним enchanted/socketed EpicLoot item и сравните tooltip/custom effects до и после.
  4. Для двух навыков с partial progress сравните raw snapshot до hard death и после relog; затем повторите soft death.
  5. На новых одинаковых источниках сравните native Resource Rate ×1 и ×4; выброшенный и поднятый stack не должен увеличиться.
  6. Для каждой из трёх печей измерьте не менее четырёх продуктов при speed ×1 и ×4; output и fuel/product должны совпасть.

Полный checklist находится в docs/MANUAL_TEST_RESULTS.md исходного проекта.

CHANGELOG

Changelog

1.3.2

  • Исправлен повтор потерянного обновления рецептов после первого успешного обмена. Добавлены периодическая сверка, диагностика получения/показа уведомлений и проверка обмена между двумя игроками в обе стороны.
  • Исправлена доставка меток: готовый клиент запрашивает их у сервера и повторяет запрос до получения ответа. Пустой список также подтверждается; повторные запросы ограничены.
  • Убрана блокировка сохранения инвентаря по точному номеру EAQS. Проверки игровых контрактов и конфликтующих Harmony-патчей сохранены.
  • Патчи молотка привязаны к позиции аргумента, а не его имени. Изменение серверных настроек обновляет защиту уже существующих инструментов.
  • Жёлтая виньетка ослаблена вдвое; красная не изменена.
  • Уточнены проверка сигнатуры и допустимые значения ускорения роста растений. Правила смерти не применяются до синхронизации конфигурации.
  • Добавлены сетевые регрессионные проверки меток, проверки переключения инструментов и разрешения ссылок на игровые функции и поля.

1.3.1

  • Fixed building hammer durability loss in Valheim 1.0.12 by updating Player.GetPlaceDurability patch argument name (tool).
  • Fixed boss, trader, and dungeon map pins not showing in Valheim 1.0.12 by handling dictionary structure of ZoneSystem.m_locationInstances.
  • Added plant growth acceleration ([Production] PlantGrowthMultiplier = 10): crops and trees grow 10 times faster safely without mutating world ZDO timestamps.
  • Added verified compatibility for Equipment and Quick Slots 3.1.2.

Изменения 1.3.1

  • Исправлена потеря прочности строительного молота в Valheim 1.0.12: скорректировано имя параметра в патче Player.GetPlaceDurability (tool).
  • Исправлено отображение меток боссов, торговцев и подземелий на карте для Valheim 1.0.12: добавлена поддержка словаря ZoneSystem.m_locationInstances.
  • Добавлено ускорение роста растений ([Production] PlantGrowthMultiplier = 10): посадки и деревья растут в 10 раз быстрее без искажения исходного времени в ZDO.
  • Добавлена проверенная совместимость с Equipment and Quick Slots 3.1.2.

1.3.0

  • Added unbreakable building hammer ([Building] UnbreakableHammer = true): hammer durability never drains when building, repairing, or deconstructing pieces, eliminating frequent repair interruptions.
  • Added optional unbreakable building tools setting ([Building] UnbreakableBuildingTools = false) covering all tools with piece tables (hammer, hoe, cultivator).
  • Added plant growth acceleration ([Production] PlantGrowthMultiplier = 10): crops and trees grow 10 times faster without changing the original planted time saved in the world.
  • Fixed map pins for Valheim 1.0.12 (ZoneSystem.m_locationInstances reflection binding) and unplaced location filtering so all 7 bosses, 3 traders, and dungeons display correctly on the map.
  • Tuned WOUNDED / РАНЕН health indicator: yellow screen edge vignette and border intensity reduced by more than 2x for a gentle, non-distracting warning, while keeping the critical red pulsation intact.
  • Eliminated TextMeshPro fallback font warnings (LiberationSans SDF Font Asset was not found) by pre-assigning fonts on deactivated UI game objects.
  • Fixed config audit finding: wired up missing SettingChanged subscription for StaminaUsageMultiplier.

Изменения 1.3.0

  • Добавлен неломающийся строительный молот ([Building] UnbreakableHammer = true): молот не теряет прочность и не ломается при строительстве, ремонте и сносе построек.
  • Добавлена опциональная настройка для всех строительных инструментов ([Building] UnbreakableBuildingTools = false), защищающая любые инструменты со строительным столом (молот, мотыга, культиватор).
  • Добавлено ускорение роста растений ([Production] PlantGrowthMultiplier = 10): урожай и деревья растут в 10 раз быстрее, без изменения исходного сохранённого времени посадки в мире.
  • Исправлено отображение меток на карте для Valheim 1.0.12: исправлена видимость поля ZoneSystem.m_locationInstances и убран фильтр непосещённых локаций (отображаются все 7 боссов, 3 торговца и подземелья).
  • Скорректирована индикация статуса «РАНЕН»: жёлтая виньетка по краям экрана сделана более чем в 2 раза мягче и ненавязчивее; красная пульсация при критическом здоровье сохранена без изменений.
  • Устранены предупреждения TextMeshPro о поиске LiberationSans SDF в логах благодаря инициализации шрифтов на неактивных объектах UI.
  • Исправлен аудит настроек: подключена подписка SettingChanged для изменения StaminaUsageMultiplier в рантайме.

1.2.1

  • Fixed MapPins reflection contract failure for ZoneSystem.m_locationInstances (public field in Valheim 1.0.12).
  • Fixed server location caching to properly collect all generated bosses, traders, and dungeons instead of filtering out unvisited locations.
  • Corrected Hildir quest dungeon prefabs (CaveHildir, ForestCryptHildir, PlainsFortHildir) and burial chambers (ForestCrypt).
  • Decoupled RevealMapPins configuration from RevealFullMap so pins can be shown independently.
  • Added comprehensive static contract checks (V15.mappins) and unit test suite for map pin classification and serialization.

Изменения 1.2.1

  • Исправлен контракт рефлексии MapPins для ZoneSystem.m_locationInstances (в Valheim 1.0.12 поле является публичным).
  • Исправлена серверная выборка локаций: убран ошибочный фильтр непосещённых локаций, блокировавший генерацию меток боссов, торговцев и подземелий.
  • Скорректированы имена префабов квестовых подземелий Хильдир (CaveHildir, ForestCryptHildir, PlainsFortHildir) и склепов (ForestCrypt).
  • Отвязана настройка RevealMapPins от RevealFullMap: отметки теперь работают независимо от тумана войны.
  • Добавлены статические проверки контракта V15.mappins и модульные тесты классификации и сериализации меток.

1.2.0

  • Increased default and maximum StackSizeMultiplier from ×10 to ×20 while preserving vanilla weights, gear restrictions, and overstack loading protection.
  • Added real-time map revelation of all bosses, traders (including Bog Witch and Hildir), and dungeons directly from server world locations with non-persistent map pins.
  • Redesigned health panel with a more compact ~280×44 layout and default position Y = 0.10.
  • Added full-screen low-health screen edge indicators: subtle amber glow between 25% and 50% HP, noticeable red pulsation at 25% and below.
  • Added rich recipe discovery notifications below the minimap showing author names, recipe item names with localization, and batch counts without relogging.
  • Upgraded shared recipe protocol to version 2 with author tracking and backward-compatible migration from v1 data.

Изменения 1.2.0

  • Множитель стаков по умолчанию и максимум увеличен с ×10 до ×20; сохранены штатный вес, запрет складывания экипировки и защита загрузки больших стаков.
  • Добавлено отображение реальных позиций всех боссов, торговцев (включая Болотную ведьму и Хильдир) и подземелий на карте; метки временные и не засоряют сохранения.
  • Панель здоровья сделана компактнее (~280×44) с позицией по умолчанию Y = 0.10.
  • Добавлена полноэкранная виньетка низкого здоровья: мягкое янтарное свечение краев при 25–50% HP и заметная красная пульсация при 25% HP и ниже.
  • Добавлены уведомления об открытии рецептов под мини-картой с указанием автора, локализованными именами предметов и пакетной группировкой без перезахода.
  • Протокол и формат хранения общих рецептов обновлены до версии 2 с сохранением авторов и обратной совместимостью с v1.

1.1.1

  • Added verified Valheim 1.0.12 support for the Windows client and Linux dedicated server.
  • Rechecked every game API, signature and IL anchor used by resource, death, furnace, stack, map, recipe, stamina and HUD features.
  • Kept verified Valheim 1.0.7 contracts available for rollback installations.

Изменения 1.1.1

  • Добавлена проверенная поддержка Valheim 1.0.12 для клиента Windows и выделенного сервера Linux.
  • Повторно проверены все API, сигнатуры и IL-контракты ресурсов, смерти, печей, стаков, карты, рецептов, выносливости и HUD.
  • Сохранена поддержка проверенных сборок Valheim 1.0.7 на случай отката.

1.1.0

  • Added full terrain reveal, persistent shared recipes with existing-player catch-up, ×1–×10 stack limits and an independent health indicator.
  • Halved stamina costs and their affordability checks. Default furnace speed is now ×20; existing configs keep their values.
  • Protected stack loading against truncation and prevented repeated stack multiplication.
  • Updated Windows/Linux contract checks and regression tests, including concurrent recipe discoveries and production timing at ×20.

Изменения 1.1.0

  • Добавлены открытая карта, сохранение общих рецептов с объединением прежних знаний игроков, стаки ×1–×10 и независимый индикатор здоровья.
  • Вдвое уменьшены расход выносливости и порог для действий. Скорость печей по умолчанию — ×20; старый конфиг сохраняется.
  • Защищена загрузка больших стаков и устранено повторное умножение их лимита.
  • Дополнены проверки Windows/Linux и регрессионные тесты, включая одновременные открытия рецептов и скорость производства ×20.

1.0.0

  • Fixed Linux dedicated server compatibility: resource and production rules now pass the verified server assembly contracts.
  • Kept the native ×4 resource rate and its exclusions; fixed unscaled fixed-item pickups without multiplying random loot twice.
  • Set default furnace speed to ×10 and fixed floating-point tick loss. Fuel per recipe and saved progress remain unchanged.
  • Added Windows/Linux IL comparison and resource lifecycle regression checks.
  • Included an English/Russian README in the package.

Изменения 1.0.0

  • Исправлена совместимость с выделенным Linux-сервером: правила ресурсов и печей проходят проверку серверной сборки.
  • Сохранены штатный рейт ×4 и исключения игры; исправлен пропуск множителя у фиксированных предметов без двойного умножения случайной добычи.
  • Скорость печей по умолчанию — ×10; устранена потеря шагов из-за округления. Расход топлива на рецепт и сохранённый прогресс не меняются.
  • Добавлены сравнение IL Windows/Linux и проверки загрузки ресурсных правил.
  • В архив включён README на английском и русском.