Вылеты Morrowind | Elder Scrolls 3: Morrowind

Вылеты Morrowind

Вылеты Morrowind

Морровинд — старый. Он любит вылетать. Вылетает по разным поводам и без видимых поводов вообще. Может вылетать регулярно, а может и не делать этого.


Объясняется это дурно оптимизированным движком, который натужно скрипит под тяжестью плагинов, хромая на костылях расширителей. Обычно происходит под видом ошибки памяти — «Функция обратилась…» в сложных локациях или на выходе. Единичные обострения лечатся перезапуском игры, полностью болезнь не лечится никак. Хотя установка более мощного железа уменьшает число вылетов. Игра также вылетает на перегруженных скриптами моментах (плагины с большим кол-вом скриптов). Изредка падает в произвольном месте." - Марк К. Марцелл

Но помимо банальной старости и неоптимизированности движка игры, не умеющего работать с большим объёмом (больше 2Гб) памяти, не следящим за её утечкой, и накрывающим всё медным тазом при удобном для этого случае, есть и другие причины вылетов.

1. Вылеты при входе в игру:

Оставив проблемы невозможности запуска игры из-за:

1.1 Неустановленных драйверов для видеокарты и неинсталлированного DirectX, без которых игра тупо не запустится;[/li]

отсутствия некоторого программного обеспечения (.NET Framework 2.0 и Microsoft Visual C++ 2008 Redistributable Package (x86)), если игра запускается с графическим расширителем — MGE (ЧАВО по MGE — тут);

1.2 Несоответствия аппаратной части компьютера игровым требованиям (либо требованиям MGE);

1.3 Проблем совместимости игры и операционной системы (решаемы выставлением уровня прав администратора и\или выставления режима совместимости в меню «Свойства" — «Совместимость» для каждого exe-файла игры);

Следует сказать о проблемах набора плагинов и расширений для игры:

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

Решение: выложить warnings.txt и текст\скриншот ошибки (как и всё прочее, описанное выше в 7ми пунктах); отключать плагины, которые могут конфликтовать друг с другом; внимательно читать прилагающуюся к плагинам документацию (Read-me) — зачастую там описываются возможные конфликты с другими плагинами; читать инструкцию по установке плагинов и инструкцию по устранению проблем с плагинами; проверить запускается ли игра вообще без плагинов — если нет, то быть может проблема в другом.

2. Вылеты при выходе из игры:

Пожалуй самый распространённый вариант проблемы с вылетами. Проявляется в большинстве случаев при игре с MGE. Как ни странно проблемой как таковой не является.

Краш на выходе из игры — следствие того, что «MGE работает как расширение к .ехе-файлу Моррки, он (MGE) обращается к ее памяти. По завершению процесса (= нажатию на кнопку „Выход“), память освобождается, но т.к. MGE написан на .NET платформе, то сборщик мусора часто не успевает почистить все что нужно, и остаются связи с недоступными участками памяти, от чего и краши». — OzaS

Иными словами проблема ни на что не влияет, кроме как на ваше самочувствие, не решается на данный момент никаким образом (только отключением MGE), и не способна повредить ваши сохранения, саму игру и прочее.

3. Вылеты в определённых локациях или в определённое время:

Одна из причин — баг движка в виде отсроченного заклинания. Процитируем Moorindal с дружеского форума по Сердцу Хаоса

«Нам удалось выяснить, что вылеты, о которых так много сообщали, вызваны багом игрового движка. Если покинуть ячейку, в которой кто-то сотворяет заклинание, то через 72 часа игра упадет (из-за некорректной работы с памятью). Этот баг стал широко распространен в СХ из-за большей распространённости магических классов. Лечится это программой Morrowind Code Patch — в ней нужно подключить фикс Delayed spell crash fix (прим. Фикс отсроченного заклинания). Вылеты прекратятся, и сохранения — казалось бы, испорченные — будут без проблем работать и впредь».
Решение: Этот баг, особенно заметный в Сердце Хаоса, справедлив и для обычной игры. Поэтому ставим MCP и отмечаем галочкой фикс. К слову в Код Патче полно различных интересных исправлений, которые никаким другим образом не реализованы (фикс порчи сохранений, фикс зависания при загрузке игры, например). Но есть и те, которые ставить нужно осторожно, либо не нужно ставить с некоторыми плагинами (с тем же Сердцем Хаоса нельзя ставить фиксы на зачарование, к примеру) — но это тема для отдельного FAQ.

4. Вылеты при открытии меню торговли, контейнеров:

Довольно неочевидная проблема с вылетами при установке Анимированных Контейнеров (разные версии). Процитируем Iris:

«Игра вылетает при попытках торговли с некоторыми (далеко не со всеми) торговцами после закрытия диалогового окна и при закрывании опять же некоторых контейнеров (всегда одних и тех же), причем от последней проблемы избавляет выход из локации с последующим возвратом. При попытках разговора с глючными торговцами и прощании без торговли игра не вылетает».

Проблема решается всё тем же Код Патчем.

Цитата:
«Исправление вылетов при использовании анимированных контейнеров. Ранее при разговоре с торговцем в одной комнате с анимированным контейнером мог случиться вылет, когда торговец проверял контейнер на наличие продаваемых предметов. Также мог случиться вылет, если игрок пользовался анимированным контейнером и тот был единственным объектом своего типа в локации. Это было вызвано некорректной обработкой референсов (ID), которая приводила к удалению анимации с контейнера при попытке доступа к нему, если анимация не использовалась другими объектами».

Решение: отметить в Код патче фикс исправления анимированных контейнеров и Mod removal fix

5. Вылеты при использовании сохранений от игры с другим набором плагинов или другой версии игры вообще:

Классическая ситуация — вы поставили себе какой-нибудь грандиозный мод с кучей квестов, скриптов, персонажей и предметов, потом он вам надоел и вы решили продолжить игру без него. Готовьтесь к тому, что при загрузке старого сейва вы получите море ошибок или вылеты. Ну ещё бы: в сохранении плагин и добавленная им информация есть, а на деле плагин уже удалён\отключен. Игра обращается к уже не существующим в ней объектам, а не найдя их громко удивляется и просится на выход. Может и обойтись. Например при отключении плагина с оружием\доспехами, которые находятся в вашем инвентаре или вообще надеты, загрузившись вы обнаружите себя полуголым и с экипированной «в ножны» вилкой. Ну или клинический случай с сохранением в интерьере, добавленном плагином, последующее отключение\удаление плагина и попытка загрузиться, не приводящая ни к чему хорошему. Естественно вы не можете загрузиться в месте, которого уже нет в игре.

Решение:
5.1 Перед установкой больших дополнений лучше сделать сейв и не перезаписывать его. Тогда в случае отключения этих дополнений вы сможете просто загрузить этот сейв. Если вы отключаете какое-то большое дополнение (официальные (не стоит этого делать вообще), Сердце Хаоса и т. д.) то забудьте про игру с сейвами, которые вы сделали при игре с уже удалённым ныне дополнением. Слишком большое кол-во несоответствий, слишком много изменений уже было внесено в сейв дополнением. Проще начать новую игру.

5.2 Если сейва нет, либо нет желания откатываться так далеко, то стоит выкинуть из инвентаря в чисто поле (или лучше в плагиновский же сундук) добавленные ненужным вам плагином вещи (оружие, доспехи и т. д.), забраться в интерьер, точно не затронутый плагинами, которые вы собираетесь отключить (трюм корабля, хижина и т. д.), сохраниться там, выйти из игры, отключить ненужные вам больше плагины и загрузить сделанный сейв. Проблемы будут минимизированы.

Вы — модный, не терпящий установки игр с дисков, жаждущий показать миру ваши достижения в играх человек, и купили себе Морровинд в Steam®, или установили себе английскую версию, или извращенец и играете на пиратской версии игры, или играете на кривой сборке и хотите перенести ваши сейвы с лицензионной версии от 1С на новую игру (или наоборот, возможны любые варианты): забудьте об этом. Версии игры слишком различаются друг от друга, чтобы так просто копировать сейвы и играть с ними. Может пропасть весь дневник, могут пропасть диалоги, может вообще не запуститься, может вылетать в разные время и в разных местах (причём не всегда сразу после переноса). Какая-то вероятность запустить сейв на другой версии игры и нормально поиграть есть только в случае схожести версий и установленных плагинов (в случае с лицензией от 1С и основанными на ней сборками или в случае с английской версией и Стим-версией игры).

Решение: начните новую игру.

6. Вылеты при использовании сторонних программ для игры:

Для игры создано множество интереснейших программ: помимо уже упомянутого MGE XE, есть такие вещи, как FPS Optimizer и Talky Morrowind, Morrowind Enhanced и связанные с ним моды, скриптовый расширитель MWSE и плагины под него и т. д.
Эти «костыли» для игры заметно оживляют её, добавляя новые возможности. Как обычно без здоровенного черпака дёгтя в бочке мёда не обошлось: эти надстройки создают дополнительную нагрузку, зачастую ещё (или уже, в случае с заброшенными авторами программами) неоптимизированы до блеска, а иногда и конфликтуют друг с другом. Результат: увеличившееся число вылетов в самые непредсказуемые моменты игры.

Решение: тут ничего не поделать. Либо устранять причины вылетов, удаляя конфликтующую надстройку, либо смириться с возможностью частых вылетов. Как вариант: проблема может заключаться в неправильной настройке программы. Внимательно читайте инструкции к программам. Не включайте опции, о которых вы не знаете, и которые в инструкции к программе значатся как конфликтоопасные, требующие больших ресурсов компьютера.

Неочевидный хинт: у некоторых установка и правильная настройка ФПС Оптимайзера устраняла вылеты (связанные с железом компьютера или с работой игры с оперативной памятью).

7. Другие причины и следствия вылетов, методы борьбы с вылетами:

7.1 Иногда можно столкнуться с ситуацией:

«когда игра глюкнула, в колонках прозвучал колокольчик системной ошибки — и всё намертво зависло. На Alt+Tab, клавишу Windows и Ctrl+Alt+Del (Ctrl+Shift+Esc) не реагирует — остаётся только Reset (что плохо сказывается на здоровье системы). Часто это происходит из-за того, что повисший Морроувинд закрывает собой окно ошибки (той самой, с памятью) и не даёт завершить процесс. Методом тыка получено решение проблемы: после звукового сигнала об ошибке и зависания нажать на клавиатуре „Вправо“, „Влево“ (на курсоре), „Энтер“ (когда игра вылетает, активным оказывается окно ошибки (хоть его и не видно). Нехитрые манипуляции курсором „в слепую“ позволяют нажать ОК и завершить глюкнувший Morrowind.exe). Игру выбросит на рабочий стол». — Марк К. Марцелл

Между сигналом об ошибке и манипуляциями с курсором воздержитесь от нажатия на другие клавиши, иначе метод может не сработать

7.2 Можно значительно убавить частоту вылетов выставив в .exe файле игры совместимость с Win2000 (СвойстваСовместимостьЗапустить в режиме совместимости с…)

7.3 Также может помочь с вылетами установка GFM (5.4.0 или 6.2.4) и его же .ini файла после установки игры и накатыванием всех прочих плагинов и программ поверх такой сборки.


P. S. Можете оставлять свои комментарии и дополнения.
Автор не претендует на истину в последней инстанции. Критикуйте и говорите об ошибках: как фактических, так и грамматических\лексических и об очепятках.

Обсуждение на форуме: Вылеты Morrowind FAQ
  • Комментариев:
  • Участников:
  • Статистика

Обсуждение в комментариях