Hesher-Roguenarok_WaveLab icon

Roguenarok WaveLab

Standalone Valheim wave balance laboratory: 44 documented controls, Tab admin panel, live config, biome pools and JSON presets.

By Hesher
Last updated a day ago
Total downloads 4
Total rating 0 
Categories Modpacks
Dependency string Hesher-Roguenarok_WaveLab-0.1.3
Dependants 0 other packages depend on this package

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

WaveLab 0.1.3

Самостоятельный стенд для настройки волн Valheim. BepInEx 5 обязателен; Jotunn и Roguenarok не нужны. Нельзя включать одновременно с Roguenarok Foundation. Автоматического старта волн нет. Мод не обнуляет персонажей и не меняет карту.

Быстрый старт

  1. Выберите профиль WaveSpavner в r2modman и нажмите Start modded. Если игра уже открыта, новый плагин загрузится при следующем запуске.
  2. Для первого теста зайдите в отдельный локальный мир. Хозяин мира — администратор автоматически.
  3. Нажмите Tab. Во вкладке Пресеты выберите биом; пресет меняет только состав.
  4. Настройте параметры и нажмите Применить на сервере. Изменения в панели сами по себе не меняют мир.
  5. Встаньте в центре будущей арены и нажмите Старт. Живые игроки в заданном радиусе становятся целями.
  6. Стоп + очистка удалит живых тестовых мобов без дропа. Игроки, вещи на земле и обычные существа остаются.

Что регулируется

44 параметра с русскими пояснениями, слайдерами и точным числовым вводом:

  • Ритм: начальная/последняя волна, подготовка, ожидание зачистки, передышка, минимальный интервал, лимит боя, размер и пауза порций, seed.
  • Число: база, добавка за игрока, линейный и экспоненциальный рост, предел на волну и предел живых мобов.
  • Спавн: минимальный/максимальный радиус, безопасное расстояние от всех игроков, радиус участников, кольцо от игроков/арены, предпочтение спины, уклон, перепад высоты, уровень воды, число попыток.
  • Сила: здоровье, урон, скорость и их рост за волну, общая фракция и преследование игроков.
  • Звёзды: стартовые звёзды, интервал повышения, случайная бонусная звезда и предел.
  • Награды: мгновенный/отложенный дроп, ванильный лут, дополнительные монеты и множитель за звёзды, разрешение боссов, запрет новых ванильных набегов.
  • Состав: Prefab:вес:первая_волна через запятую. Например Greyling:70:1,Neck:30:1,Greydwarf_Elite:5:6. Вес относительный. Наличие prefab и тип существа проверяет сервер.

Количество волны:

ceil((BaseCount + PerPlayer × (живые участники − 1) + CountGrowth × (волна − 1)) × CountExponent^(волна − 1)), затем ограничение WaveCap. AliveCap ограничивает одновременно живых тестовых мобов; запланированный остаток ждёт свободных мест.

HP и урон: базовый множитель × (1 + прирост% × (волна − 1) / 100). HP и урон ограничены 100x, скорость — 3x. Звёзды применяются нативно, поэтому их нативные бонусы складываются с этими множителями. Ванильные навыки персонажей и кооперативные коэффициенты остаются нативными; это важно при сравнении с Roguenarok.

Работа без перезапуска

Настройки сервера: BepInEx/config/local.roguenarok.wavelab.cfg. Каждому параметру предшествует русское пояснение. Изменения файла проверяются раз в секунду. Некорректный пресет отклоняется, работающие настройки остаются прежними.

Кнопка Применить атомарно сохраняет cfg сервера. Новая сила и скорость действуют на новых мобов, уже появившиеся сохраняют параметры. Количество планируется в момент начала волны; уже начатая пауза заканчивается по прежнему сроку. Для чистого сравнения используйте Стоп и новый Старт.

Пауза останавливает спавн и таймеры, но живые враги продолжают двигаться и атаковать. Следующая волна очищает оставшихся тестовых мобов без награды и снимает паузу. Без живых участников в радиусе арены новые спавны и таймеры приостанавливаются. Неподходящие точки пропускаются; счётчик «пропущено» помогает заметить слишком тесный радиус, крутой склон или воду. Стенд рассчитан на открытый мир, не на инстансы подземелий.

Как передать настройки для Roguenarok

Копировать JSON помещает значения панели с описаниями в буфер обмена. Перед переносом сначала нажмите Применить. Вставьте JSON в чат.

Экспорт на сервере сохраняет применённые значения в BepInEx/config/WaveLab/waves-*.json на машине, где запущен мир. В локальной игре это папка профиля WaveSpavner. Во вкладке Пресеты есть импорт JSON из буфера — он загружает значения в панель, затем нужно нажать Применить.

Dedicated-сервер

Установите BepInEx 5 и BepInEx/plugins/WaveLab/Roguenarok.WaveLab.dll на отдельный сервер. Клиентам нужна та же DLL. Внесите Steam ID администраторов в обычный серверный adminlist.txt; после изменения переподключитесь. Только администраторы могут менять настройки, запускать/останавливать тест и экспортировать на сервер. Остальные клиенты видят параметры без права редактирования. Локальный хозяин мира имеет доступ автоматически.

Сессия не возобновляется автоматически после перезапуска. Тестовые мобы непостоянные, старые помеченные мобы очищаются при следующей загрузке с WaveLab. Обычный мир не очищается. При разрешённых боссах их убийство может открыть нативную прогрессию мира — по умолчанию боссы запрещены. Ванильные спавнеры биома сохраняются; запрет набегов блокирует новые случайные события, но не отменяет уже начавшееся.

Проверки

Сборка под установленную Valheim 1.0.17, .NET Standard 2.1. Пройдены 153439 проверок модели: кодирование пресетов, валидация границ, запрет NaN/Infinity, ограничение количества/звёзд/множителей, взвешенный состав и таймеры. Визуальная компоновка панели, владение AI и многопользовательские команды требуют проверки в игре; отдельный тестовый сервер не запускался.