BGSWaterCollision - CrashFix / Исправление вылетов коллизии воды
BGS Water Collision Crash Fix устраняет вылет, вызванный водной системой Skyrim (водопадами и размещаемой водой). При выгрузке игровой ячейки, игра может освободить данные коллизии водопада в то время, пока фоновый поток всё ещё обходит глобальный список воды и спрашивает у каждого объекта: "готовы ли твои плоскости коллизии?". Затем этот поток читает уже освобождённый объект, и игра вылетает. Это зависящая от таймингов гонка данных типа use-after-free, поэтому она происходит случайно и её трудно воспроизвести. Этот мод работает на уровне .DLL файла. Он не редактирует модели, ячейки или какие-либо игровые файлы, поэтому остаётся совместимым со всем и может быть размещён в любом месте вашего порядка загрузки. Это сетевой предохранитель времени выполнения (runtime safety net), а не esp-файл.
Это известная модель вылета, связанная с водой, водопадами и Havok, а не единичная ошибка. Чаще всего она проявляется в местах с большим количеством воды, таких как Солстхейм и Забытая долина, и обычно более вероятна с модами, которые добавляют или меняют много воды и модели эффектов: реплейсеры воды и водопадов, вывод патчеров частиц и моделей (ParallaxGen, PG Patcher, CS Particle Patch), Water for ENB, Natural Waterfalls, а иногда DynDOLOD или Occlusion. Ни один из них не является "причиной" — они лишь расширяют временное окно гонки данных, которая уже существует в оригинальной игре, поэтому ни один конкретный мод не указывает на неё напрямую. Полный лог вылета — единственный способ убедиться в том, что именно в этом дело.
Как это работает:
Прямо перед тем, как движок проверяет объект воды, мод безопасно проверяет, является ли этот объект всё ещё действительным. Если да, проверка выполняется именно так, как задумывала игра — водопады ведут себя как обычно. Если объект уже был освобождён, мод сообщает движку "не готов", что является тем же ответом, который сама игра даёт для воды, которая ещё не готова. Движок просто пропускает этот объект и движется дальше, поэтому вылет никогда не происходит. Действительная вода никогда не затрагивается.
Основные особенности:
* Предотвращает вылет коллизии воды BGSWaterCollisionManager bhkWaterfall
* Никаких вылетов, никаких зависаний — мёртвый объект пропускается, игра продолжает работать
* Точная проверка безопасности: пропускает только те объекты, на которых движок действительно вылетел бы
* Не трогает действительную воду — никаких визуальных изменений работающих водопадов
* Без моделей, без ячеек, без esp — только DLL, совместим со всем
* Опциональное логирование предотвращённых вылетов для диагностики
* Единый DLL для SE и AE
Требования:
Skyrim SE 1.5.97, AE 1.6.1170, AE 1.7.99 и AE 1.7.104 (VR: путь кода на месте, но ещё не протестирован в игре)
SKSE (или SKSEVR)
Address Library for SKSE Plugins
Установка:
Установите с помощью вашего мод-менеджера или вручную. Настройка не требуется. Активация не требуется.
Логи:
Мод записывает лог по этому адресу:
Documents\My Games\Skyrim Special Edition\SKSE\BGSWaterCollisionCrashFix.log
Каждый предотвращённый вылет записывается как строка "DANGLING bhkWaterfall", а текущие итоги фиксируются как строки "WATER EVENT". Если вы никогда не видите этих строк, значит, условие вылета просто не возникло во время вашей сессии.
Примечания:
Это целевой предохранитель для одного конкретного вылета. Он надёжно останавливает появление вылета, но не меняет того, как оригинальная игра управляет водой внутренне. Влияние на производительность незначительно.
Обновление:1.4.0
Исправлено
* Исправлены редкие сбои физики воды, вызываемые повторной загрузкой, выгрузкой и пересборкой затронутых областей.
* Предотвращено сохранение недействительных состояний воды до конца игровой сессии.
* Устранена repeated покадровая обработка повреждённых объектов воды.
* Улучшена изоляция между пересобранными объектами воды для предотвращения влияния устаревшего состояния на активную физику.
* Закрыт дополнительный критичный к таймингам путь сбоя во время обновления воды.
* Исправлена диагностика для частично активных конфигураций хуков.
Улучшено
* Переработана внутренняя система проверки и восстановления состояния воды.
* Добавлены адаптивные защитные меры, рассчитанные на консервативную работу с непроверенными версиями игры.
* Улучшена точность восстановления при сохранении минимальной нагрузки на обычный игровой процесс по умолчанию.
* Устранён потенциальный риск зависания внутри собственного пути обновления защиты.
* Лог теперь открывается указанием версии мода и обнаруженной версии игры, а также всегда подтверждает, что защита активна.
* Расширено отслеживание состояния во время выполнения для упрощения поиска и устранения неполадок.
Это известная модель вылета, связанная с водой, водопадами и Havok, а не единичная ошибка. Чаще всего она проявляется в местах с большим количеством воды, таких как Солстхейм и Забытая долина, и обычно более вероятна с модами, которые добавляют или меняют много воды и модели эффектов: реплейсеры воды и водопадов, вывод патчеров частиц и моделей (ParallaxGen, PG Patcher, CS Particle Patch), Water for ENB, Natural Waterfalls, а иногда DynDOLOD или Occlusion. Ни один из них не является "причиной" — они лишь расширяют временное окно гонки данных, которая уже существует в оригинальной игре, поэтому ни один конкретный мод не указывает на неё напрямую. Полный лог вылета — единственный способ убедиться в том, что именно в этом дело.
Как это работает:
Прямо перед тем, как движок проверяет объект воды, мод безопасно проверяет, является ли этот объект всё ещё действительным. Если да, проверка выполняется именно так, как задумывала игра — водопады ведут себя как обычно. Если объект уже был освобождён, мод сообщает движку "не готов", что является тем же ответом, который сама игра даёт для воды, которая ещё не готова. Движок просто пропускает этот объект и движется дальше, поэтому вылет никогда не происходит. Действительная вода никогда не затрагивается.
Основные особенности:
* Предотвращает вылет коллизии воды BGSWaterCollisionManager bhkWaterfall
* Никаких вылетов, никаких зависаний — мёртвый объект пропускается, игра продолжает работать
* Точная проверка безопасности: пропускает только те объекты, на которых движок действительно вылетел бы
* Не трогает действительную воду — никаких визуальных изменений работающих водопадов
* Без моделей, без ячеек, без esp — только DLL, совместим со всем
* Опциональное логирование предотвращённых вылетов для диагностики
* Единый DLL для SE и AE
Требования:
Skyrim SE 1.5.97, AE 1.6.1170, AE 1.7.99 и AE 1.7.104 (VR: путь кода на месте, но ещё не протестирован в игре)
SKSE (или SKSEVR)
Address Library for SKSE Plugins
Установка:
Установите с помощью вашего мод-менеджера или вручную. Настройка не требуется. Активация не требуется.
Логи:
Мод записывает лог по этому адресу:
Documents\My Games\Skyrim Special Edition\SKSE\BGSWaterCollisionCrashFix.log
Каждый предотвращённый вылет записывается как строка "DANGLING bhkWaterfall", а текущие итоги фиксируются как строки "WATER EVENT". Если вы никогда не видите этих строк, значит, условие вылета просто не возникло во время вашей сессии.
Примечания:
Это целевой предохранитель для одного конкретного вылета. Он надёжно останавливает появление вылета, но не меняет того, как оригинальная игра управляет водой внутренне. Влияние на производительность незначительно.
Обновление:1.4.0
Исправлено
* Исправлены редкие сбои физики воды, вызываемые повторной загрузкой, выгрузкой и пересборкой затронутых областей.
* Предотвращено сохранение недействительных состояний воды до конца игровой сессии.
* Устранена repeated покадровая обработка повреждённых объектов воды.
* Улучшена изоляция между пересобранными объектами воды для предотвращения влияния устаревшего состояния на активную физику.
* Закрыт дополнительный критичный к таймингам путь сбоя во время обновления воды.
* Исправлена диагностика для частично активных конфигураций хуков.
Улучшено
* Переработана внутренняя система проверки и восстановления состояния воды.
* Добавлены адаптивные защитные меры, рассчитанные на консервативную работу с непроверенными версиями игры.
* Улучшена точность восстановления при сохранении минимальной нагрузки на обычный игровой процесс по умолчанию.
* Устранён потенциальный риск зависания внутри собственного пути обновления защиты.
* Лог теперь открывается указанием версии мода и обнаруженной версии игры, а также всегда подтверждает, что защита активна.
* Расширено отслеживание состояния во время выполнения для упрощения поиска и устранения неполадок.
Основной архив (120 kb)Сервер №1




