Описание
Файлы
История версий
К комментариям (168)
Описание Crash Fixes: Этот SKSE-плагин создан с целью исправить некоторые ошибки, приводящие к крашам Skyrim’а. Но это не панацея! Если вы используете конфликтующие или нестабильные моды, то они по-прежнему будут рушить вашу игру.
Описание SKSE Plugin Preloader: Эта библиотека позволяет системе загружать SKSE-плагины до инициализации игры. В отличие от SKSE, который вызывает SKSEPlugin_Query и SKSEPlugin_Load уже после запуска, она вызывает LoadLibrary плагина.
Установка:
1) Скопировать папку Data из архива «Crash Fixes 12» в корневую папку игры.
Настройка аллокаторов:
1) Скопировать файл d3dx9_42.dll из архива «SKSE Plugin Preloader 3» в корневую папку игры.
2) Открыть файл CrashFixPlugin.ini по адресу DataSKSEPlugins.
3) Найти строчку UseOSAllocators, установить значение 1.
4) Найти строчку AlignHeapAllocate, установить значение 1. (Внимание! Эта функция может увеличить время загрузки и потребление памяти игрой. Также несколько человек сообщали о её несовместимости с некоторыми параметрами ENB. Если вы не сталкиваетесь с этими проблемами, рекомендуется оставить значение 1.)
Рекомендуемые изменения в других файлах:
➔ enblocal.ini (в корне игры) (должен быть установлен ENB-пресет/ENBoost)
ExpandSystemMemoryX64=false ReduceSystemMemoryUsage=true
➔ SKSE.ini (в папке Data/SKSE) (если его нет, можете скачать с Nexus’а)
DefaultHeapInitialAllocMB=768 ScrapHeapSizeMB=256
➔ Skyrim.ini (в папке Документы/My Games/Skyrim)
uExterior Cell Buffer=36 bPreemptivelyUnloadCells=0 fPostLoadUpdateTimeMS=500 (можно поднять до 1000+)* fUpdateBudgetMS=1.2 (можно поднять до 2.0)* fExtraTaskletBudgetMS=1.2 (можно поднять до 2.0)* bEnableLogging=0 bEnableTrace=0
* если у вас много тяжёлых скриптовых модов.
Другие замечания:
➔ ENBoost: практически обязателен, если вы не используете ENB-пресет. Если используете — всё равно обратите внимание на числа в enblocal.ini. Повышает стабильность и производительность.
➔ Safety Load, патч памяти от SKSE и SSME: больше не нужны, если вы настроили аллокаторы Crash Fixes. Установка значений в SKSE.ini оставлена, чтобы плагин не ругался на их отсутствие.
➔ Stable uGridsToLoad: не рекомендован к использованию, уменьшает стабильность игры. В целом, менять значение uGridsToLoad не рекомендуется (по умолчанию 5), особенно посреди игры, дважды особенно в меньшую сторону. Значение 7 могут использовать только опытные игроки.
➔ Bashed Patch: желателен для исправления некоторых конфликтов между модами (например, в уровневых листах). Не забудьте убедиться в корректности настроек Wrye Bash, чтобы избежать «кракозябр» в игре.
➔ LOOT: не идеальный, но полезный инструмент, может предупредить о проблемах с плагинами (укажет на ITM записи, например).
➔ TES5Edit: практически обязателен. Единственный инструмент, который чистит плагины от ошибочных записей.
Требования: Skyrim, SKSE.
Примечания:
➔ Для пользователей МО: установка Crash Fixes (не Preloader’а) должна проводиться через МО. «DataSKSEPlugins» означает «Папка_модаSKSEPlugins», аналогично и для SKSE.ini, который может быть установлен как обычный мод. Кроме того, файл Skyrim.ini (как и SkyrimPrefs.ini), который используется игрой, лежит не в Документах, а в папке профиля МО — воспользуйтесь встроенным редактором INI.
Made a plugin to help try and fix some of the crashes I’ve been seeing in http://www.loverslab.com/topic/46913-how-to-debug-ctd/. You can turn each individual fix on / off in the SKSE/Plugins/CrashFixPlugin.ini, default settings recommended but if you have problems with something and you know what you’re doing you can change. If you want to see exactly what crashes are fixed (with addresses) and a small explanation of my best understanding of the crash then check the INI file or readme on the nexus mod page.
This plugin is meant to fix some common crashes AFTER you have followed STEP guides and sensible modding rules! It does not fix problems that come from modding irresponsibly or conflicts between mods.
How to use the memory allocator patch?
1. Open CrashFixPlugin.ini and find «UseOSAllocators=0»
2. Change it to «UseOSAllocators=1»
3. Download and install SKSE Plugin Preloader
4. Start game, if you get an error saying that memory patch could not be applied read the message for help, otherwise you’re good to go.
(5.) Causes game to crash and you use ENB? Set ExpandSystemMemoryX64=false in enblocal.ini
(6.) Causes game to crash more frequently (especially with UNP RaceMenu sliders)? Try AlignHeapAllocate=1 in CrashFixPlugin.ini
Tips for additional stability:
(These are things I’ve observed and Not 100% fact!)
If you don’t have some lines listed below in your INI it means they are set to default value.
Data/SKSE/SKSE.ini (not needed if UseOSAllocators=1 in CrashFixPlugin.ini):
- Set DefaultHeapInitialAllocMB:Memory to 768. If you are using a lot of mods or higher uGrid than 5 then set 1024. Helps with CTD during save load, especially if you can load the save after qasmoke. Max value is 1280. If you are using ENB you may get CTD on startup with higher value than 768 and ExpandSystemMemoryX64 true in enblocal.ini!
- Set ScrapHeapSizeMB:Memory to 256. Game can’t use more than 256 of this and setting higher serves no purpose.
Skyrim.ini:
- uExterior Cell Buffer:General — setting this too high causes crashes more, especially when game wants to unload many cells at once. If you set 0 or just remove it from your INI then game decides this and that’s the best way.
- bPreemptivelyUnloadCells:General — setting this 1 will mean game purges cell buffers and unload cell whenever it is possible. Default is 0 which means keep cell in memory until we need the space for other cells. I find 0 to be better, there’s no reason to unload cell immediately, the buffer was implemented for a reason.
- fPostLoadUpdateTimeMS:Papyrus — setting higher will cause longer loading. Mine is 500, seems to work well for me. You can try 750 or even 1000+ if you have a lot of script-heavy mods.
- fUpdateBudgetMS:Papyrus — remove (this sets to default 1.2). If you have a lot of script heavy mods and a good PC you can set higher for example 2.0, however this can reduce your FPS when a lot of things are happening.
- fExtraTaskletBudgetMS:Papyrus — remove (this sets to default 1.2). See above.
- bEnableLogging:Papyrus — set 0. There’s no reason to log papyrus unless you are developing a mod. Writing to file constantly is not good for performance. Papyrus logs have nothing to do with finding causes for crashes, although you can use this to find misbehaving mod scripts which can be helpful, I’d recommend to disable it for normal gameplay though.
- bEnableTrace:Papyrus — set 0. See above.
- Any other papyrus setting — delete. Changing the papyrus from default will just cause instability or lagged scripts.
- iPresentInterval:Display — VSync enabled or disabled. You shouldn’t need to change this as default value is 1 and that’s good.
Safety Load (not needed if UseOSAllocators=1 in CrashFixPlugin.ini):
Install Safety Load if you have a infinite loading screen or freeze at any point. It fixes a bug in memory allocation that causes deadlock. Yes you still need this if you have SKSE memory patch, no they don’t do the same thing. SKSE memory patch hides the problem of deadlock for longer because it allocates a larger memory block. If you don’t have freeze or infinite loading screen at all then you don’t need this!
Stable uGridsToLoad:
Don’t use this. It causes memory corruption and does nothing unless you are changing your uGridsToLoad setting in INI often (I don’t know why you would).
ENB:
I’m not an expert in ENB, but these two I recommend in enblocal.ini:
ExpandSystemMemoryX64=false
ReduceSystemMemoryUsage=true
Bashed Patch:
You should make this. It helps resolve a lot of conflicts between mods, especially related to leveled lists which can be a big problem. If there are no conflicts this doesn’t really do any harm but even a small mod list usually has some.
LOOT:
LOOT can be a good tool to help resolve issues with ordering, but it is not perfect, sometimes it places mods incorrectly, use your best judgement. LOOT can also warn you about other potential problems with mods.
TES5Edit cleaning:
Do this! LOOT can tell you which mods need cleaning.
Playthrough:
Don’t install or uninstall mods (with ESP files) in the middle of playthrough. Even changing the order can be very bad, especially if you use bashed patch or anything with SkyProc (requiem, perkus maximus). This of course applies to ESP files! Graphics mods and pure SKSE plugins are fine most of the time.
Common issues:
UseOSAllocators=1 and crashing when touching sliders in character creation or otherwise.
Set AlignHeapAllocate=1 in CrashFixPlugin.ini, downside is increased load time and increased memory usage.
UseOSAllocators=1 and crashing on game startup or loading save or shortly after.
Set ExpandSystemMemoryX64=false in enblocal.ini
Game says message box «running out of memory» and crashes.
Set ReduceSystemMemoryUsage=true in enblocal.ini
Ground textures flickering weird.
Set ExpandSystemMemoryX64=false in enblocal.ini
Changelog
12 — 28/08/2016
- Errors or warnings from Crash Fixes is now also logged to file — enabled by default. The file appears in Data/SKSE/Plugins/CrashFixPluginLog.txt
- Added automatic crash dump analysis, disabled by default. It creates files in Data/SKSE/Plugins/CrashLog/crash_timestamp.txt
- Warn user if they have bad ENB settings on startup.
- Added a crash fix related to Enderal.
- Added a crash fix related to magic effects list.
- Skyrim will display warning if actor has unexpectedly NULL TESCombatStyle form. It tries to display the actor form ID so you can check it out yourself.
- Changed a bit how the corrupt NIF crash is detected, it might help avoid some false positives.
Check out my other mod Bug fixes.
Этот SKSE-плагин создан с целью исправить некоторые ошибки, приводящие к крашам Skyrim’а. Но это не панацея! Если вы используете конфликтующие или нестабильные моды, то они по-прежнему будут рушить вашу игру.
Эта библиотека позволяет системе загружать SKSE-плагины до инициализации игры. В отличие от SKSE, который вызывает SKSEPlugin_Query и SKSEPlugin_Load уже после запуска, она вызывает LoadLibrary плагина.
Установка:
1) Скопировать папку Data из архива «Crash Fixes 12» в
корневую папку
игры.
Настройка аллокаторов:
- Скопировать файл d3dx9_42.dll из архива «SKSE Plugin Preloader 3» в корневую папку игры.
- Открыть файл CrashFixPlugin.ini по адресу DataSKSEPlugins.
- Найти строчку UseOSAllocators, установить значение 1.
- Найти строчку AlignHeapAllocate, установить значение 1. (Внимание! Эта функция может увеличить время загрузки и потребление памяти игрой. Также несколько человек сообщали о её несовместимости с некоторыми параметрами ENB. Если вы не сталкиваетесь с этими проблемами, рекомендуется оставить значение 1.)
Рекомендуемые изменения в других файлах:
enblocal.ini (в корне игры) (должен быть установлен ENB-пресет/ENBoost)
[MEMORY]
ExpandSystemMemoryX64=false
ReduceSystemMemoryUsage=true➔ SKSE.ini (в папке Data/SKSE) (если его нет, можете скачать с
Nexus’а
)
[Memory]
DefaultHeapInitialAllocMB=768
ScrapHeapSizeMB=256➔ Skyrim.ini (в папке Документы/My Games/Skyrim)
[General]
uExterior Cell Buffer=36
bPreemptivelyUnloadCells=0
[Papyrus]
fPostLoadUpdateTimeMS=500 (можно поднять до 1000+)*
fUpdateBudgetMS=1.2 (можно поднять до 2.0)*
fExtraTaskletBudgetMS=1.2 (можно поднять до 2.0)*
bEnableLogging=0
bEnableTrace=0
* если у вас много тяжёлых скриптовых модов.
Другие замечания:
- ENBoost: практически обязателен, если вы не используете ENB-пресет. Если используете — всё равно обратите внимание на числа в enblocal.ini. Повышает стабильность и производительность.
- Safety Load, патч памяти от SKSE и SSME: больше не нужны, если вы настроили аллокаторы Crash Fixes. Установка значений в SKSE.ini оставлена, чтобы плагин не ругался на их отсутствие.
- Stable uGridsToLoad: не рекомендован к использованию, уменьшает стабильность игры. В целом, менять значение uGridsToLoad не рекомендуется (по умолчанию 5), особенно посреди игры, дважды особенно в меньшую сторону. Значение 7 могут использовать только опытные игроки.
- Bashed Patch: желателен для исправления некоторых конфликтов между модами (например, в уровневых листах). Не забудьте убедиться в корректности настроек Wrye Bash, чтобы избежать «кракозябр» в игре.
- LOOT: не идеальный, но полезный инструмент, может предупредить о проблемах с плагинами (укажет на ITM записи, например).
- TES5Edit: практически обязателен. Единственный инструмент, который чистит плагины от ошибочных записей.
Требования:
- Skyrim
- SKSE.
Примечания:
Для пользователей МО: установка Crash Fixes (не Preloader’а) должна проводиться через МО. «DataSKSEPlugins» означает «Папка_модаSKSEPlugins«, аналогично и для SKSE.ini, который может быть установлен как обычный мод. Кроме того, файл Skyrim.ini (как и SkyrimPrefs.ini), который используется игрой, лежит не в Документах, а в папке профиля МО — воспользуйтесь встроенным редактором INI.
Что нового в версии 12
- Оригинальный INI-файл на английском установлен как основной.
- Перевод — рядом с файлом Description в корне архива.
The Elder Scrolls V: Skyrim
Платформы: PC, PS3, Xbox 360, PS4, Xbox One, Nintendo Switch, PS VR, HTC Vive
Режим игры: Однопользовательский
Дата анонса: 11 декабря 2010 года
Игровой движок: Creation Engine
Разработчик: Bethesda Softworks
Издатель: Bethesda Softworks
Локализатор: 1С-СофтКлаб
Жанр игры: Action RPG
ИНСТРУКЦИЯ ПО УСТАНОВКЕ/УДАЛЕНИЮ МОДА
Во время вашего ожидания Зарегистрированные пользователи уже качают!
Hi there, I’ve recently started to install some mods in my Skyrim LE, after lots and lots of reading in guides, forums and watching videos about how to mod correctly your game, then I thought I did everything correctly when I started to install my mods, but when I started my playthough, right after leaving the cave from Helgen, this message from the mod Crash Fixes has appeared:
Game has crashed while reading binary data stream! This could indicate a corrupt NIF file. Here are the last opened files starting from most recent:
C:Program Files (x86)SteamsteamappscommonSkyrimDATASOUNDfxmag_isfiremag_fire_ready_lp.wav» 0.110000 seconds ago.
C:Program Files (x86)SteamsteamappscommonSkyrimDATASOUNDfxmag_isfiremag_fire_charge_050.wav» 0.141000 seconds ago.
C:Program Files (x86)SteamsteamappscommonSkyrimDATASOUNDfxfst_isstonelightrunlfst_stone_light_run_001.wav» 0.594000 seconds ago.
C:Program Files (x86)SteamsteamappscommonSkyrimDATASOUNDfxfst_isstonelightrunrfst_stone_light_run005.wav» 0.891000 seconds ago.
C:Program Files (x86)SteamsteamappscommonSkyrimDATASOUNDfxfst_isfst_npcstoneheavywalkfstnpc_stone_heavy_walk_003.wav» 1.375 seconds ago.
C: Program Files (x86)SteamsteamappscommonzSkyrimDATASOUNDfxmag_isfrostmag_frost_bolt_001.wav» 1.594 seconds ago.
C:Program Files (x86)SteamsteamappscommonSkyrimDATASOUNDfxfst_isfst_npcstoneheavywalkfstnpc_stone_heavy_walk_004.wav» 1.688 seconds ago.
C:Program Files (x86)SteamsteamappscommonSkyrimDATASkyrim — Sounds.bsa» 1.703 seconds ago.
I’m not an expert when modding my games, so I came here to see if anyone could help me to solve this issue. I already tried to find my answer in some other forums and videos on yt, but without luck. Here’s my load order from LOOT if that can help in any way:
0 0 Skyrim.esm
1 1 Update.esm
2 2 Dawnguard.esm
3 3 HearthFires.esm
4 4 Dragonborn.esm
5 5 RSkyrimChildren.esm
6 6 ClimatesOfTamriel.esm
7 7 hdtHighHeel.esm
8 8 Diverse Random NormalAttack.esp
9 9 HighResTexturePack01.esp
10 a HighResTexturePack02.esp
11 b HighResTexturePack03.esp
12 c Unofficial High Resolution Patch.esp
13 d FMS_FemaleMakeupSuite.esp
14 e SaturationBoost.esp
15 f The Dance of Death — Ultimate Edition.esp
16 10 VioLens.esp
17 11 RLO — Interiors.esp
18 12 JKs Skyrim.esp
19 13 Skyrim Immersive Creatures.esp
20 14 RLO — Exteriors.esp
21 15 OBIS.esp
22 16 OBISDB.esp
23 17 Immersive Sounds — Compendium.esp
24 18 Thunderchild — Epic Shout Package.esp
25 19 Skyrim Immersive Creatures — DLC2.esp
26 1a Hothtrooper44_ArmorCompilation.esp
27 1b SMIM-Merged-All.esp
28 1c Immersive Patrols II.esp
29 1d Hothtrooper44_Armor_Ecksstra.esp
30 1e Immersive Weapons.esp
31 1f 12FemaleBrows.esp
32 20 SGEyebrows.esp
33 21 MBO Pack by Team TAL.esp
34 22 XPMSE.esp
35 23 RaceMenuMorphsCBBE.esp
36 24 UIExtensions.esp
37 25 AddItemMenuLE.esp
38 26 FNIS.esp
39 27 FISS.esp
40 28 AMatterOfTime.esp
41 29 Vivid Weathers.esp
42 2a Vivid Weathers — Extended Snow.esp
43 2b Vivid Weathers — Extended Rain.esp
44 2c Apocalypse — The Spell Package.esp
45 2d TheEyesOfBeauty.esp
46 2e ClimatesOfTamriel-Dawnguard-Patch.esp
47 2f Critical Hit.esp
48 30 DeadlySpellImpacts.esp
49 31 ISC DeadlySpellImpacts Patch.esp
50 32 Deadly Destruction.esp
51 33 EnchantmentPower.esp
52 34 dD — Enhanced Blood Main.esp
53 35 ISCompendium Enhanced Blood Patch.esp
54 36 Eyes of Aber.esp
55 37 towConversation.esp
56 38 HDT Capes.esp
57 39 HDTPhysicsWeaponSling.esp
58 3a HDT Female Hairstyles.esp
59 3b HorseCloak.esp
60 3c KJ Tattoos 4K.esp
61 3d LFox Pickpocketing Chance Caps at 100.esp
62 3e RSChildren.esp
63 3f RLO — Effects.esp
64 40 SkyHUD.esp
65 41 StrangeRunes.esp
66 42 True Master Trainers.esp
67 43 Abundant Enchantments.esp
68 44 Unlimited Training.esp
69 45 WWW.esp
70 46 ClimatesOfTamriel-Dragonborn-Patch.esp
71 47 dD-DG-DB-Immersive Creatures EBT Patch.esp
72 48 RLO — Illuminated Spells.esp
73 49 SkyUI.esp
74 4a perrobs experience choice.esp
75 4b RaceMenu.esp
76 4c RaceMenuPlugin.esp
77 4d aMidianborn_Skyforge_Weapons.esp
78 4e AMB Glass Variants Lore.esp
79 4f Differently Ebony.esp
80 50 Open Cities Skyrim.esp
81 51 Alternate Start — Live Another Life.esp
I think that’s it, any help would be really appreciated. If someone needs more information, feel free to request. Thanks for taking your time until here.
Load Game CTD Fix
Автор: Utopium
Версия: 1.0
Перевод: русский
Описание:
Если вы играете в Skyrim с большим количеством модов, многие как и я, вероятно испытывают регулярные сбои при загрузке сохраненной игры из главного меню. Изначально, единственным способом обойти это надежным способом, являлся трюк с консольной командой «сос qasmoke», когда вы перемещаетесь в qasmoke ячейку, а затем вручную загружали сохранение из меню. Некоторые игроки также полагались на загрузку сохранения игры находясь в безопасном районе и выполнения второй загрузки оттуда. Этот фикс вносит некоторые изменения в «Главное меню» игры, чтобы при нажатии на кнопку «Продолжить» или «Загрузить» сохраненную игру, предотвращался вылет при загрузке сохранения игры, без каких либо сложностей. Я автоматизировал этот процесс в предыдущем моде «Continue Game No Crash», который я опубликовал некоторое время назад, но он как оказалось был не идеальным, так как он использует .esp файл (и скрипты), который занимал бессмысленное место в порядке загрузки модов, начальная двойная загрузка занимала больше времени и многие люди воспринимали его как вредный мод, который «якобы» вшивал в сохранение неверные данные и что в итоге не могли даже играть. В итоге я принял решение изменить полностью мод, исправить различные проблемы. С учетом новых знаний о проблемах, я решил опубликовать этот фикс как новый мод, а не просто создать обновление для старой версии мода «Continue Game No Crash» по причинам, которые я объясню ниже.
Первое объяснение проблемы, которую вы можете пропустить, если Вы не имеете опыта программирования. Многие люди воспринимали крах игры при нагрузке как ошибку типа FootIK и как проблему с памятью, когда Скайрим пытался загрузить слишком много данных одновременно. Другие люди думали, что это было из-за плохих данных в сохранении, которые не давали игре загрузиться. Проблема связана с большим количеством данных для загрузки, но вылет игры вызван многопоточностью и не потому что не хватает памяти или из-за плохого сохранения данных. По сути, программисты в Bethesda забыли прописать «мьютекс» для защиты критически важных данных, которые позволяли одному ядру процессора получать доступ к данным, которые еще не закончили загрузку другим процессором. В итоге для сильно модифицированной игры уходит больше времени на загрузку данных. Методы двойной нагрузки люди использовали чтобы обойти вылет при загрузке вызванной тем фактом, что между шагами было меньше данных, что уменьшало шансы вылета и обработка данных происходила немного быстрее с базовыми активами, которые загружались первыми, а затем прогружалось все остальное, с базовых активов, которые уже кэшированы в памяти. Исправление, которое делает этот плагин заключается в том, чтобы предотвращать эти вылеты и ограничить использование игрой Skyrim только одного ядра процессора при загрузке. После того, как игра завершит загрузку сохранения, этот плагин позволит Skyrim использовать все ядра процессора в вашей системе. Вы можете испытывать более медленное время загрузки в результате ограничения на одно ядро ЦП во время загрузки сохранения игры, но оно обычно быстрее, чем двойная загрузка из предыдущей версии мода «Continue Game No Crash», и после завершения загрузки игры, все ядра процессора будут снова доступны для использования, чтобы не повлиять на производительность геймплея.
Причины по которым мне пришлось изменить мод на новый вариант:
* Мод «Continue Game No Crash» возможно не был лучшим, поскольку люди искали такие вещи, как «load ctd fix» и т.д. Я назвал его «Continue Game No Crash» изначально, потому что первая версия мода работала только с загрузкой самой последней игры, например, кнопка «Продолжить» в главном меню.
* Некоторые считают, что мой предыдущий мод «Continue Game No Crash» — это вредный мод, похожий на Stable uGridsToLoad и что он вводил другие проблемы в сохранения игры.
* В новом варианте мода нет скриптов, нет .esp файла, только один файл .dll
Примечание:
— Этот мод не гарантирует работу на 100% у всех игроков, в попытке обойти ошибки, которые существуют в Скайриме. Если этот мод и способ не сработает для вас, то возможно виноваты какие-то моды, и очень трудно сделать так, чтобы мод работал для каждого компьютера и игры, с любыми возможными комбинациями модов.
Совместимые моды:
— Совместим с любым модом.
— Совместим с Enderal.
Требования:
Skyrim 1.9.32.0.8
SKSE 1.07.03 и выше
При обновлении с варианта мода «Continue Game No Crash» на новый вариант «Load Game CTD Fix»:
1. Если у вас установлен предыдущий вариант мода с названием «Continue Game No Crash» и хотите перейти на новый вариант «Load Game CTD Fix», то обязательно удалите все файлы
— Удалите файл startmenu.swf по пути Data/Interface если таковой имеется и если у вас есть мод в котором есть файл startmenu.swf, то переустановите его.
— Удалите файл ContinueGameNoCrash.esp из папки Data в игре.
— Удалите скрипт ContinueGameNoCrash.pex по пути Data/scripts/
— Удалите файл ContinueGameNoCrash.dll по пути Data/SKSE/Plugins/
2. Установите новый вариант мода «Load Game CTD Fix».
Установка:(можно вручную или через NMM / MO менеджеры)
Поместить папку SKSE из архива в папку Data в игре.
Содержимое Ini-файла
; Информация: полностью отключите распределитель памяти Skyrim и используйте обычный C malloc. Это означает, что блоки памяти больше не будут существовать
; и игра не рухнет на каком-то произвольном пределе. Теоретически он также должен быть быстрее (особенно загрузочные экраны)
; и устраните большинство проблем ILS или замораживания.
— Очень важно!!: Вам нужен пользовательский загрузчик плагинов, чтобы запустить этот so CrashFixPlugin.dll загружается до того, как игра инициализируется!
; Вот ссылка на «SKSE Plugin Preloader»:
Скрытое содержимое
Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
; Когда это включено, то Safety Load и ssme / SKSE Memory patch не нужны, но они не вызывают никаких проблем, если они у вас есть.
UseOSAllocators=1
; Info: Когда игра неожиданно выходит из строя, то напишите соответствующую информацию из crash в Data / SKSE / Plugins/CrashLog/crash_time.txt
; Если игра выходит из строя при исчерпании памяти или имеет другие проблемы, то файл может не появиться или стать пустым!
; Если игра выходит из строя в dll SKSE или dll плагина SKSE, то информация о сбое может не появиться.
; Значение этого параметра обрабатывается как флаги, где:
; 1-enabled (TL; DR установите это для нормального включения)
; 2 — Не записывает метку времени в имя файла, а вместо этого всегда записывайте в crash_last.txt (перезаписывается по умолчанию)
; 4 — Не игнорирует уже известные сбои, обычно те, которые отображают окно сообщения, игнорируются
; 8-Добавить файл, если он уже существует, вместо замены
; 16-когда игра выходит из строя CTD без окна сообщения о том, что игра перестала отвечать на запросы
RecordCrashInfo=0
; Записывает сообщения, которые появляются в окне ошибки, также в файле » Data / SKSE/Plugins/CrashFixPluginLog.формат txt»
LogMessageToFile=1
; Info: предупреждает пользователя при запуске, если настройки ENB неверны.
WarnBadENB=1
; Info: происходит сбой неизвестного конструктора (объект TESObjectLAND::unk_24), используется инструкция movaps
; но heap allocate не выделил этот объект, чтобы иметь 16 выравниваний. Аварии случаются все чаще
; с высоким Greed, потому что больше ячеек загружено и больше шансов рассогласования.
; Решение: можно выровнять только этот объект или выровнять все объекты. Пытаясь вместе со всеми увидеть, что же происходит с тех пор
такая же ошибка может быть и в другом месте, и я думаю, что видел ее в другом месте.
; Результат: исправляет эти типы сбоев. Некоторые люди сообщают о более длительном времени загрузки и более высоком использовании памяти с включенной функцией!
; Update: отключен по умолчанию, так как он несовместим с некоторыми настройками ENB, более высоким использованием памяти и более длительным временем загрузки.
; Это безопасно и, вероятно, хорошо включить, если у вас этих недостатков. Лично я такого не испытывал
; любая несовместимость с ENB, некоторые люди говорят, что это портит их игру, вот почему я написал это здесь.
AlignHeapAllocate=1
; Info: игра выходит из строя, когда strcmp передается нулевой символ*
; Адрес: D573A8
; Причина: чаще всего происходит в TthkbClipGenerator:: activate (0xBF2FB3),
; отслеживаемая проблема в скелете была удалена в другом потоке в то время как
; эта функция пытается использовать его. Видели и в других местах
— тоже.
; Решение: Неизвестно. Это на самом деле не исправляет его для BF2FB3, потому что он просто появляется в foot IK.
; Если заплата в foot IK всплывает в hand IK, проблема больше, чем просто это.
; Все еще включен, потому что он может исправить сбои в других местах тоже это очень распространенная функция.
; На самом деле нет никаких причин не иметь его, так как игра наверняка рухнет с этим выключением.
; Включите один из них. NoTry может быть немного быстрее, но ловит меньше аварий.
StrCmp=1
;StrCmpNoTry=1
; Информация: игра выходит из строя, когда strlen используется на нулевом символе*
; Адрес: 46EDF0
; Причина: сравниваются имена NiNode, одно из имен NiNode равно NULL.
; Код:
Скрытое содержимое
Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
; Решение: неизвестно, временно обойти весь strcmp, так как он не используется.
; Результат: кажется, остановил крах для меня.
StrLen=1
; Информация: неизвестно, сообщается как загрузка сохраненной игры.
; Адрес: 8B437C-vtable кажется 0 или используется неправильный указатель.
; Решение: пропустить, так как это последняя часть функции и уже имеет проверку в любом случае
UnkUniqueId=1
; Информация: неизвестно, сообщается как загрузка сохраненной игры. Возможно, это связано с рендерингом. Первый
; аргумент — gNiDX9Renderer->unk_650, который является указателем.
; Address: CEC5EC-нулевой указатель передается в качестве второго аргумента функции, эта функция его не ожидает
; Решение: обойти с помощью аргумента, если он равен нулю. Может быть, и не исправит.
Render650=1
; Информация: неизвестно, никакой информации не было предоставлено. // char _ _ thiscall TESObjectREFR:: unk_4D4EB0(TESObjectREFR *this)
; Адрес: 4D4EB9-vtable базовой формы равен 0
; Решение: обойти и сделать вид, что базовая форма равна 0, так как функция уже выполняет эту проверку сама
UnkObjRef4D4EB0=1;
Информация: игра сохраняет данные о местоположении, чтобы сохранить игру. Эти данные являются нулевыми.
; Адрес: 4C6031
; Причина: игра не проверяет наличие нулевого указателя
; Код:
Скрытое содержимое
Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
v5 is IntSeenData, size is known.
; Solution: Only solution seems to be temporarily creating an empty IntSeenData and writing this to stream instead.
NullSeenData=1
; Info: BSFixedString:: Set вызывается с нулевым аргументом.
; Адрес: A51285
; Решение: игнорировать вызов при нулевом аргументе. Не совсем решение: P, вероятно, лучше, чем сбой, хотя.
StringRefSetNull=1
; Информация: этот сбой происходит потому, что функция strlen авария была предотвращена.
; Адрес: 46EE1D
; Решение: пропустите это.
; Результат: См. StrLen.
SkipStrLenCrash=1
; Info: этот сбой происходит по неизвестным причинам во время загрузки. Что-то связанное с графом поведения.
— Одна из самых распространенных аварий, которые я получаю.
; Адрес: C27A8F
; Решение: не знаю, пытаясь позволить игре думать, что значение равно 0, и посмотреть, что произойдет.
; Результат: с тех пор у меня не было этой аварии.
bhvGraphUpdateLoad=1
; Информация: авария происходит во время загрузки, без понятия. Возможно, это связано с рендерингом.
; Адрес: D822D8
; Решение: попробовал что-то исправить, но это, вероятно, не работает.
Unk11=1
; Информация: несовместимый скелет, но может быть и что-то еще.
; Адрес: 46ECF5 — доступ children NiNode
; Решение: нет решения отсюда, но так как он все равно разобьется, мы могли бы, по крайней мере,
; предупредите пользователя о возможном несовместимом скелете и позвольте ему исправить это. Показывает messagebox
MissingNode=1
; Info: сбой, это функциональный массив и индекс выходит за пределы границ, что приводит к вызову недопустимого адреса.
; Адрес: 6F3A31
; Решение: проверьте индекс перед вызовом.
; Результат: с тех пор у меня не было этой аварии.
IndexError1=1
; Info: сбой происходит в функции «MovementPlannerAgentWarp», неизвестно, что она делает. LookupFormById возвращается
; NULL и game не проверяет и не ожидает, что это произойдет.
; Адрес: 76E358
; Решение: игра имеет проверку на то, что если возвращаемый объект не является актером, он устанавливает 0 в качестве значения, мы сделаем то же самое, если будет возвращен NULL.
MovementPlannerAgentWarp=1
; Info: сбой происходит в DDB0A0, похоже, используется в некоторых vtables анимированного объекта havok.
; Обычно эти сбои исправляются путем выравнивания выделенной памяти с 16 байтами. Но
; это не так, потому что он может быть использован в статических местах памяти, которые не используются
; Распределитель Skyrim вообще, это означает, что память не гарантированно будет выровнена на 16 байт.
; Адрес: DDB0B2
; Решение: используйте инструкцию movups вместо movaps.
UnallocatedMovaps=1
; Info: Weird crash with NULL ptr in TESWorldSpace::GetCellByCoordMask_4375D0, don’t know why it happens.
; Address: 437604
; Solution: return 0 if this crash would happen.
; Result: Haven’t had this crash since, but it’s rare anyway so it could be coincidence.
CellNullCrash=1
; Info: Crash when trying to do: v14 = MagicItem::unk_406C70(a3)->properties.projectile;
; This 406C70 function is something like «GetMainMagicEffect». Sometimes though it may return
; NULL and in 90% of places the game expects this and checks for NULL result, this patch will
; fix the remaining locations.
; Address: 7E39EC, 657677, 6577D5, 65FEEC, 8127CF
; Solution: Check for NULL and skip (depends on location) if it is.
GetMainMagicEffect=1
; Info: Crash when game searches node «NPC COM [COM ]» on actor but the node was not found. This is unexpected
; for game because it uses the result without checking for NULL. This whole thing has something to do
; with mounting. The function that does this whole thing is present in «StopMountCameraHandler» and
; «MountInteraction» vtable. Also it seems that this has something to do with updating position.
; More info: Was reported that this could happen if non-humanoid tries to mount a horse. This is a rather specific
; error with a mod. Instead we will show error message to user when this happens so they can
; fix or uninstall that mod.
; Address: 6E7F85
; Solution: Check for NULL and if it is NULL then use base node of actor instead of this. It’s fine because
; we only take X and Y position from it.
; Solution2: Show error message and crash after.
MountNodeCrash=0
MountNodeWarn=1
; Info: Crash when game is trying to setup foot IK but there’s a problem. Real cause is unknown but for me.
; So we will display a message box when this crash happens. Seems related to the
; StrCmp crash in BF2FB3, maybe. Try reducing the amount of installed animations.
; Address: BFECC1
; Solution: No solution from here, display warning with helpful tips.
IKCrashWarn=1
; Информация: сбой происходит при рендеринге и сохранении. Я думаю, что это происходит, когда он рендерит изображение сохраненной игры.
; if ( v8 ) / / < — not null
Скрытое содержимое
Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
; Адрес: CB051A
; Решение: мы пропустим этот блок if, когда *(v8 + 8 ) равно null, как если бы v8 был null.
RenderSave=1
; Info: Crash was reported as casting spell. Only happens sometimes. Happens in movement controller.
; Seems like vtable is NULL.
; Address: 76636B
; Solution: This happens in a for loop and it happens in if clause. We can skip if this crash would happen.
MoveControllerCast=1
; Info: Crash when saving game and trying to render (possibly save game image again?). It’s trying to get
; vtable of NULL pointer which will crash.
; if ((*a2 + 76)(a2, a1)) // a2 is null
; {
; *(0x1BA9344) = a1;
; *(0x1BA9340) = a2;
; }
; else
; {
; *(0x1BA9340) = 0;
; *(0x1BA9344) = 0;
; }
; Address: CAF9F7
; Solution: Skip function call and set return value to false so we don’t have to use the NULL value.
SaveRenderCrash=1
; Info: Crash when game tries to get loaded node but it is set to NULL. Only ever seen this on two people.
; It is most likely actually related to corrupted mesh being unable to be loaded and game does not expect it.
; NiNode * node = a->GetLoadedStateNiNode();
; v2 = node->(*(vtable+0x14))(); // <- node is NULL
; if(v2) { *((int*)(v2 + 212)) = 0; } // <- we can skip this part since it has a check anyway
; Address: 4C119E
; Solution: Real solution would be to find the broken mesh and remove it. So lets notify user instead of ignoring this part.
; Enable one of the following, ignore problem and try to continue or show message box with object reference form ID and form Type.
NullLoadedNodeIgnore=0
NullLoadedNodeNotify=1
; Info: Crash in GarbageCollector::Add when actor argument’s base form is NULL. Game does not check this, when in
; some other places it does check for this possibility.
; Address: 690A69
NullActorBaseForm=1
; Info: Crash when modifying actor value but the pointer is bad, possibly due to actor being invalid. This happens often
; when script engine is lagged and spells want to modify actor values a lot.
; Address: 6E07C6
AVSetCrash=1
; Info: If your scripts use more than 65535 different strings then the save game will be corrupt and not possible to load.
; This fixes it by changing the save file format slightly if string count is higher than 65520. That means if you
; have this option enabled and your save game would have become corrupt it changes format instead and vanilla game
; or save game tools will not be able to open it! Opposite is true as well, if the count goes below 65520 after
; and you save again then the format reverts to vanilla.
; TLDR: Fix for
Скрытое содержимое
Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
; Address: Around 30 different parts of code had to be patched.
StringCount32=1
; Info: Warn if SKSE memory patch is not active. This checks if default heap size is 256 or less and warns if you try to
; click New, Continue or Load in main menu. Still lets you play the game, just shows a warning.
WarnSKSEMemoryPatch=1
; Info: If AlignHeapAllocate is disabled by user then fix that one movaps crash manually. There’s no downside to having this enabled.
; Address: 4BD832
FixMovApsManuallyIfAlignedAllocateIsDisabled=1
; Info: Overwrite array allocator directly when UseOSAllocators is set to 1. Don’t understand the code enough yet to
; say if it’s safe or not. At this point it’s just here for testing.
OverwriteArrayAllocator=0
; Info: Player’s NiNode (not necessarily same as loaded node) is NULL while drawing world.
; Address: 69B84B
NullPlayerNode=1
; Info: Function TESObjectREFR::CanBeMoved_4D9CF0 is called on an object reference that has NULL base form. This is not expected
; and will crash. We will instead return false from that function if that’s the case. The problem is most likely larger than
; just this, if you prefer to crash instead disable it.
; Address: 4D9D09
NullBaseFormMove=1
; Info: Game tries to iterate child nodes of a NiAVObject but it’s possible that the target is not a NiNode and can’t have child nodes.
; This ends up in a NULL pointer crash.
; v26 = v22->vtable->sub_5EADD0(v22); // Returns «this» if v22 is a NiNode and returns «NULL» if not.
; for ( i = 0; i < v26->children.emptyRunStart; ++i ) // crash because v26 is NULL.
; Address: 46CA06
NullRefNode=1
; Информация: что-то делается с экипировкой NPC, но одна или несколько записей являются нулевыми, и игра выходит из строя.
; Адрес: 561FF7
NullOutfitEntry=1
; Info: актер удаляется, а базовая форма имеет значение NULL.
; Адрес: 6BAC9A
ActorDeleteNullBase=1
; Информация: делает две вещи:
; 1. Отслеживает последние X-файлы, открытые игрой.
; 2. Если игра выходит из строя при чтении двоичного потока данных (например, файл NIF, но могут быть и другие), то покажите список окон сообщений
— эти файлы.
; Это может быть полезно для отслеживания поврежденного файла NIF.
DebugStream=1
; Информация: когда игра не может создать текстуру в памяти, должны ли мы отображать предупреждение и выходить из игры? Рекомендуется да потому что вы будете
; смотрите фиолетовые текстуры пару секунд, а затем игра все равно рухнет, так как не ожидается, что это будет нулевое значение.
WarnTextureFailure=1
; Info: что-то сделано с анимацией face gen на BSFaceGenNiNode, но родительский узел равен нулю, что является неожиданным.
; Адрес: 5A8808
NullParentNode=1
; Info: В целях отладки при запуске игры запустите allocator benchmark и запишите результаты в «AllocatorBenchmark.txt» в корне Скайрима
; справочник. Это можно сравнить ваниль, выровнены ванили, Танос, aligned_malloc и пользовательских блока памяти реализации. Когда вы достигнете
; главное меню игра начнет тест, дождитесь сообщения о завершении теста, затем закройте игру и отключите эту опцию.
RunAllocatorBenchmark=0
; Информация: сколько объектов нужно выделить и освободить для каждого размера (8, 12 и 16).
CountAllocatorBenchmark=1000000
; Информация: сколько раз нужно выполнить каждый тест.
TimesAllocatorBenchmark=2
; Информация: сколько потоков должно выполняться одновременно. Наиболее точным является запуск только одного потока, хотя вы также можете попробовать 2, чтобы увидеть производительность
; из потокобезопасного кода.
ThreadsAllocatorBenchmark=1
; Информация: включите пользовательский распределитель блоков для небольших размеров. Может помочь с проблемой фрагментации памяти. Этот параметр ничего не делает, если UseOSAllocators
; не включен.
CustomMemoryBlock=1
; Информация: количество мегабайт, выделяемых для пользовательского блока распределителей. Эта сумма разумно делится между каждым блоком.
; Не имеет никакого эффекта, если CustomMemoryBlock не включен. Чем больше вы выделяете здесь, тем меньше у вас памяти для других вещей!
CustomMemoryBlockTotalSizeMb=128
; Info: показать использование каждого блока памяти в процентах при открытии консоли. Не имеет никакого эффекта, если CustomMemoryBlock не включен.
; Это может помочь вам настроить значение CustomMemoryBlockTotalSizeMb.
MemoryInfoConsole=1
; Информация: исправлены два сбоя, характерных для Enderal mod. Похоже, это как-то связано с хавоком.
; Адрес: EBC0A6 и ECD92E
EnderalSpecific=1
; Info: активный список эффектов акторов не является потокобезопасным, но доступ к нему осуществляется и изменяется из нескольких потоков, это добавит мьютекс к каждому актору.
; список эффектов.
FixUnsafeEffectList=1
; Информация: игра выходит из строя, когда форма боевого стиля актера по какой-то причине равна нулю. Предупредите пользователя и попытайтесь отобразить ссылку актера и базовый идентификатор.
; Адрес: 8368B1
WarnNullCombatStyle=1
; Info: установите частоту обновления ОС на 1 миллисекунду (обычная-около 16) и замените GetTickCount на timeGetTime. Это только для отладки! Не используйте его.
; Может снизить производительность.
HighFrequencyOSTimer=0
; Информация: сделайте таймер обновления игры более точным. Это только для отладки! Не используйте его.
HighFrequencyGameTimer=0
Изменено 17 марта, 2020 пользователем stas2503
Игры Bethesda известны своими захватывающими мирами, с которыми мало какая игра может сравниться. К сожалению, они также известны своей нестабильностью. Ни одна игра от Bethesda в последнее время не обходится без багов, глюков и склонности к сбоям.
К счастью, The Elder Scrolls V: Skyrim вышла достаточно давно, чтобы большинство проблем можно было исправить. Неофициальные патчи исправляют большинство глюков и ошибок, а простое устранение неполадок позволяет устранить сбои. Будь то конфликты модов или сама игра, вот наиболее распространенные причины, по которым Skyrim внезапно завершает работу. Обратите внимание, что этот список предполагает, что у вас есть базовое понимание установки модов и навигации по файлам на ПК.
Самые частые причины крашей и вылетов Skyrim
В Anniversary Edition скрипты выполняются слишком быстро
В юбилейном издании Skyrim обновлен Papyrus Engine, скриптовый движок Skyrim. Если вы модифицировали Skyrim с помощью нескольких скриптовых модов, есть вероятность, что ваша игра может немедленно выйти из строя, поскольку скрипты Payprus теперь выполняются гораздо быстрее. Хотя это большой шаг вперед для сообщества моддеров в долгосрочной перспективе, это означает, что некоторые моды на данный момент работают нестабильно.
Решение
Пользователь SailingRebel на Reddit создал обновление для файла PapyrusUtil Skyrim, которое должно устранить большинство этих проблем. Скачайте файл и распакуйте его в каталог Skyrim. Скажите «да» всем переопределениям, которые необходимо сделать в файле. Кроме того, вы можете изменить версию Skyrim, которую используете, чтобы обойти изменения в Anniversary Edition. Это можно сделать с помощью мода Unofficial Skyrim Special Edition Downgrade Patcher, созданного halgari.
Примечание: решение Papyrus является временным. Авторам модов придется обновить свои моды для поддержки улучшенных сценариев AE, чтобы эта проблема действительно исчезла.
В Skyrim закончилась память
Примечание: Это относится только к пользователям Skyrim 2011 для ПК.
Оригинальная версия Skyrim для ПК не использует вашу память так же эффективно, как Специальное издание. Если вы все еще используете оригинальную версию Skyrim, игра может одновременно использовать не более 4 ГБ оперативной памяти. Превышение этого значения приведет к краху игры.
Решение
У вас есть три варианта:
- Играть в Специальное издание;
- Установить ENBoost;
- Активировать исправление памяти SKSE.
Skyrim: Special Edition имеет гораздо больший лимит памяти, который невозможно достичь на современном оборудовании. Если вы играете на Специальном издании, сбои, связанные с памятью, вас не беспокоят. Если вы все еще беспокоитесь о памяти, установите мод SSE Engine Fixes от авторов aers, Nukem и Ryan.
ENBoost — это внешнее программное обеспечение, предназначенное для использования вместе с ENB, хотя ENBoost можно использовать и без активного ENB. Это приложение позволяет Skyrim использовать VRAM видеокарты в качестве дополнительной оперативной памяти, чтобы обойти ограничение в 4 ГБ. Подробное руководство по установке и использованию ENBoost можно найти на S.T.E.P вики. Пользователи Специального издания не нуждаются в ENBoost и не получают от него никакой пользы.
SKSE’s Memory Fix — это строка, которую можно добавить в .ini файл Skyrim Script Extender, чтобы улучшить распределение памяти Skyrim для предотвращения определенных сбоев. Для этого вам понадобится Skyrim Script Extender, внешний исполняемый файл. Пользователям Special Edition не нужно включать исправление памяти. После установки перейдите к файлу «SKSE.ini» и замените его содержимое на следующее:
[Display]
iTintTextureResolution=2048
[General]
ClearInvalidRegistrations=1
[Memory]
DefaultHeapInitialAllocMB=768
ScrapHeapSizeMB=256
Конфликт модов
Поскольку Skyrim: Special Edition позволяет консольным игрокам модифицировать свою игру, совместимость модов теперь является более серьезной проблемой, чем когда-либо прежде. Некоторые моды изменяют одни и те же файлы или переделывают файлы, не используемые базовой игрой, что приводит к появлению в Skyrim странных ошибок или даже сбоев.
Устранение конфликтов между модами
Основной способ решить эту проблему — читать описания модов и убедиться, что автор не упоминает о несовместимости. Если несколько модов редактируют одни и те же списки уровней для распределения добычи или являются патчами, вы можете создать bashed-патч, чтобы объединить их в один мод и сэкономить место в плагине.
Чтобы определить, какой мод или моды вызывают эту проблему, воспользуйтесь следующей методикой:
- Откройте порядок загрузки;
- Отключите половину активных в данный момент модов, убедившись, что никакие зависимости при этом не нарушаются;
- Запустите Skyrim и посмотрите, сохраняется ли проблема;
- Если да, снова отключите половину активных модов и проверьте еще раз;
- Повторяйте до тех пор, пока проблема не исчезнет.
Когда проблема исчезнет, если размер выборки модов все еще слишком велик, вы можете отключить половину этих модов и запустить Skyrim, чтобы сузить круг поиска. Этот метод позволяет быстро определить, какой мод или моды вызывают проблемы.
Порядок загрузки
Хотя это в основном относится к модифицированным установкам, некоторые игроки страдают от сбоев из-за ошибок в порядке загрузки, несмотря на отсутствие модов в игре. Поскольку порядок загрузки напрямую связан с тем, как Skyrim считывает и загружает игровые данные, неправильный порядок загрузки может привести к постоянным сбоям и нестабильности.
Исправление порядка загрузки
Первым всегда должен идти файл «Skyrim.esm», затем «Update.esm», «Dawnguard.esm», «HearthFires.esm» и, наконец, «Dragonborn.esm». Если порядок загрузки не соответствует этой последовательности, игра может неправильно считать данные и, как следствие, выйти из строя. LOOT — это фантастический инструмент, который автоматически управляет порядком загрузки за вас и работает с модами.
Очистка грязных файлов
С этой проблемой столкнутся только игроки на ПК, но есть вероятность, что моды и даже файлы DLC от Bethesda вызывают сбои в вашей игре. По сути, файлы Bethesda содержат ссылки на объекты, которые больше не используются в Skyrim и могут приводить к сбоям. Такие файлы называются «грязными».
Очистка
К счастью, существуют инструменты, позволяющие решить эту проблему. xEdit для пользователей ванильного Skyrim и SSEEdit для пользователей Special Edition могут «почистить» эти файлы, удалив посторонние ссылки и сохранив стабильность игры. Рекомендуется очистить файл «Update.esm» и все .esms DLC.
Никогда не очищайте файл «Skyrim.esm», иначе вы рискуете вывести игру из строя. У некоторых модов тоже есть такая проблема, и их .esp-файлы нужно очищать тем же способом, но всегда читайте страницу мода, прежде чем решить очистить .esp-файл мода.
Засорение сохранений на PlayStation 3
Пользователи PlayStation 3 должны быть особенно внимательны к размеру файлов своих сохраненных игр, поскольку Bethesda полностью испортила PS3-порт Skyrim. После того как ваше сохранение достигнет размера около 6 мегабайт, Skyrim начнет тормозить примерно через час игры. PlayStation не очищает кэш памяти должным образом, в результате чего Skyrim отображает сотни неактуальных вещей. Это может привести к сбою, если вы продолжите играть.
Устранение проблем с сохранениями на PS3
К сожалению, существует не так много вещей, которые можно сделать для решения этой проблемы. Самое простое решение — загрузиться в предыдущее сохранение или начать новое прохождение игры.
Поврежденные игровые файлы
Иногда проблема может заключаться в самой игре. Будь то странный мод, который впоследствии был удален, или простая ошибка, файлы Skyrim могут быть повреждены.
Что делать, если ваши игровые файлы повреждены
Определить, как это произошло, обычно сложно, и каждый случай зависит от конкретной ситуации. Однако даже те, кто никогда не модифицировал свою игру, могут неожиданно пострадать от поврежденной версии Skyrim. К сожалению, для устранения этой ошибки лучше всего переустановить игру полностью или проверить целостность игровых файлов.
Skyrim использует неправильный GPU
Эта следующая запись относится только к игрокам на ПК. Игры от Bethesda иногда могут выбрать неправильный GPU при запуске игры, Skyrim не является исключением. Если на вашем компьютере несколько графических процессоров, велика вероятность того, что Skyrim выберет интегрированную графику или более слабый GPU.
Выбор правильного GPU
Чтобы решить эту проблему, зайдите в панель управления вашего GPU и измените исполняемый файл Skyrim. Заставьте его использовать ваш самый сильный GPU. Оттуда зайдите в файлы Skyrim.ini и SkyrimPrefs.ini и найдите свой GPU. Если он неправильный, введите новый GPU. Игра должна использовать ваши новые настройки и больше не испытывать нехватку памяти.
Обновление Skyrim
Если вы играете в специальное издание Skyrim, то наиболее частой причиной сбоев в игре является тот факт, что Bethesda недавно обновила ее.
Это правда. Когда Bethesda добавляет в игру контент Creation Club, Skyrim нуждается в обновлении. Моды, которые полагаются на эту версию игры, не работают, что приводит к краху игры из-за несовместимости версий. Обновление Anniversary Edition является отличным примером этого, ломая практически все моды, которые полагаются на Skyrim Script Extender (SKSE).
Решение
Лучшее, что вы можете сделать, — это отключить все моды при выходе новой версии или, если вы работаете на ПК, откатить версию игры до обновления модов. Уникальный мод SKSE способен автоматически создавать резервные копии файла Skyrim.exe на случай, если обновление приведет к сбоям в игре.
Загрузка автосохранений или быстрых сейвов
Автосохранения и квиксейвы в играх Bethesda печально известны своей нестабильностью. Эти сохранения хранят информацию менее стабильно, чем обычные сохранения, что приводит к сбоям, если размер квиксейва или автосохранения велик.
Устранение сбоев при сохранении
Чтобы исправить ситуацию, вы можете либо заставить автосохранения применяться реже, либо вообще отключить их. Если вы выбрали последнее, установите мод автосохранения, который будет делать сохранения за вас. Это кажется излишним, но системы автосохранения из модов почти всегда более стабильны, чем автосохранения Bethesda.
Сохранения повреждены
Ничто не может привести к краху Skyrim надежнее, чем поврежденный файл сохранения. Это может произойти по множеству причин, но знайте, что ни одна платформа не застрахована от этой проблемы. Удаление модов в середине игры и продолжение игры с тем же самым сохранением — самая распространенная причина, по которой это происходит. Это также может произойти, если ваше игровое сохранение имеет большой размер и содержит сотни часов игры.
Исправление поврежденных сохранений
Пользователи ПК могут исправить одну из наиболее распространенных причин повреждения сохранений, установив мод SSE Engine Fixes. После этого вы мало что можете сделать, кроме как использовать более старое сохранение, которое не использует контент, который был удален или поврежден. Лучшим решением будет начать прохождение Skyrim заново.