Почему вылетает xr 3da. Ошибки в лицензионной версии игры

Вы знаете, что при запуске игры на экране на несколько секунд появляется такой рисунок:

В этой статье я расскажу о том, как его можно изменить. Возможно, это пригодится кому-то при создании глобальных модов. Для начала скачайте программу. Она позволяет извлекать, заменять и просматривать ресурсы, заключённые в таких файлах, как EXE, DLL, OCX и других (что нам и нужно, ведь рисунок, который мы собираемся заменить, хранится в файле XR_3DA.exe) Итак, программа скачана, установлена и открыта. Перед нами вот такое окно:

Выбираем Файл -> Открыть -> Ваша папка с игрой\bin\XR_3DA.EXE Видим вот это:

Разворачиваем Bitmap -> 116 -> 1049 и видим наш искомый рисунок:

Теперь выбираем Действие -> Сохранить … и сохраняем под любым именем, например logo.bmp. Пока программу можно свернуть и временно забыть о ней. Открываем сохраненный рисунок любым графическим редактором и изменяем, как душе угодно (Внимание! Сохраняйте только в 24 бита, иначе игра при запуске выведет непонятную ошибку). У меня получилось вот так:

Также сохраняем его под произвольным именем, например logo1.bmp (Resource Hacker воспринимает только BMP-рисунки, так что всегда сохраняйте их с таким расширением). Разворачиваем программу и выбираем Действие -> Заменить рисунок . Видим вот такое окно:

Выбираем в этом окне Открыть файл с рисунком и находим свой изменённый рисунок. Выбираем его и видим, что он появился в нижнем левом углу окна программы:

Нам остается только нажать кнопку Заменить и наблюдать результат:

По поводу бэкапа можно не беспокоится - программа сохранит исходный файл как XR_3DA_original.exe

В 2007 году вышла культовая игра «S.T.A.L.K.E.R.: Тень Чернобыля», запомнившаяся своей неповторимой атмосферой, красивой графикой, а также многочисленными вылетами в связи с нестабильной работой движка X-RAY. Ошибку «XR_ 3DA.exe не работает» пришлось видеть хоть раз в жизни тем, кто запускал одну из игр «S.T.A.L.K.E.R». Для полного понимания ситуации и дальнейшего ее предотвращения требуется тщательно вникнуть в тему.

Первоначальные понятия

Причиной сбоя может послужить множество факторов, ведь еще при анонсе игры в 2004 году разработчики заявили, что игровой движок очень нестабилен и уязвим к ошибкам кода, а также инородному вмешательству (модам, сторонним патчам, взлому). Многие из модмейкеров подтверждают данное суждение, потому что каждый мод на "Сталкер" или другое вмешательство во внутреннею среду игры приводят к вылету программы XR_ 3DA.exe и последующим проблемам с игрой.

На рисунке изображено то, как игра реагирует на внутриигровые ошибки, вследствие чего вылетает.

Чаще всего после появления сообщения, что XR_ 3DA.exe не работает, человек начинает думать, что это какой-нибудь вирус в компьютере, и его надо перезагрузить. Нет, это вовсе не так. Абсолютно все игры линейки «S.T.A.L.K.E.R.» работают на игровом движке, который крайне требователен к окружающей среде, а именно корневой папке. Любое нарушение ее целостности в 95% случаях приводит к сбою в "Сталкере" XR_ 3DA.exe. Также причиной сбоя может считаться некачественный антивирусный софт, установленный на компьютере.

Переустановка как вариант исправления ошибки

Как правило, большинство игроков в "Сталкер" пользуются сборками, где игра уже пропатчена до последней версии, а также не требует загрузочного диска для авторизации или специального ключа, подтверждающего то, что игра куплена, а не взломана. Издатели таких сборок по своей неопытности могут выполнять свою работу некачественно, а иногда это делается специально, поэтому, если пиратская версия не работает на вашем компьютере, то необходимо сделать следующие действия:

  • Попробуйте переустановить драйвера для вашей видеокарты. Поиск драйверов не составляет труда, ведь есть только 2 вида поставщика графических процессоров: NVIDIA и RADEON. Стоит лишь вбить название вашей видеокарты в поисковик, как тут же на первой ссылке будет сайт одного из производителей, где можно скачать последние драйвера вместе с DirectX.
  • Если же вам нет разницы, в какую именно часть или мод "Сталкера" поиграть, то необходимо найти другую сборку игры, но перед этим обязательно удалить предыдущую версию игры, дабы предотвратить возможные вылеты в будущем.
  • Если все варианты не подходят, то приобретение лицензии сможет решить все проблемы. Купить игру можно на специальном сайте Steam, где вы скачиваете последнюю версию игры.

Влияние модификаций на внутриигровой процесс

В 90% случаях XR_ 3DA.exe не работает по той причине, что в корневой папке "Сталкера" находятся различные модификации, которые написаны программистами плохо. Они могут просто конфликтуоватьт между собой. Отчего и получается ошибка XR_ 3DA.exe. Для выхода из данной ситуации необходимо зайти в папку, где установлен "Сталкер", и удалить папку «gamedata», после чего начать новую игру. Данный способ очень эффективен при ошибках с модификациями, но при этом игра становится оригинальной и теряет все новшества модификации. Если же вы сами создаете моды, то стоит посмотреть файлы на совместимость или удалить файлы мода, который установлен позже всех.

Влияние антивируса на игру

Программа XR_ 3DA может не работать из-за того, что на вашем компьютере активирован антивирус. Это объясняется тем, что при взломе нарушается целостность файла лицензии, и все сертификаты безопасности обнуляются, ввиду чего антивирус может распознать игру как вредоносное программное обеспечение. Для предотвращения подобных инцидентов требуется сделать следующие действия:

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

Ошибки в лицензионной версии игры

Также, появление ошибки «XR_ 3DA.exe не работает» может встречаться и в лицензионной версии игры, ввиду вышеупомянутого движка, способного дать сбой в любой момент. При возникновении проблем с лицензионной версией игры требуется выполнить следующие действия:

  • Обновить игру с официального источника до последней версии.
  • Зайдите в директорию C:\Users\Public\Documents\STALKER-SHOC\logs и удалите файлы, находящиеся в папке.
  • Если же это не помогло, то необходимо начать игру заново, если она вылетает при загрузке локации.
  • В случае, когда все методы не помогают, необходимо полное удаление игры и установка ее заново.

Игра "S.T.A.L.K.E.R" забилась в сердца многих геймеров по всему СНГ, а также за ее пределами, но помимо них запомнились еще и непредсказуемые вылеты, подстерегающие неопытных игроков. При соблюдении всех правил, указанных выше, вы можете играть спокойно и без опаски, зная, что ошибки "XR_ 3DA.exe не работает" не будет.

Буквально на днях получаю сообщение от своего знакомого, который просит позвонить, как только освобожусь. Перезваниваю. Оказывается, у него возникла проблема с игрой Stalker: после установки она стала выдавать ошибку xr_3da, а именно «Программа XR_3DA.exe не работает». Разумеется, мне было предложено решить эту проблему. И вот что из этого вышло…

Пришлось достаточно долго исследовать просторы рунета, но тщетно — исправить ошибку на 100%, судя по всему, невозможно. Я выяснил, что такая ошибка чаще всего возникает при установке дополнительных модов для игры Stalker.

  • Основная причина появления, на мой взгляд, это пиратская версия игры, которая «не дружит» с дополнительными модами. Иными словами, нормальная установка мода происходит только на лицензионную игру. Это, кстати, отчасти подтверждают и отзывы на форумах.
  • Другой вариант — это переустановка игры с нуля, сейвы при этом можно сохранить. При переустановке важно отключить антивирус, который, возможно, «съедает» часть файлов, без которых запуск невозможен, в результате чего и возникает ошибка.
  • Возможно, что дело в самом моде. Попробуйте установить другой мод, предварительно переустановив игру. Если игра при этом запустится, скорее всего дело в несовместимости игры и мода.
  • Был найден такой совет: автор рекомендует понизить мощность графики, например, поставить не высшее качество, а хотя бы среднее или ниже среднего. Можно и вовсе выставить минимальные настройки, что бы проверить, запускается ли Stalker. Даже в том случае, если у вас мощный игровой компьютер, это может помочь, поскольку проблема связана с оптимизацией игры.

  • Как вариант, можно попробовать скачать XR_3DA.exe в сети и заменить им оригинальный файл, который находится в папке с самой игрой. Но здесь есть проблема — где можно скачать этот самый файл, да еще без вирусов и троянов внутри? Даже в тех местах, которым, казалось бы, можно доверять, было написано, что установка файла взамен оригинального не дает гарантии запуска игры. Этот же файл можно попросить у кого-нибудь из людей, которые уже успешно запустили игру с модом. Но, судя по отзывам, даже в этом случае игра на другом компьютере вряд ли запустится.
  • Также было найдено еще несколько возможных, но при этом сомнительных решений. Во-первых, это переустановка Windows, что, впрочем, даже если и помогает, то в исключительных случаях. Во-вторых, удаление игры с полной чисткой реестра, что, опять же, работает далеко не всегда, но попробовать стоит. Для этого используйте специальные программы для удаления типа Revo Uninstaller.

А что помогло в моем случае? Простая переустановка игры Stalker. Она, кстати, лицензионная, и после переустановки проблем с запуском не наблюдается.

Хм, наткнулся на такое (если внимательно прочитать несколько раз, даже далеким от понимания работы компьютера должно стать понятно). Возможно это не решение конкретно обсуждаемой проблемы, но информация стоит внимания

Умница Megamozg пишет на форуме:

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

В Висте/Семерке к этому списку добавился еще и список legacy игр. Проверка для них осуществляется только по имени исполняемого файла. Если имя исполняемого файла игры совпало с одним из этого списка, то _ПЕРЕД_ запуском этого исполняемого файла ОС запускает этот самый rundll32, чтобы он добавил игру в гейм эксплорер. Пока он не отработает - запуска этого исполняемого файла не произойдет. Данные для добавления берутся из файла GameUXLegacyGDFs.dll.

Далее, в какой-то момент портится база данных ГеймЭксплорера. Портится она самопроизвольно в результате работы самого ГеймЭксплорера (точнее того кода, который был в него добавлен в семерке). Не у всех и достаточно редко. Виноват, конечно, сам пользователь - выключил компьютер когда Геймэксплорер на фоне занимался очень важной оптимизацией для быстродействия своих данных или рано закрыл окно ГейЭсплорера после запуска игры, не промедитировав положенные 10 минут. Под БД я понимаю здесь совокупность информации из GameUXLegacyGDFs.dll, реестра и файловой структуры(которая разбросана по куче папок). После этого код GameUx.dll не может правильно проитерировать все записи из GameUXLegacyGDFs.dll (и не может обнаружить порчу метаданных) в результате чего зацикливается.

Зациклившись, он начинает съедать ресурс процессора. Т.к. по счастью, он не многопоточный, то он займет не весь процессор, а только одно ядро. Для одноядерных это может быть процентов 70 (остальное съедят другие задачи), для двухядерных - 50%, для моего 3х-ядерного - 33% и т.д.

Диагностика:

1. Игра может запускаться и работать, но при этом тормозить, не выдавать ожидаемого фпс. Самое явное проявление - дергающийся звук. Даже если вам кажется, что все хорошо - нажмите три кнопки и посмотрите, не висит ли у вас rundll32 в процессах. Владельцы многоядерных могут вообще не замечать проблемы, а таких процессоров сейчас большинство.

2. Игра запускается со второй попытки. Это, кстати, по совместительству, одно из решения проблемы. Просто запустить еще раз и забить на фоновый процесс.

3. Подобная ситуация может возникать не со всеми играми, а только с теми, которые ОС распознает как игры (наличие данных для ГеймЭксплорера) или имя исполняемого файла находится в списке Legacy игр. Или вообще с одной отдельно взятой игрой.

Варианты решения:

1. Способ от саппорта! В геймэксплорере отключить сбор информации об игре. Способ, естественно, не работает, но упоминаю потому, что всех, кто столкнулся с проблемой будут сначала проверять на вирусы, потом отправлять на базу знаний Майрософта, где написана эта рекомендация.

2. Отключить все остальное в геймэксплорере и почистить собранную информацию. Тоже мало кому-помогает.

3. Переименовать исполняемый файл игры. Недостатки: каждую игру нужно переименовывать отдельно, некоторые онлайн-игры скачивают заново исполняемый файл или он создается во время запуска и др.

4. Отключить геймэксплорер путем удаления файлов gameux.dll либо записей в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX. Тоже не всегда является выходом, т.к. многим удобно использовать ГеймЭксплорер, в конце-концов не зря же его делали.

5. Удалить базу старых игр GameUXLegacyGDFs.dll. В отличие от предыдущего, записи о новых играх будут работать. Но отключатся старые.

6. Дождаться, пока кто-то из разработчиков не сделает дифф на старые версии gameux.dll и не удалит ошибочный код. Это будет тяжело и очень долго, т.к. саппорт, который должен осуществлять взаимодействие между пользователем и разработчиком, в Майкрософте страдает херней, рассказывает, что все так и должно быть как оно есть или придумывает свои способы "решения" проблемы.

Вопросы совместимости приложения и операционной системы:

Как в данной ситуации этими может заниматься разработчик приложения, когда до выполнения его кода дело даже и не доходит? Ему надо писать драйвер, который будет обходить механизмы ОС и патчить ошибки Майкрософта? Если этого не происходит в определенных играх, то это просто означает, что имя исполняемого файла еще не попало в список Legacy или на машине еще не повреждена БД ГеймЭксплорера.