Update path validation error 4game

Невозможно скачать игру. Чудо интернет позволил мне только на 2 день докачать игру. И вот, после долгожданных увиденных на пару минут 100 процентов...

Войти или зарегистрироваться

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Скрыть объявление

В момент загрузки/запуска игры может возникнуть ряд проблем в том числе и появление ошибок.

По ССЫЛКЕ мы опишем самые распространённые из них.

Скрыть объявление

У игроков из Европы и стран СНГ, играющих на российских серверах, бывают трудности с оплатой.
Выход из этой ситуации найден!

Подробная информация по ССЫЛКЕ.

Невозможно скачать игру

Тема в разделе «Архив», создана пользователем Jukain, 18 фев 2021.

Метки:

  • лаунчер
  • ошибка
Статус темы:

Закрыта.

  1. Jukain

    Jukain
    User

    Регистрация:
    18.02.21
    Сообщения:
    2
    Симпатии:
    1

    Невозможно скачать игру. Чудо интернет позволил мне только на 2 день докачать игру. И вот, после долгожданных увиденных на пару минут 100 процентов лаунчер мне выдает ошибку рядом с кнопкой «установить». Текст ошибки: gameerrors.gameregistrationerror. Поискал на форумах, казалось бы единственным решением было еще раз указать путь к установленной игре и нажать «установить», однако после этих махинаций показалась другая ошибка: «Произошла ошибка. попробуйте перезапустить установку. installtation path validation error». Данной ошибки на просторах интернета даже найти не смог. + кнопка «поддержка» в лаунчере работать тоже отказывается. Надеюсь хоть тут кто-то поможет.


    Jukain,
    18 фев 2021

    #1


  2. wellzar

    wellzar

    Moderator

    Регистрация:
    10.12.13
    Сообщения:
    3.057
    Симпатии:
    413

    1. Деинсталлируйте приложение Фогейм Центр через Панель Управления ==> Программы и Компоненты
    2. Нажмите Win+R — Введите %temp% и удалите все что там удаляется
    3. Проверьте что ничего нет в папке С:Program Files (x86)Innova если что-то есть — удаляйте
    4. Проверьте правильность даты, часового пояса и времени с точностью до секунд.
    5. Перезагрузите ПК.
    6. Установите приложение Фогейм Центр скачав последнюю версию отсюда https://ru.4game.com/

    после этого найдите уже счаканную игру в лаунчере через пункт «указать путь к файлам игры»


    wellzar,
    18 фев 2021

    #2


  3. Jukain

    Jukain
    User

    Регистрация:
    18.02.21
    Сообщения:
    2
    Симпатии:
    1

    Вообщем я просто скачал новый установщик и переустановил лаунчер. Сразу нашел игру, правда за ней вылезла ошибка 1073, которая быстро решилась. Но все равно спасибо, можете закрывать тему.


    Jukain,
    19 фев 2021

    #3


    wellzar нравится это.

Показать игнорируемое содержимое
Статус темы:

Закрыта.
  • Войти через Facebook
  • Войти через Google
Ваше имя или e-mail:
У Вас уже есть учётная запись?
  • Нет, зарегистрироваться сейчас.
  • Да, мой пароль:
  • Забыли пароль?

Запомнить меня

Содержание

  1. Dadaviz
  2. Ошибка Статус 1073 в 4Game — как исправить?
  3. Что приводит к ошибке 1073 в 4game
  4. Что делать с этой проблемой
  5. Первый способ
  6. Второй способ
  7. Ошибки «Path not found» и «Path does not exist»: как исправить
  8. Что означают ошибки «Path not found» и «Path does not exist»
  9. «Path not found» и «Path does not exist» — что делать, если возникли ошибки
  10. Ошибки при установке программ из пакета Windows Installer «.msi»
  11. Ошибки msi файлов
  12. Ещё способы решить проблему
  13. Ошибка установщика Windows
  14. Параметры реестра и службы
  15. Подведение итогов

Dadaviz

Ваш IT помощник

Ошибка Статус 1073 в 4Game — как исправить?

Современные компании, занимающиеся распространением лицензионных игр, изо всех сил пытаются заблокировать возможность пиратского взлома, даже в ущерб игрокам. Такой официальной площадкой является и 4game. Все скачанные с нее игры будут защищаться универсальной антихакерской программой Frost Security — античит-система, которая устанавливается по умолчанию вместе с игрой. Именно такое решение компании и приводит к появлению уведомления «Ошибка во время загрузки компонентов. Статус 1073.».

Ошибка «Статус 1073» возникает при загрузке или запуске многих онлайн игр от компании 4game. Многие жалуются, что не получается запускать Lineage 2, Blade and Soul, Point Blank, APB Reloaded и подобные онлайн игры. Ниже мы покажем что делать и как исправить данный статус

Что приводит к ошибке 1073 в 4game

Площадка 4game создает собственную защиту, невзирая на остальные системы безопасности, возможно установленные на компьютере пользователя. Вот тут как раз и возникают конфликтные ситуации, основной преградой часто становится программное обеспечение самого компьютера, не способного работать с античит-система Frost. Операционная система у многих установленная не из официальных источников, так называемые lite-версии пиратской сборки. Возникающий конфликт между ними создает проблему «Ошибка во время загрузки компонентов. Статус 1073.»

Что делать с этой проблемой

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

Первый способ

  1. Первоочередным действием пользователя должно стать пакетное обновление KB3033929 для антихакерской программы от 4game. Загрузите обновление из официального ресурсаМайкрософт и устанавливаете его как обычный утилит на свой ПК, проверить программу можно будет в меню: Все программы. После необходимо будет лицензировать свою операционную систему, этот шаг, к сожалению, обойти не удастся. Как правило, эти действия уже должны убрать ошибку.
  2. Сама установка KB3033929 иногда вызывает некоторые трудности, хотя такие случаи редкость. Например, при установке обновлений может возникнуть ошибка 0xc8000247, для исправления которой нужно в Службах найти «Центра обновления» и выставить статус — «Запущен».
  3. Если возникают другие проблемы, тогда проверьте наличие последних обновлений для SP1. Их можно всегда скачать на официальном сайте разработчика – Microsoft. Выполнив это действие, перезагрузите систему.
  4. Если что-то пошло не так, тогда проведите серию поочередных действий. Выполните отключение брандмауэр. Найдите и деактивируйте любые защитные программы на компьютере, включая основной антивирус. Проведите еще раз загрузку обновлений для операционной системы через «Центр обновлений».

Выше перечисленные пункты помогут лишь в том случаи, если ОС активируется. Чисто пиратская Windows (7/8/10) в таком варианте не поможет исправить ситуацию. Крайним решением будет покупка лицензии или поиск подходящей системы Windows, но потребуется провести бесчисленные поиски ее в интернете. Сервисные центры по замене операционной системе могут помочь.

Второй способ

  1. Скачанная игра должна в себе хранить папку Frost, ее нам как раз надо будет удалить. Дальше, тут же ищем скрытый файл updater.cache.data, с ним поступаем также.
  2. Переходи на сайт, откуда брали игру, в верхней панели ищем пункт «Починить игру».
  3. Строка команд Виндоуз в меню Пуск, должна быть заполнена следующими скриптами:
    • bcdedit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS
    • bcdedit.exe -set TESTSIGNING OFF
    • Жмем enter и выходим из системы, после запускаем ПК в обычном режиме.
  4. Некоторые программы лучше удалить с компьютера, речь идет о RamDisk 11, Sansboxie, ReadyDriver Plus и АСТЕР.

Очевидным остается факт, что проблема создается из-за некачественных сборок пиратских ОС, а также хорошей программе по их распознаванию — античит-системе Frost, без которой невозможно скачивать игры из 4game.

Надеюсь наши советы помогут избавиться от уведомления «Ошибка во время загрузки компонентов. Статус 1073.» и исправит данную проблему.

Источник

Ошибки «Path not found» и «Path does not exist»: как исправить

Автор: Юрий Белоусов · 24.09.2020

При работе с программами, утилитами и запуске игр пользователи могут столкнуться с появлением ошибок: «Path not found» и «Path does not exist». В этой статье рассмотрим, что это за ошибки и что делать, чтобы их исправить.

Что означают ошибки «Path not found» и «Path does not exist»

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

  • Path not found – с английского переводится как: «Путь не найден»;
  • Path does not exist – с английского переводится как: «Путь не существует».

Обе эти ошибки оповещают об одной и той же проблеме, а именно — о невозможности построить путь к указанному файлу. Это может быть, как исполняемый exe файл, так и вспомогательные файлы, требуемые для работы программы или игры.

«Path not found» и «Path does not exist» — что делать, если возникли ошибки

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

Целостность пути может быть нарушена в результате:

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

Если исключить последний пункт, то решений у данной проблемы 2:

  1. Зайти в свойства ярлыка и изменить путь к исполняемому файлу;
  2. Дать корректное соответствующее пути, указанному в свойствах ярлыка, название папок.

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

Если ошибки «Path not found» и «Path does not exist» возникают не во время запуска, а непосредственно во время работы программы, то диагностировать проблемный файл становится на порядок сложнее. Если в тексте ошибки указан путь, то нужно опять-таки по нему проследовать. Если из подсказок есть только конечный файл, к которому происходит обращение, то можно воспользоваться встроенным поиском Windows, чтобы его найти. Но это может стать весьма проблематичным, если файл был удален или переименован.

Ошибки «Path not found» и «Path does not exist» могут возникать и в программировании: при компиляции программ или их запуске. Причина аналогичная – не верное указан путь / url. И решение стандартное – сопоставить указанный путь с иерархией каталогов и сверить соответствие имен папок.

С абсолютным путем (вида: https://www.urfix.ru/content/images/index.php ) проблемы возникают редко, так как ссылка будет работать корректно при указании на нее из любого файла и из любой директории.

А вот с относительными путями все сложнее (вида: /content/images/index.php ), в которых не указаны корневые директории. Каждый начинающий вебмастер и программист сталкивался с подобной ошибкой. Решается элементарно: либо указывается абсолютный путь, либо – относительный, согласно иерархии каталогов.

Не нашли ответ? Тогда воспользуйтесь формой поиска:

Источник

Ошибки при установке программ из пакета Windows Installer «.msi»

Довольно распространённая проблема среди пользователей операционной системы Windows любых версий – ошибка msi при установке программ из файла с расширением .msi. В этой статье я опишу часто встречаемые проблемы с установщиком Windows 7/10/XP и варианты их решения, а также сделаю видео по текущему вопросу.

Файлы с расширением .msi это обычные пакеты установки (дистрибутивы) из которых ставится программа. В отличии от обычных «setup.exe», для запуска файла msi система использует службу Windows Installer (процесс msiexec.exe). Говоря простыми словами, установщик Windows разархивирует и запускает файлы из дистрибутива. Когда Windows Installer не работает, то появляются различные ошибки.

Вообще, меня это жутко бесит, т.к. после глупого сообщения об ошибке совсем непонятно что делать дальше. Microsoft специально разработали установщик Windows Installer для расширения возможностей установки программ (в основном это касается системных администраторов), но не позаботились должным образом о безглючной работе этой службы или хотя бы об адекватных сообщениях о проблемах. А нам теперь это разгребать 🙂

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

Ошибки msi файлов

Очень часто ошибки появляются из-за недостаточных прав системы на файлы или папки. Нельзя сказать, что Windows Installer не работает, в этом случае достаточно просто добавить нужные права и всё заработает. Буквально вчера я столкнулся с тем, что скаченный дистрибутив .msi не захотел устанавливаться, при этом успешно запускается мастер установки, выбираются параметры, но затем система думает несколько секунд и выдаёт ошибку:

«Error reading from file «имя файла» verify that the file exists and that you can access it» (Error 1305). Переводится «Ошибка чтения из файла … проверьте существует ли файл и имеете ли вы к нему доступ». Ну не тупняк ли? Естественно, что кнопка «Повторить» не помогает, а отмена прекращает всю установку. Сообщение особой смысловой нагрузки также не несёт, т.к. файл точно существует и я имею к нему доступ, иначе бы просто не смог его запустить и получить это сообщение, к тому же почему-то на английском языке 🙂

А ошибка в том, что не Я должен иметь доступ к файлу, а установщик Windows, точнее сама Система. Решается очень просто:

  1. Кликаем правой кнопкой по файлу с расширением .msi, выбираем «Свойства»
  2. На вкладке «Безопасность» смотрим, есть ли в списке пользователь с именем «система» или «System»
  3. Скорее всего вы такого не увидите. Поэтому будем добавлять вручную. Нажимаем кнопку «Изменить…», затем «Добавить…»
  4. В поле пишем «система» или «System» (если у вас английская Windows) и нажимаем «Проверить имена». При этом слово должно стать подчёркнутым как на картинке.
  5. Нажимаем «ОК», ставим галочку «Полный доступ», «ОК»
  6. Кнопка «Дополнительно» -> «Изменить разрешения…» ставим «Добавить разрешения, наследуемые от родительских объектов», «ОК» три раза.

Теперь ошибка установщика не появится! Можно добавить доступ на всю папку, из которой вы обычно инсталлируете программы, например на папку «Downloads», как у меня. Смотрим видео по решению проблем с правами доступа:

В Windows XP вкладки «Безопасность» не будет, если включён простой общий доступ к файлам. Чтобы его выключить, нужно зайти в «Пуск -> Панель управления -> Свойства папки -> Вид» и выключить опцию «Использовать простой общий доступ к файлам». В урезанных версиях Windows 7/10 и XP вкладки «Безопасность» нет в принципе. Чтобы её увидеть, нужно загрузить Windows в безопасном режиме и зайти в неё под администратором.

Ещё способы решить проблему

  • Запускайте установку, войдя в систему под администраторским аккаунтом
  • Правой кнопкой по пакету «.msi» и выбираем «Запуск от имени Администратора»
  • Выключите антивирус на время
  • Включить режим совместимости с предыдущими операционными системами. Для этого зайдите в свойства файла msi и на вкладке «Совместимость» поставьте галочку «Запустить программу в режиме совместимости»
  • Если файл на флешке, то попробуйте скопировать его куда-нибудь на жёсткий диск и запустить оттуда (бывает, что запрещена установка программ со съёмных накопителей)
  • Попробуйте просто создать новую папку с любым именем в корне диска, перекинуть туда дистрибутив и запустить его оттуда

Описанный метод поможет при разных сообщениях, с разными номерами. Например, вы можете видеть такие ошибки файлов msi:

  • Error 1723
  • Internal Error 2203
  • Системная ошибка 2147287035
  • Ошибка «Невозможно открыть этот установочный пакет»
  • Ошибка 1603: Во время установки произошла неустранимая ошибка

Во всех этих случаях должна помочь установка прав на файл и/или на некоторые системные папки. Проверьте, имеет ли доступ «система» к папке временных файлов (вы можете получать ошибку «Системе не удается открыть указанное устройство или файл»). Для этого:

  1. Сначала узнаем нужные пути. Нажмите «Win + Pause» и зайдите в «Дополнительные параметры системы -> Вкладка «Дополнительно» -> кнопка «Переменные среды»»
  2. В списках ищем переменные с названиями «TEMP» и «TMP» (значения обычно совпадают), в них записаны пути к временным папкам, которые использует установщик Windows
  3. Теперь идём к этим папкам и смотрим в их свойствах, имеет ли к ним доступ «система». Чтобы быстро получить путь к временной папке пользователя, кликните два раза по переменной, скопируйте путь и вставьте его в адресной строке «Проводника» Windows

После нажатия «Enter» путь преобразится на «нормальный» и вы переместитесь в реальную временную папку. Права на неё и надо проверять. Также рекомендую очистить временные папки от всего что там скопилось или даже лучше удалить их и создать новые с такими же названиями. Если не получается удалить папку, почитайте как удалить неудаляемое, но это не обязательно.

Если служба Windows Installer всё равно не хочет работать, то проверьте права на папку «C:Config.Msi», сюда «система» также должна иметь полный доступ. В этом случае вы могли наблюдать ошибку «Error 1310». На всякий случай убедитесь, что к папке КУДА вы инсталлируете софт также есть все права.

Если вы используете шифрование папок, то отключите его для указанных мной папок. Дело в том, что хотя мы сами имеем к ним доступ, служба Microsoft Installer не может до них достучаться пока они зашифрованы.

Ещё ошибка может быть связана с битым файлом. Может быть он не полностью скачался или оказался битым уже на сервере. Попробуйте скачать его ещё раз оттуда же или лучше с другого места.

Ошибка установщика Windows

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

  • Нет доступа к службе установщика Windows
  • Не удалось получить доступ к службе установщика Windows
  • Ошибка пакета установщика Windows (1719)

или ещё нечто подобное со словами «ошибка msi», «Windows Installer Error». Всё это означает, что система дала сбой и теперь её надо лечить. Может вы ставили какой-то софт, который испортил системные файлы и реестр, или подхватили вирус. Конечно, никогда не будет лишним удалить вирусы, или убедиться что их нет. Но оставьте этот вариант на потом, т.к. обычно проблема кроется в другом.

Сначала давайте проверим работает ли служба Windows Installer:

  1. Нажмите «Win + R» и введите services.msc
  2. Найдите в конце списка службу «Установщик Windows» или «Windows Installer»
  3. Тип запуска должен быть «Вручную». Если она «Отключена», то зайдите в «Свойства» и выберите «Вручную»
  4. Затем кликните по ней правой кнопкой и выберите «Запустить» или «Перезапустить». Если ошибок нет и состояние переходит в режим «Работает», то здесь всё нормально.
  5. Нажмите «Win + R» и введите msiexec. Если модуль MSI работает нормально, то должно появиться окно с версией установщика и параметрами запуска, а не ошибка.

Следующее что я посоветую сделать – это выполнить команду сканирования системы на повреждённые и изменённые системные файлы. Нажмите «Win + R» и введите

Sfc /scannow

Произойдёт поиск и замена испорченных файлов на оригинальные, при этом может потребоваться вставить установочный диск с Windows XP-7-10. После окончания процесса перегрузитесь и посмотрите, решена ли проблема.

Microsoft сам предлагает утилиту, призванную решить нашу проблему. Запустите программу Easy Fix и следуйте мастеру.

Параметры реестра и службы

Следующий способ устранения ошибки – восстановление рабочих параметров в реестре установщика Windows Installer.

Для этого скачайте архив и запустите оттуда два reg-файла, соответственно своей версии Windows. Согласитесь с импортом настроек.

В Windows XP или Windows Server 2000 установите последнюю версию установщика 4.5.

Если не помогло, то проделайте ещё перерегистрацию компонентов:

  1. Нажмите «Win + R» и введите «cmd». Затем в чёрном окне введите последовательно команды:
    MSIExec /unregister
    MSIExec /regserver
  2. В ответ должна быть пустота, никаких ошибок. Если проблема не решена, введите ещё команду
    regsvr32 msi.dll
  3. Закройте чёрное окно

Если пишет, что не хватает прав, то нужно запускать командную строку от имени Администратора.

Если команды выполнились, но не помогло, то скачайте файл и запустите msi_error.bat из архива, проверьте результат.

Последний вариант — скачайте программу Kerish Doctor, почитайте мою статью, там есть функция исправления работы службы установщика и многих других частых проблем Windows.

Также, многие программы используют .NET Framework, поэтому не будет лишним установить последнюю версию этого пакета. И, напоследок, ещё один совет: если в пути к файлу-дистрибутиву есть хоть одна папка с пробелом в начале названия, то удалите пробел. Такой простой приём решит вашу проблему 🙂

Подведение итогов

Ошибки с установщиком Windows очень неприятные, их много и сразу непонятно куда копать. Одно ясно – система дала сбой и нужно восстанавливать её до рабочего состояния. Иногда ничего не помогает и приходится переустанавливать Windows. Однако не торопитесь это делать, попробуйте попросить помощи на этом форуме. В точности опишите вашу проблему, расскажите что вы уже делали, какие сообщения получили, и, возможно, вам помогут! Ведь мир не без добрых людей 🙂

Источник

На чтение 4 мин Обновлено 17.01.2023

Dadaviz

Ваш IT помощник

Ошибка Статус 1073 в 4Game — как исправить?

Современные компании, занимающиеся распространением лицензионных игр, изо всех сил пытаются заблокировать возможность пиратского взлома, даже в ущерб игрокам. Такой официальной площадкой является и 4game. Все скачанные с нее игры будут защищаться универсальной антихакерской программой Frost Security — античит-система, которая устанавливается по умолчанию вместе с игрой. Именно такое решение компании и приводит к появлению уведомления «Ошибка во время загрузки компонентов. Статус 1073.».

Ошибка «Статус 1073» возникает при загрузке или запуске многих онлайн игр от компании 4game. Многие жалуются, что не получается запускать Lineage 2, Blade and Soul, Point Blank, APB Reloaded и подобные онлайн игры. Ниже мы покажем что делать и как исправить данный статус

Что приводит к ошибке 1073 в 4game

Площадка 4game создает собственную защиту, невзирая на остальные системы безопасности, возможно установленные на компьютере пользователя. Вот тут как раз и возникают конфликтные ситуации, основной преградой часто становится программное обеспечение самого компьютера, не способного работать с античит-система Frost. Операционная система у многих установленная не из официальных источников, так называемые lite-версии пиратской сборки. Возникающий конфликт между ними создает проблему «Ошибка во время загрузки компонентов. Статус 1073.»

Что делать с этой проблемой

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

Первый способ

  1. Первоочередным действием пользователя должно стать пакетное обновление KB3033929 для антихакерской программы от 4game. Загрузите обновление из официального ресурсаМайкрософт и устанавливаете его как обычный утилит на свой ПК, проверить программу можно будет в меню: Все программы. После необходимо будет лицензировать свою операционную систему, этот шаг, к сожалению, обойти не удастся. Как правило, эти действия уже должны убрать ошибку.
  2. Сама установка KB3033929 иногда вызывает некоторые трудности, хотя такие случаи редкость. Например, при установке обновлений может возникнуть ошибка 0xc8000247, для исправления которой нужно в Службах найти «Центра обновления» и выставить статус — «Запущен».
  3. Если возникают другие проблемы, тогда проверьте наличие последних обновлений для SP1. Их можно всегда скачать на официальном сайте разработчика – Microsoft. Выполнив это действие, перезагрузите систему.
  4. Если что-то пошло не так, тогда проведите серию поочередных действий. Выполните отключение брандмауэр. Найдите и деактивируйте любые защитные программы на компьютере, включая основной антивирус. Проведите еще раз загрузку обновлений для операционной системы через «Центр обновлений».

Выше перечисленные пункты помогут лишь в том случаи, если ОС активируется. Чисто пиратская Windows (7/8/10) в таком варианте не поможет исправить ситуацию. Крайним решением будет покупка лицензии или поиск подходящей системы Windows, но потребуется провести бесчисленные поиски ее в интернете. Сервисные центры по замене операционной системе могут помочь.

Второй способ

  1. Скачанная игра должна в себе хранить папку Frost, ее нам как раз надо будет удалить. Дальше, тут же ищем скрытый файл updater.cache.data, с ним поступаем также.
  2. Переходи на сайт, откуда брали игру, в верхней панели ищем пункт «Починить игру».
  3. Строка команд Виндоуз в меню Пуск, должна быть заполнена следующими скриптами:
    • bcdedit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS
    • bcdedit.exe -set TESTSIGNING OFF
    • Жмем enter и выходим из системы, после запускаем ПК в обычном режиме.
  4. Некоторые программы лучше удалить с компьютера, речь идет о RamDisk 11, Sansboxie, ReadyDriver Plus и АСТЕР.

Очевидным остается факт, что проблема создается из-за некачественных сборок пиратских ОС, а также хорошей программе по их распознаванию — античит-системе Frost, без которой невозможно скачивать игры из 4game.

Надеюсь наши советы помогут избавиться от уведомления «Ошибка во время загрузки компонентов. Статус 1073.» и исправит данную проблему.

Источник

На чтение 11 мин Просмотров 1.3к.

Содержание

  1. Почему GeForce Experience не находит игры в Windows?
  2. Запуск от имени администратора
  3. Добавление папок в игровые локации
  4. Изменение владельца и предоставление полного доступа
  5. Разрешение доступа в Брандмауэре
  6. Включение экспериментальных функций
  7. Удаление кэша
  8. Обновление драйверов NVIDIA
  9. Переустановка приложения
  10. Ошибка “Не найден исполняемый файл”
  11. Проблема совместимости с операционной системой
  12. Приложение зависает или вылетает
  13. Очистка кэша
  14. Установка библиотеки
  15. «Обновление» игры
  16. Переустановка операционной системы

Если Game Center не запускается, хотя сообщения об ошибке нет, сделайте следующее:

  1. Проверьте, есть ли у вас доступ и права для папки, в которую установлен Game Center.
  2. Перезагрузите компьютер, чтобы удалить временные файлы и остановить активные процессы.
  3. Проверьте, есть ли ограничения в используемом антивирусном программном обеспечении и брандмауэре (файерволе). Чтобы исключить возможные проблемы с антивирусом и брандмауэром, можно временно отключить их и повторить проблемную операцию. Также отключите их на маршрутизаторе или другом используемом сетевом оборудовании.
  4. Запустите Game Center от имени администратора, предварительно полностью закрыв его.
  5. Полностью удалите Game Center. Попробуйте установить его на другой локальный диск или в папку, имя которой содержит только латинские символы и цифры и не использует кириллицу.

Если проблема сохранится, создайте заявку в Центр поддержки пользователей. Чтобы мы быстрее решили вашу проблему, в заявке:

  • Детально опишите проблему.
  • Укажите ошибку. По возможности прикрепите скриншот, на котором она видна.
  • Прикрепите к заявке отчёт DxDiag и архив папки logs, которая находится по пути установки Game Center.
  • Уточните, какое используется антивирусное программное обеспечение.

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

Почему GeForce Experience не находит игры в Windows?

Прежде чем приступить к устранению проблемы нужно убедиться, поддерживаются ли проблемные игры, которые не видит GeForce Experience. Если они поддерживаются, то приложение не находит их по следующим причинам:

Отсутствие администраторских прав . Если игры расположены в папках, которые недоступны, кроме администратора, то лучше предоставьте эти разрешения исполняемому файлу GeForce Experience.

Не указана игровая локация . Программа будет искать игры только в папках, которые указаны в параметрах. Если какие-то установлены за пределами указанных папок, то нужно их добавить для решения проблемы.

Нет разрешений на папки . Если папка ограничена в доступе, то предоставьте на нее полные разрешения для учетной записи «Все».

Блокировка брандмауэром . Приложению нужно правильно подключиться к интернету, чтобы проверить информацию об игре. Брандмауэр Защитника Windows может заблокировать ему доступ, поэтому убедитесь, что он разрешен.

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

Обновление драйверов . GeForce Experience также не видит игры, если клиент обновлен, а драйвера видеокарты устарели. Установите последние версии драйверов с помощью этого приложения.

Запуск от имени администратора

Это самый простой способ решения проблемы. Объясняется это тем, что игры, скорее всего, установлены в папке, которая не может быть полностью доступна без прав администратора. Предоставление этого доступа может способствовать GeForce Experience найти игры и включить их в список.

Если ярлык отсутствует на рабочем столе, наберите имя программы в строке системного поиска и под найденным результатом кликните «Свойства». Также можно перейти по следующему пути и найти исполняемый файл:

Кликните правой кнопкой мыши на файл и выберите Свойства. Перейдите на вкладку «Совместимость».

Установите флажок на опцию «Выполнять эту программу от имени администратора» и кликните на «ОК», чтобы применить внесенные изменения. Снова загрузите программу и посмотрите, видит ли она игры.

Добавление папок в игровые локации

Вполне возможно, что установили игру в другом месте, где приложение ее просто не видит. Нужно указать ее расположение в параметрах.

Откройте программу и перейдите в «Параметры». Затем разверните вкладку «Игры» и в поле «Расположение» посмотрите, есть ли там папка с проблемной игрой. Если отсутствует, щелкните «плюс» и укажите ее расположение.

После автоматического поиска проверьте, видит ли программа игру.

Изменение владельца и предоставление полного доступа

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

Найдите папку, содержащую подкаталоги с играми, которые не видит клиент. Если они расположены в разных папках, повторите эту процедуру для каждой из них.

В первую очередь проверьте папку установки по умолчанию всех программ C:Program Files.

Кликните на нее правой кнопкой мыши и выберите Свойства. Перейдите на вкладку «Безопасность» и щелкните на «Дополнительно». Нажмите на ссылку «Изменить» в позиции владельца.

В поле «Введите имена выбираемых объектов» наберите «Все» и кликните на «Проверить имена». После обнаружения этой учетной записи текст станет подчеркнутым. Нажмите на «ОК», чтобы добавить эту запись в качестве владельца папки.

В окне «Дополнительные параметры безопасности» щелкните на кнопку «Добавить», чтобы предоставить новые разрешения. Затем кликните на «Выбрать субъекта», снова введите «Все» и проверьте имена.

В поле Общие разрешения установите флажок на полном доступе и нажмите на «ОК». Закройте все окна нажатием на «ОК».

Откройте клиента и проверьте, видит ли он установленные игры.

Разрешение доступа в Брандмауэре

Другая сторона проблемы заключается в том, что GeForce Experience нужно подключиться к интернету, чтобы узнать сведения об игре. Посмотрите, что приложению разрешен доступ в Брандмауэре Защитника Windows.

Откройте Панель управления командой control из окна «Выполнить» (Win + R). В правой верхнем углу переключите просмотр на крупные значки и щелкните на значок брандмауэра.

На левой панели откройте вкладку «Разрешение взаимодействия с приложением или компонентом». Щелкните на кнопку изменить настройки для предоставления доступа администратора.

Проверьте список разрешенных приложений и компонентов для GeForce Experience. Если не можете их найти, щелкните «Разрешить другое приложение».

Нажмите «Обзор» и перейдите в каталог установки по пути:

Добавьте исполняемый файл клиента. Нажмите на кнопку типа сети и установите флажки на параметры «Частная» и «Публичная». Затем кликните на «Добавить».

Запустите приложение и проверьте, видит ли теперь проблемную игру.

Включение экспериментальных функций

Это не полностью протестированные функции, которые NVIDIA, скорее всего» выпустит в последующих версиях. Попробуйте их включить для решения проблемы.

Откройте клиента и перейдите в раздел «Параметры». Затем разверните вкладку «Общие» и установите флажок на позиции «Включить экспериментальные функции».

Перезапустите программу и посмотрите, высвечиваются ли игры.

Удаление кэша

GeForce Experience сохраняет файлы кэша в каталоге AppData. Удаление каталога приведет к сбросу кэша и обновлению клиента без потери каких-либо данных.

Сначала нужно закрыть все работающие экземпляры GeForce Experience. Также нужно закрыть некоторые процессы, связанные с NVIDIA. Разверните Диспетчер задач комбинацией клавиш Ctrl + Shift + Esc.

Нажмите Подробнее, чтобы развернуть все и найдите процессы:

Щелкните левой кнопкой мыши на каждом и нажмите завершить задачу в правом нижнем углу.

Затем перейдите в Проводник и кликните на Локальный диск С. Откройте «Пользователи» и дважды щелкните на папку с именем текущей учетной записи. Откройте каталог AppData, если его не видите, кликните на «Вид» в верхнем меню и установите флажок рядом со скрытыми элементами.

Затем перейдите по пути: Local — NVIDIA Corporation — Nvidia GeForce Experience. Щелкните правой кнопкой мыши на CefCache и выберите пункт «Удалить». Запустите приложение и проверьте, видит ли теперь установленные игры.

Обновление драйверов NVIDIA

Проблему можно решить путем обновления драйверов NVIDIA. Если используете последнюю версию клиента и устаревшие драйвера, то из-за этого она просто их не видит.

Запустите программу и перейдите на вкладку Драйверы. Нажмите «Проверить наличие обновлений» и подождите, пока клиент не увидит, есть ли новые драйверы.

Если новый драйвер будет найден, он появится в разделе доступно. Загрузите его на компьютер и кликните Установить. После установки перезагрузите компьютер и проверьте, решена ли проблема.

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

Попробуйте переустановить и обновить клиента до последней версии.

В Windows 10 нажмите комбинацию клавиш Win + I, чтобы открыть системные параметры и перейдите в раздел Приложения.

Прокрутите список вниз, и найдите запись GeForce Experience. Кликните на ней и нажмите «Удалить». Следуйте инструкциям на экране до завершения удаления.

В других версиях Windows откройте Панель управления командой control, запущенной из окна «Выполнить» (Win + R).

Переключите просмотр в правом верхнем углу на крупные значки и выберите «Программы и компоненты».

Найдите в списке GeForce Experience и удалите ее.

После загрузите последнюю версию клиента из официального сайта, запустите установку и следуйте запросам на экране.

В статье мы разберем самые «популярные» причины возникновения ошибок, при которых Стим не видит уста.

В статье мы разберем самые «популярные» причины возникновения ошибок, при которых Стим не видит установленную игру. Решение наиболее частых проблем.

Ошибка “Не найден исполняемый файл”

Итак, игра отображается в библиотеке, присутствует кнопка «Запустить», но при нажатии появляется ошибка «Не удалось запустить игру (не найден исполняемый файл)».

В этом случае попробуйте следующие шаги (по мере сложности):

  • проверить совместимость игры с операционной системой (подробно это описано в следующем пункте);
  • проверить целостность кэша игры – в свойствах игры выбрать пункт «Проверить целостность кэша»;
  • открыть антивирус и проверить находящиеся в карантине файлы. Если находите исполняемый файл игры, то пометьте его как заслуживающий доверия, если файла в карантине нет, то откройте настройки антивируса и внесите папки игр и сам клиент Steam в список исключений;
  • если прошлое действие не помогло, то удалите антивирус совсем;
  • если все еще Steam не видит установленную игру, то попробуйте закрыть программу и запустить ее с правами администратора (жмем правой кнопкой мыши на ярлык Стим и выбираем пункт «Запуск от имени администратора»).

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

Проблема совместимости с операционной системой

На запуск игры может повлиять разрядность операционной системы. Большинство новых игр выходят для 64-битных Windows, поэтому первым делом посмотрите свойства операционной системы – в «Панели управления» найдите свойства системы и посмотрите, что указано в строке «Тип системы» («System Type»). Там должно стоять значение «64-bit».

К сожалению, даже если указано именно это, гарантий совместимости еще нет. Внимательно посмотрите список поддерживаемых ОС в свойствах самой игры. Например, еще используются 64-разрядные Windows XP или Windows 7, но часть современных игр их уже не поддерживает. Так что, если в требованиях жестко указаны ОС Windows 8 и выше, поиграть в такие игры на старых операционных системах не получится. Обновляйтесь.

Приложение зависает или вылетает

Для начала разберитесь с антивирусом – это описано в первом пункте инструкции. Далее убедитесь в том, что на Стим не влияют брандмауэры. Попробуйте их отключить или внесите Steam в список исключений. Так же на стабильность работы могут влиять антишпионские программы, FTP и веб-серверы, программы для фильтрации IP. Если они запущены на компьютере, то попробуйте их временно отключить и проверьте запуск клиента без них.

Очистка кэша

Если Стим показывает, что игра не установлена, а она установлена, может помочь очистка кэша. Для этого перейдите на вкладку «Настройки», нажмите «Очистить кэш загрузки» и подтвердите действие. После перезагрузки Steam авторизуйтесь повторно.

Установка библиотеки

Иногда помогает полная очистка настроек Стима и повторное прописывание игр в библиотеке: в окне «Выполнить» (Win +R) в Windows запустите команду «steam://flushconfig». Запустите Стим и вновь добавьте папки с играми в библиотеку (меню Steam -> Настройки -> Загрузка -> Папки библиотеки).

«Обновление» игры

Если игра точно установлена, а Стим пишет, что она не установлена, попробуйте повторно нажать на загрузку. Steam просканирует каталог установленной игры и просто обновит некоторые файлы. Игру заново он закачивать не будет.

Переустановка операционной системы

После переустановки ОС добавьте старую папку с играми в библиотеку Стим (меню Steam -> Настройки -> Загрузка -> Папки библиотеки). Если клиент все еще не видит игру, попробуйте переустановить Steam с чисткой реестра. Сделайте uninstall, запустите regedit, поиском найдите вхождения Steam и удалите эти ветки реестра. Если ничего не помогает, обращайтесь в техподдержку Steam.

Современные компании, занимающиеся распространением лицензионных игр, изо всех сил пытаются заблокировать возможность пиратского взлома, даже в ущерб игрокам. Такой официальной площадкой является и 4game. Все скачанные с нее игры будут защищаться универсальной антихакерской программой Frost Security — античит-система, которая устанавливается по умолчанию вместе с игрой. Именно такое решение компании и приводит к появлению уведомления «Ошибка во время загрузки компонентов. Статус 1073.».

Ошибка «Статус 1073» возникает при загрузке или запуске многих онлайн игр от компании 4game. Многие жалуются, что не получается запускать Lineage 2, Blade and Soul, Point Blank, APB Reloaded и подобные онлайн игры. Ниже мы покажем что делать и как исправить данный статус

Ошибка-Статус-1073-в-4Game

Площадка 4game создает собственную защиту, невзирая на остальные системы безопасности, возможно установленные на компьютере пользователя. Вот тут как раз и возникают конфликтные ситуации, основной преградой часто становится программное обеспечение самого компьютера, не способного работать с античит-система Frost. Операционная система у многих установленная не из официальных источников, так называемые lite-версии пиратской сборки. Возникающий конфликт между ними создает проблему «Ошибка во время загрузки компонентов. Статус 1073.»

Что делать с этой проблемой

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

Первый способ

  1. Первоочередным действием пользователя должно стать пакетное обновление KB3033929 для антихакерской программы от 4game. Загрузите обновление из официального ресурса Майкрософт и устанавливаете его как обычный утилит на свой ПК, проверить программу можно будет в меню: Все программы. После необходимо будет лицензировать свою операционную систему, этот шаг, к сожалению, обойти не удастся. Как правило, эти действия уже должны убрать ошибку.
  2. Сама установка KB3033929 иногда вызывает некоторые трудности, хотя такие случаи редкость. Например, при установке обновлений может возникнуть ошибка 0xc8000247, для исправления которой нужно в Службах найти «Центра обновления» и выставить статус — «Запущен».
  3. Если возникают другие проблемы, тогда проверьте наличие последних обновлений для SP1. Их можно всегда скачать на официальном сайте разработчика – Microsoft. Выполнив это действие, перезагрузите систему.
  4. Если что-то пошло не так, тогда проведите серию поочередных действий. Выполните отключение брандмауэр. Найдите и деактивируйте любые защитные программы на компьютере, включая основной антивирус. Проведите еще раз загрузку обновлений для операционной системы через «Центр обновлений».

Выше перечисленные пункты помогут лишь в том случаи, если ОС активируется. Чисто пиратская Windows (7/8/10) в таком варианте не поможет исправить ситуацию. Крайним решением будет покупка лицензии или поиск подходящей системы Windows, но потребуется провести бесчисленные поиски ее в интернете. Сервисные центры по замене операционной системе могут помочь.

Второй способ

  1. Скачанная игра должна в себе хранить папку Frost, ее нам как раз надо будет удалить. Дальше, тут же ищем скрытый файл updater.cache.data, с ним поступаем также.
  2. Переходи на сайт, откуда брали игру, в верхней панели ищем пункт «Починить игру». Ошибка-Статус-1073-в-4Game-как-исправить
  3. Строка команд Виндоуз в меню Пуск, должна быть заполнена следующими скриптами:
    • bcdedit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS
    • bcdedit.exe -set TESTSIGNING OFF
    • Жмем enter и выходим из системы, после запускаем ПК в обычном режиме.
  4. Некоторые программы лучше удалить с компьютера, речь идет о RamDisk 11, Sansboxie, ReadyDriver Plus и АСТЕР.

Очевидным остается факт, что проблема создается из-за некачественных сборок пиратских ОС, а также хорошей программе по их распознаванию — античит-системе Frost, без которой невозможно скачивать игры из 4game.

Надеюсь наши советы помогут избавиться от уведомления «Ошибка во время загрузки компонентов. Статус 1073.» и исправит данную проблему.

  • Распечатать

Оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1

(35 голосов, среднее: 2.8 из 5)

Поделитесь с друзьями!

Пользователи часто передают в приложение некорректные данные. Такое происходит либо из злого умысла, либо по ошибке. Сто́ит проверять данные на соответствие бизнес-требованиям.

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

Эти задачи поможет решить Bean Validation. Он интегрирован со Spring и Spring Boot. Hibernate Validator считается эталонной реализацией Bean Validation.

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

Hibernate Validator также задаёт правила валидации с помощью аннотаций над полями класса. Этот декларативный подход не загрязняет код. При передаче размеченного таким образом объекта класса в валидатор, происходит проверка на ограничения.

Добавьте стартер в проект, чтобы включить валидацию:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>
Актуальная версия Spring Boot в Maven

Спонсор поста

Используемые версии

Java 17
Spring Boot 2.7.1

История изменений статьи

26.02.2022: Обновил версию Java с 11 до 17. Также обновил версию Spring Boot до 2.6.3
29.06.2022: Spring Boot – 2.7.1. Добавил коллекцию Postman с тестами.

Валидация в контроллерах

Обычно данные сначала попадают в контроллер. У входящего HTTP запроса возможно проверить следующие параметры:

  • тело запроса.
  • переменные пути (например, id в /foos/{id}).
  • параметры запроса.

Рассмотрим каждый из них подробнее.

Валидация тела запроса

Тело запроса POST и PUT обычно содержит данные в формате JSON. Spring автоматически сопоставляет входящий JSON с объектом Java.

Разметим сущность с помощью аннотаций валидации.

public class PersonDto {

    private Long id;

    @NotBlank
    private String name;

    @Min(1)
    @Max(10)
    private int numberBetweenOneAndTen;

    @Pattern(regexp = "^((25[0-5]|(2[0-4]|1[0-9]|[1-9]|)[0-9])(\.(?!$)|$)){4}$")
    private String ipAddress;

    // getters and setters

}

Все основные аннотации мы рассмотрим позднее, но по названиям довольно легко понять, какое условие они проверяют:

  • Поле name не должно быть пустым или null.
  • Поле numberBetweenOneAndTen должно́ находиться в диапазоне от 1 до 10, включительно.
  • Поле ipAddress должно содержать строку в формате IP-адреса.

Достаточно добавить для входящего параметра personDto аннотацию @Valid, чтобы передать объект в валидатор. Выполнение метода контролера начнётся только, если объект пройдёт все проверки.

@RestController
@RequestMapping("/api/person")
public class PersonController {

    @PostMapping
    public ResponseEntity<String> valid(@Valid @RequestBody PersonDto personDto) {
        return ResponseEntity.ok("valid");
    }

}

Вызываем наш POST метод и передаём в него не валидные данные.

Postman возвращает нам ошибку, а в консоли видим исключение. Оно сообщает нам о двух ошибках валидации.

Исключение MethodArgumentNotValidException выбрасывается, когда объект не проходит проверку. По умолчанию Spring преобразует это исключение в HTTP статус 400.

Исключение информативное, но тяжёлое для восприятия. Пользователь не получает никакой информации об ошибке. Далее мы рассмотрим, как это исправить.

Проверка переменных пути и параметров запроса

При проверке переменных пути и параметров запроса не проверяются сложные Java-объекты, так как path-переменные и параметры запроса являются примитивными типами, такими как int, или их аналогами: Integer или String.

Вместо аннотации поля класса, как описано выше, добавляют аннотацию ограничения (в данном случае @Min) непосредственно к параметру метода в контроллере:

@Validated
@RestController
@RequestMapping("/api/person")
public class PersonController {

    @GetMapping("{id}")
    public ResponseEntity<String> getById(
            @PathVariable("id") @Min(0) int personId
    ) {
        return ResponseEntity.ok("valid");
    }

    @GetMapping
    public ResponseEntity<String> getByName(
            @RequestParam("name") @NotBlank String name
    ) {
        return ResponseEntity.ok("valid");
    }

}

Обратите внимание, что необходимо добавить @Validated в контроллер на уровне класса, чтобы проверять параметры метода. В этом случае аннотация @Validated устанавливается на уровне класса, даже если она присутствует на методах.

В отличии валидации тела запроса, при неудачной проверки параметра вместо метода MethodArgumentNotValidException будет выброшен ConstraintViolationException. По умолчанию последует ответ со статусом HTTP 500 (Internal Server Error), так как Spring не регистрирует обработчик для этого исключения по умолчанию.

Валидация в сервисном слое

Можно проверять данные на любых других компонентах Spring. Для этого используется комбинация аннотаций @Validated и @Valid.

@Service
@Validated
public class PersonService {

    public void save(@Valid PersonDto personDto) {
        // do something
    }

}

Напомню, как выглядит наша сущность:

public class PersonDto {

    private Long id;

    @NotBlank
    private String name;

    @Min(1)
    @Max(10)
    private int numberBetweenOneAndTen;

    @Pattern(regexp = "^((25[0-5]|(2[0-4]|1[0-9]|[1-9]|)[0-9])(\.(?!$)|$)){4}$")
    private String ipAddress;

    // getters and setters

}

Казалось бы, пример такой же как и в контроллере и логично ожидать MethodArgumentNotValidException, но будет выброшен ConstraintViolationException и 500 ошибка.

Проверка аргументов метода

Помимо объкетов можно проверять примитивы и их обертки, выступающие в виде аргументов метода.

Валидация сущностей JPA

Persistence Layer – это последняя линия проверки данных. По умолчанию Spring Data использует Hibernate, который поддерживает Bean Validation из коробки.

Допустим, необходимо хранить объекты нашего класса PersonDto в базе данных. Когда репозиторий пытается сохранить не валидный PersonDto, чьи аннотации ограничений нарушаются, выбрасывается ConstraintViolationException.

Bean Validation запускается Hibernate только после того как EntityManager вызовет flush().

Для отключения валидации в репозиториях установите свойство Spring Boot spring.jpa.properties.javax.persistence.validation.mode равным null.

Где проводить валидацию?

На мой взгляд, лучшее место для основной валидации это сервисный слой. У этого есть несколько причин:

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

Конкретизация ошибок

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

Я подробно описывал обработку исключений в REST API в отдельной статье. Здесь мы разберем только обработку исключений валидации.

Сначала определим структуру сообщения с ошибкой. Назовем ее ValidationErrorResponse. И этот класс содержит список объектов Violation:

@Getter
@RequiredArgsConstructor
public class ValidationErrorResponse {

    private final List<Violation> violations;

}

@Getter
@RequiredArgsConstructor
public class Violation {

    private final String fieldName;
    private final String message;

}

Затем создаем ControllerAdvice, который обрабатывает все ConstraintViolationExventions, которые пробрасываются до уровня контроллера. Чтобы отлавливать ошибки валидации и для тел запросов, мы также будем перехватывать и MethodArgumentNotValidExceptions:

@ControllerAdvice
public class ErrorHandlingControllerAdvice {

    @ResponseBody
    @ExceptionHandler(ConstraintViolationException.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    public ValidationErrorResponse onConstraintValidationException(
            ConstraintViolationException e
    ) {
        final List<Violation> violations = e.getConstraintViolations().stream()
                .map(
                        violation -> new Violation(
                                violation.getPropertyPath().toString(),
                                violation.getMessage()
                        )
                )
                .collect(Collectors.toList());
        return new ValidationErrorResponse(violations);
    }

    @ExceptionHandler(MethodArgumentNotValidException.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ResponseBody
    public ValidationErrorResponse onMethodArgumentNotValidException(
            MethodArgumentNotValidException e
    ) {
        final List<Violation> violations = e.getBindingResult().getFieldErrors().stream()
                .map(error -> new Violation(error.getField(), error.getDefaultMessage()))
                .collect(Collectors.toList());
        return new ValidationErrorResponse(violations);
    }

}

Здесь информацию о нарушениях из исключений переводится в нашу структуру данных ValidationErrorResponse.

Можно изменить сообщение об ошибке с помощью параметра message у любой аннотации валидации.

@Pattern(
        regexp = "^((25[0-5]|(2[0-4]|1[0-9]|[1-9]|)[0-9])(\.(?!$)|$)){4}$",
        message = "Не соответствует формату IP адреса"
)
private String ipAddress;

Валидация конфигурации приложения

Spring Boot аннотация @ConfigurationProperties используется для связывания свойств из application.properties с Java объектом.

Bean Validation поможет обнаружить ошибку в этих данных при старте приложения. Допустим имеется следующий конфигурационный класс:

@Validated
@ConfigurationProperties(prefix="app.properties")
class AppProperties {

  @NotEmpty
  private String name;

  @Min(value = 7)
  @Max(value = 30)
  private Integer reportIntervalInDays;

  @Email
  private String reportEmailAddress;

  // getters and setters
}

При попытке запуска с недействительным адресом электронной почты получаем ошибку:

***
APPLICATION FAILED TO START
***

Description:

Binding to target org.springframework.boot.context.properties.bind.BindException:
  Failed to bind properties under 'app.properties' to
  io.reflectoring.validation.AppProperties failed:

    Property: app.properties.reportEmailAddress
    Value: manager.analysisapp.com
    Reason: must be a well-formed email address

Action:

Update your application's configuration

Стандартные ограничения

Библиотека javax.validation имеет множество аннотаций для валидации.

Аннотации имеют атрибуты, которые позволяют производить более тонкую настройку проверки, но каждая аннотация имеет следующие поля:

  • message – указывает на ключ свойства в ValidationMessages.properties, который используется для отправки сообщения в случае нарушения ограничения.
  • groups – позволяет определить, при каких обстоятельствах будет срабатывать эта проверка. О группах проверки поговорим позже.
  • payload – позволяет определить полезную нагрузку, которая будет передаваться сс проверкой.
  • @Constraint – указывает на реализацию интерфейса ConstraintValidator.

Рассмотрим самые популярные ограничения:

  • @NotNull — аннотированный элемент не должен быть null. Принимает любой тип.
  • @Null — аннотированный элемент должен быть null. Принимает любой тип.
  • @NotBlank — аннотированный элемент не должен быть null и должен содержать хотя бы один непробельный символ. Принимает CharSequence.
  • @NotEmpty — аннотированный элемент не должен быть null или пустым. Поддерживаемые типы:
    • CharSequence
    • Collection. Оценивается размер коллекции
    • Map. Оценивается размер мапы
    • Array. Оценивается длина массива
  • @Size — размер аннотированного элемента должен быть между указанными границами, включая сами границы. null элементы считаются валидными. Поддерживаемые типы:
    • CharSequence. Оценивается длина последовательности символов
    • Collection. Оценивается размер коллекции
    • Map. Оценивается размер мапы
    • Array. Оценивается длина массива
  • @AssertTrue проверяет, что аннотированное значение свойства истинно.
  • @Email подтверждает, что аннотированное свойство является действительным адресом электронной почты.
  • @Positive и @PositiveOrZero применяются к числовым значениям и подтверждают, что они строго положительные или положительные, включая 0.
  • @Negative и @NegativeOrZero применяются к числовым значениям и подтверждают, что они строго отрицательные или отрицательные, включая 0.
  • @Past и @PastOrPresent проверяют, что значение даты находится в прошлом или прошлом, включая настоящее.
  • @Future и @FutureOrPresent подтверждают, что значение даты находится в будущем или в будущем, включая настоящее.

Различия межу @NotNull, @NotEmpty и @NotBlank

@NotBlank применяется только к строкам и проверяет, что строка не пуста и не состоит только из пробелов.

@NotNull применяется к CharSequence, Collection, Map или Array и проверяет, что объект не равен null. Но при этом он может быть пуст.

@NotEmpty применяется к CharSequence, Collection, Map или Array и проверяет, что он не null имеет размер больше 0.

Аннотация @Size(min=6) пропустит строку состоящую из 6 пробелов и/или символов переноса строки, а @NotBlank не пропустит.

Группы валидаций

Некоторые объекты участвуют в разных вариантах использования. Возьмем типичные операции CRUD: при обновлении и создании, скорее всего, будет использоваться один и тот же класс. Тем не менее, некоторые валидации должны срабатывать при различных обстоятельствах:

  • только перед созданием
  • только перед обновлением
  • или в обоих случаях

Функция Bean Validation, которая позволяет нам внедрять такие правила проверки, называется “Validation Groups”. Все аннотации ограничений имеют поле groups. Это поле используется для передачи любых классов, каждый из которых определяет группу проверки.

Для нашего примера CRUD определим два маркерных интерфейса OnCreate и OnUpdate:

public interface Marker {

    interface OnCreate {}

    interface OnUpdate {}

}

Затем используем эти интерфейсы с любой аннотацией ограничения:

public class PersonDto {

  @Null(groups = Marker.OnCreate.class)
  @NotNull(groups = Marker.OnUpdate.class)
  private Long id;

  // ... ... ... ... ...

}

Это позволит убедиться, что id пуст при создании и заполнен при обновлении. Spring поддерживает группы проверки только с аннотацией @Validated

@Validated
@RestController
@RequestMapping("/api/group-valid/person")
public class PersonControllerGroupValid {

    @PostMapping
    @Validated({Marker.OnCreate.class})
    public ResponseEntity<String> create(@RequestBody @Valid PersonDto personDto) {
        return ResponseEntity.ok("valid");
    }

    @PutMapping
    @Validated(Marker.OnUpdate.class)
    public ResponseEntity<String> update(@RequestBody @Valid PersonDto personDto) {
        return ResponseEntity.ok("valid");
    }

}

Обратите внимание, что аннотация @Validated применяется ко всему классу. Чтобы определить, какая группа проверки активна, она также применяется на уровне метода.

Использование групп проверки может легко стать анти-паттерном.

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

Создание своего ограничения

Bean Validation не ограничивается встроенными аннотациями, вы можете создавать собственные ограничения и аннотации. Пользовательские ограничения позволяют даже применять аннотации на уровне класса и проверять несколько атрибутов экземпляра класса одновременно.

Напишем свою аннотацию, которая будет проверять, что строка начинается с большой буквы. Сначала создаем аннотацию @CapitalLetter:

@Target({ FIELD })
@Retention(RUNTIME)
@Constraint(validatedBy = CapitalLetterValidator.class)
@Documented
public @interface CapitalLetter {

  String message() default "{CapitalLetter.invalid}";

  Class<?>[] groups() default { };

  Class<? extends Payload>[] payload() default { };

}

Реализация валидатора выглядит следующим образом:

public class CapitalLetterValidator implements ConstraintValidator<CapitalLetter, String> {

    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
        if (value != null && !value.isEmpty()) {
            return Character.isUpperCase(value.charAt(0));
        }
        return true;
    }

}

Теперь можно использовать аннотацию @CapitalLetter, как и любую другую аннотацию ограничения.

public class PersonDto {

  // ... ... ... ... ...

  @NotBlank
  @CapitalLetter
  private String name;

  // ... ... ... ... ...

}

Принудительный вызов валидации

Для принудительного вызова проверки, без использования Spring Boot, создайте валидатор вручную.

public class ProgrammaticallyValidatingService {

  public void validateInput(PersonDto personDto) {
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();
    Set<ConstraintViolation<personDto>> violations = validator.validate(personDto);
    if (!violations.isEmpty()) {
      throw new ConstraintViolationException(violations);
    }
  }

}

Тем не менее, Spring Boot предоставляет предварительно сконфигурированный экземпляр валидатора. Внедрив этот экземпляр в сервис не придется создавать его вручную.

@Service
public class ProgrammaticallyValidatingService {

  private Validator validator;

  public ProgrammaticallyValidatingService(Validator validator) {
    this.validator = validator;
  }

  public void validateInputWithInjectedValidator(PersonDto personDto) {
    Set<ConstraintViolation<PersonDto>> violations = validator.validate(personDto);
    if (!violations.isEmpty()) {
      throw new ConstraintViolationException(violations);
    }
  }

}

Резюмирую

Валидация это неотъемлимая часть бизнес логики. Используя зависимость spring-boot-starter-validation, мы можем облегчить себе работу.

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

Стоит возвращать клиенту понятное описание ошибки валидации, используя @ControllerAdvice.

Патч, вышедший 14.12.22 на Ведьмак 3, дал игре новый толчок (во всех смыслах). Обновилась графика, кат-сцены, квесты — а вместе с ними и баги. Мне тоже пришлось столкнуться с проблемами сразу после установки обновления. Попробуем разобраться, как восстановить нормальную работу игры.

Важный нюанс: всё, что написано ниже, касается только ПК-версии, и только тех кейсов, когда Ведьмак 3 стал сильно хуже работать после патча (если он у вас и до обновления хромал, некоторые советы могут вам помочь — но вероятность мала). Консольщикам же придётся искать свои методы решения ведьмачьих проблем.

Стоит ли обновлять Ведьмак 3?

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

Перед обновлением скопируйте всю папку с игрой в отдельное место на ПК. Это позволит в случае возникновения проблем стереть обновлённую версию и восстановить старую.

Проблема №1. Ведьмак 3 не запускается после обновления

Скачав патч «весом» более 50 Гб и дождавшись его установки, можно столкнуться с тем, что игра просто-напросто отказывается запускаться. Или запуск вроде происходит — но Ведьмак 3 тут же закрывается, с ворохом ошибок или без него. Есть несколько основных причин, которые к этому приводят, и под каждый из них есть свои способы устранения проблем.

Проверьте установленные моды

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

Пример простыни

Error [content0]gameplayermovementlocomotiondirectcontroller.ws(866): Could not find function ‘GetLeftStickSprint’
Error [content0]gamegameplayitemsspellsquenentity.ws(78): Could not find function ‘OnShieldHit’
Error [content0]gameplayerplayer.ws(1391): Could not find function ‘GetLeftStickSprint’
Error [content0]gameexplorationsexploration_movement_systemexploration_substatesexplorationstatejump.ws(612): Could not find function ‘TryPetHorse’
Error [content0]gamephotomodemanager.ws(108): Could not find function ‘ApplyCastSettings’
Error [content0]gamephotomodemanager.ws(109): Could not find function ‘SetPhotoModeHorseKick’
Error [content0]gamephotomodemanager.ws(126): Could not find function ‘ApplyCastSettings’
Error [content0]gameplayerplayerinput.ws(605): Could not find function ‘GetLeftStickSprint’
Error [content0]gameplayerplayerinput.ws(2341): Could not find function ‘ApplyCastSettings’
Error [content0]gameguihudmoduleshudmodulecontrolsfeedback.ws(275): Could not find function ‘GetLeftStickSprint’
Error [content0]gameguihudmoduleshudmodulecontrolsfeedback.ws(298): Could not find function ‘GetLeftStickSprint’
Error [content0]gameguihudmoduleshudmodulecontrolsfeedback.ws(338): Could not find function ‘GetLeftStickSprint’
Error [content0]gameguihudmoduleshudmodulecontrolsfeedback.ws(355): Could not find function ‘GetLeftStickSprint’
Error [content0]gameguihudmoduleshudmodulecontrolsfeedback.ws(584): Could not find function ‘GetLeftStickSprint’
Error [content0]gameguihudmoduleshudmoduleradialmenu.ws(770): Could not find function ‘SetLastSelectedRadialItem’
Error [content0]gameguimain_menuingamemenu.ws(1325): Could not find function ‘ApplyCastSettings’
Error [content0]gameguimain_menuingamemenu.ws(1333): Could not find function ‘SetExplCamera’
Error [content0]gameguimain_menuingamemenu.ws(1335): Could not find function ‘SetExplCamera’
Error [content0]gameguimain_menuingamemenu.ws(1341): Could not find function ‘SetCmbtCamera’
Error [content0]gameguimain_menuingamemenu.ws(1343): Could not find function ‘SetCmbtCamera’
Error [content0]gameguimain_menuingamemenu.ws(1349): Could not find function ‘SetHorseCamera’
Error [content0]gameguimain_menuingamemenu.ws(1351): Could not find function ‘SetHorseCamera’
Error [content0]gameguimain_menuingamemenu.ws(1357): Could not find function ‘SetSoftLockCameraAssist’
Error [content0]gameguimain_menuingamemenu.ws(1359): Could not find function ‘SetSoftLockCameraAssist’
Error [content0]gameguimain_menuingamemenu.ws(1455): Could not find function ‘SetLeftStickSprint’
Error [content0]gameguimain_menuingamemenu.ws(1457): Could not find function ‘SetLeftStickSprint’
Error [content0]gamevehicleshorsestatesexploration.ws(251): Could not find function ‘GetPhotoModeHorseKick’
Error [content0]gamevehicleshorsestatesexploration.ws(256): Could not find function ‘SetPhotoModeHorseKick’
Error [content0]gameplayerstatesvehiclesdismountthevehicle.ws(82): Could not find function ‘GetHorseCamera’
Error [content0]gameplayerstatesvehiclesdismountthevehicle.ws(82): Could not find function ‘GetExplCamera’
Error [content0]gameplayerstatestraverseexploration.ws(66): Could not find function ‘SetLadderCamReset’
Error [content0]gameplayerstatestraverseexploration.ws(79): Could not find function ‘GetLadderCamReset’
Error [content0]gameplayerstatestraverseexploration.ws(87): Could not find function ‘GetExplCamera’
Error [content0]gameplayerstatesvehiclesmountthevehicle.ws(83): Could not find function ‘GetHorseCamera’
Error [content0]gameplayerstatescombat.ws(334): Could not find function ‘GetCmbtCamera’
Error [content0]gameplayerstatescombat.ws(399): Could not find function ‘GetCmbtCamera’
Error [content0]gameplayerstatescombat.ws(434): Could not find function ‘GetCmbtCamera’
Error [content0]gameplayerstatescombat.ws(438): Could not find function ‘GetCmbtCamera’
Error [content0]gameplayerstatescombat.ws(454): Could not find function ‘GetCmbtCamera’
Error [content0]gameplayerstatescombat.ws(525): Could not find function ‘GetSoftLockCameraAssist’
Error [content0]gameplayerstatescombat.ws(616): Could not find function ‘GetCloseSignCam’
Error [content0]gameplayerstatescombat.ws(646): Could not find function ‘GetSoftLockCameraAssist’
Error [content0]gamereplacersstatesciri_combat.ws(1833): Could not find function ‘GetCmbtCamera’
Error [content0]gameplayerstatesmeditationmeditationbase.ws(15): Could not find function ‘GetExplCamera’
Error [content0]gameplayerstatesmeditationmeditation.ws(272): Could not find function ‘GetExplCamera’
Error [content0]gameplayerstatesmeditationmeditation.ws(306): Could not find function ‘GetExplCamera’
Error [content0]gameplayerstatesunconscious.ws(62): Could not find function ‘GetExplCamera’

Warning [content0]engineenvironment.ws(30): Global native function ‘EnableDebugOverlayFilter’ was not exported from C++ code.
Warning [content0]engineenvironment.ws(32): Global native function ‘EnableDebugPostProcess’ was not exported from C++ code.
Warning [content0]engineshowflags.ws(11): Global native function ‘DebugSetEShowFlag’ was not exported from C++ code.

 

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

В моём случае, эта проблема также была актуальна. Сломался даже простенький мод AbsoluteCamera, который позволял двигать камеру в любых направлениях. Мне он был нужен, в основном, для скринов, но и геймплей с ним становился более интересным. Увы, придётся искать что-то другое на замену.

Ответ на вопрос, как удалить моды в Ведьмак 3, зависит от того, как проводилась установка. Если ручной распаковкой в папку «mods» — достаточно удалить файлы и папки, которые там находятся. Хотите сохранить их для дальнейшего использования — вместо удаления воспользуйтесь функцией «вырезать» и перенесите в отдельную папку на диске. Если же вы пользовались программой для управления модами (например, The Witcher 3 Mod Manager), корректнее будет удалять модификации также через неё, так как в этом случае некоторые файлы могут лежать в других папках, и они продолжат влиять на скрипты игры после очистки папки «mods».

Проверьте версию DirectX, с которой запускается игра

В современных лаунчерах (GOG/Steam/Epic Games и тд) можно выбрать для запуска Ведьмак 3 две основных версии — DirectX 11 или 12. И может выйти так, что после установки патча система выставила некорректный выбор. Например, у вас старенькая, но надёжная Windows 7, в которой 12ый директ отродясь не водился — а игра пытается запуститься именно через него (и не выходит). В этом случае достаточно зайти в настройки Ведьмак 3, и выставить правильную версию.

Также можно зайти в папку с игрой и вытащить ярлык нужной версии на рабочий стол. Для DX12 нужно идти по пути /bin/x64_dx12/, для DX11 — /bin/x64/

Проверка версии DirectX для Ведьмака в лаунчере GOG

Также, смена версии DirectX может решить часть проблем с производительностью и багами, если игра запускается, но вылетает или тормозит. Актуально это, в первую очередь, для старых моделей видеокарт, которые слабо вывозят работу с приколюхами 12ой версии DX.

Проверьте файлы игры

Установка такого объёмного патча не всегда проходит корректно. Запустить проверку файлов можно в лаунчере, через который вы запускаете игру. Обычно данную опцию можно найти в настройках конкретной игры.

Проверка файлов игры в GOG

Запускаем проверку, дожидаемся её завершения, пробуем запуститься снова.

Проверьте драйвера

Обычно в гайдах по проблемах с играми эту проблему ставят на одно из первых мест. Ага, как же — вчера успешно бегал по просторам мира Ведьмачка на старых дровах, а сегодня производитель видюхи выкатил новую версию, и старая тут же «отказала». Однако в случае со столь масштабным патчем, который CD Project Red выкатили для данной игры, обновление драйверов и впрямь может быть актуальным. Проверьте свои, а то вдруг последний раз обновлялись лет 5 назад:D

Поищите информацию на тематических форумах

Если в вашем случае возникает какая-то уникальная ошибка, не решаемая ничем из вышеописанного, попробуйте поискать в интернете, а также на форумах. Не брезгуйте англоязычными ресурсами — там больше пользователей, а значит, больше шансов найти способ решения проблемы.

Выполните чистую переустановку

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

Проблема №2. Вылеты после обновления

Даже если Ведьмак 3 успешно запустился после установки патча — это ещё не значит, что всё в порядке. Многие игроки сталкиваются с вылетами, особенно при переходе между локациями или на катсценах. В таком состоянии игра становится непроходимой, и хочется послать гневное письмо в Польшу об их способностях к разработке игр примерно такого содержания:

Но это ещё успеется, а пока стоит проверить, что мы можем с этим сделать сами.

Проверьте версию DirectX

Как и в случае с невозможностью запуска игры, замена версии «директора» с 12 на 11 нередко помогает сделать третьего ведьмака более стабильным. Не будем гадать, что тому причиной — кривые руки польских разработчиков, повысившиеся системные требования, какие-то конфликты игры с установленным ПО или чёрная магия. Помогло — радуемся, нет — проверяем дальше.

Проверьте настройки видео в игре

В новой версии появилась пачка новых настроек, в частности, касающихся трассировки лучей. Вроде хорошо — но не все ПК способны вывезти такую нагрузку. Стоит проверить, какую часть доступных ресурсов «кушает» игра, и если процессор/оперативка/видюха/дисковая система нагружены на 100% — то, скорее всего, это и будет причиной того, что Ведьмак 3 периодически вылетает. В этом случае стоит снизить графические настройки и наслаждаться стабильной игрой, пусть и с менее впечатляющей графикой. И как-нибудь наскрести деньжат на обновление компа.

Проверьте драйвера

Вероятность мала, но всё же не нулевая — старые дрова могут не вывозить всей мощи обновлённого ведьмака. Особенно это касается старых моделей видеокарт — если вы давно не обновляли драйвера под них, то пора это сделать. И AMD, и Nvidia за последние год-два выпустили прилично улучшили свои дровишки — в некоторых случаях, прирост производительности видюхи может превысить 10% после установки новых версий. Увы, поможет это не всем: например, для Windows 7 на некоторые модели карточек AMD драйвера больше не обновляются.

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

Проблема №3. Игра лагает после патча

Ведьмак 3 успешно установлен и запущен, вылетов нет, но ФПС просел и глаз уже дёргается от слайдшоу. Что ж, давайте разберёмся, как с этим бороться.

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

Переключитесь на DirectX 11

Как это сделать, я уже писал выше. Причиной плохой работы DirectX 12 в ведьмаке может быть и недостаточная производительность ПК, и сырость патча (даже учитывая несколько уже выпущенных хотфиксов), и индивидуальные особенности вашей конфигурации. В любом случае, ряд проблем с ФПС при переключении на DX11 пропадает, так что это может помочь вам снова поиграть в The Witcher 3.

Проверьте настройки графики и драйверов

В первую очередь, стоит снизить или полностью отключить ресурсоёмкие опции — такие как RTX, Nvidia HairWorks и другие. Также, стоит обратить внимание на настройки количества отображаемых персонажей, травы, теней и света. Поигравшись с ними, иногда можно вернуть игре прежнюю производительность на DirectX 11 (но не всегда). На DirectX 12 всё несколько хуже, здесь придётся снижать настройки сильнее, чтобы добиться того же FPS, что и до патча.

Также стоит покопаться в драйверах и поиграться с FRS и DLSS. Кому-то поможет включение, кому-то — наоборот, отключение данных опций. Точной информации, почему всё именно так, нет — но судя по тестам других игр с данными технологиями, которые я видел, это связано с некорректной работой FRS/DLSS с отдельными моделями комплектующих.

Дождитесь новых хотфиксов

На момент публикации к патчу уже вышло минимум 2 фикса — и это менее, чем за 2 недели. Возможно, вашу проблему решат с очередным обновлением. Чтобы повысить шансы на это, отправьте багрепорт через лаунчер, которым пользуетесь для игры, и молитесь. А пока можно почитать форумы или даже запостить свой баг на них: возможно, игровое сообщество найдёт решение быстрее, чем разработчики.

В статье описано далеко не всё, что может решить проблемы с игрой после патча. В основном, здесь то, с чем я столкнулся сам, а также некоторые решения с различных ресурсов, которые удалось найти и проверить. Если у вас возникали проблемы с Ведьмак 3 при обновлении, и вам удалось решить это иным способом — пишите в комментарии. Постараюсь дополнять статью по мере получения новой информации.

Понравилась статья? Поделить с друзьями:
  • Unresolved reference django ошибка
  • Update new data to dmi как исправить
  • Unreal engine is exiting due to d3d device being lost error 0x887a0005 removed как исправить
  • Unresolved import python visual studio как исправить
  • Update locale error invalid locale settings