Что делать, если GameMaker Studio 2 не открывается

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

Диагностика

  1. Перейдите в

    %PROGRAMDATA%/GameMakerStudio2
    

    (путь можно вставить в Win+R или адресную строку Проводника)
    Примечание: ProgramData — не Program Files.

  2. Откройте файл ui.log. Можно даже Блокнотом.
  3. Прокрутите файл донизу.
    Последнее упоминание Exception будет наиболее вероятной причиной ваших бед.
    При публикации вопросов с текстом ошибки, прилагайте callstack (цепочка at X ниже строки с ошибкой).

Если файла ui.log (или папки GameMakerStudio2) нет, скорее всего либо был сбой в установке и приложение не может запустится в принципе, либо у текущего пользователя нет прав на папку GMS2 или папку в ProgramData (описание необходимых прав доступа).

Возможные причины

Зачастую беды сводятся к всё тем же правам по ссылке выше — GameMaker Studio 2 нужны права чтения/записи в свою папку в ProgramData, в свою папку в AppData, права на чтение системных шрифтов, и ещё пара мелочей.

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

Есть, конечно, и исключение среди этих обычных ошибок:

C:\Windows\Fonts\MySql

Есть небольшая вероятность, что ваша ошибка выглядит вот так:

IDE Exception: System.UnauthorizedAccessException: Access to the path 'C:\WINDOWS\Fonts\Mysql' is denied.
  at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
  at System.IO.FileSystemEnumerableIterator`1.AddSearchableDirsToStack(SearchData localSearchData)
  at System.IO.FileSystemEnumerableIterator`1.MoveNext()
  at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
  at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
  at YoYoStudio.Graphics.FontManager.ValidateFontFolder(String _folderpath)
  at YoYoStudio.IDE.Initialise(String[] _args, Int32 _initialWidth, Int32 _initialHeight)
  at YoYoStudio.IDE.Execute(String[] _args, Int32 _initialWidth, Int32 _initialHeight)

Возможно, по тексту ошибки у вас уже возникают вопросы о том, почему в вас в системной папке шрифтов MySQL и почему к нему нет доступа — даже с правами администратора.

Ну, в общем говоря, вы где-то поймали майнер, да ещё и с удалённым контролем в придачу. Вирус регулярно делает свои резервные копии по всей системе, имеет несколько папок с уровнем доступа выше администраторского (что защищает его от обнаружения многими антивирусами), и в целом активно противостоит попыткам его искоренить. Иными словами — ваш компьютер уже не ваш, и не совершенно потому, что наступил коммунизм. Как однажды говорилось, "пришло время переустанавливать шиндовс".

Способы нахождения бед на свою голову разнятся
(согласно опросу спрашивающих о проблеме пользователей в группе по GameMaker в ВК):

  • Кто-то скачал проверенный активатор Windows, с которым никогда не было проблем
    (никогда такого не было, и вот опять)
  • Кто-то скачал репак старых игр
  • Несколько человек купили различные ноутбуки с предустановленной Windows в магазине ДНС, поставили первым делом GameMaker, и обнаружили проблему.
    Пользуется ли кто-то в ДНС Доверенным Активатором, или же кто-то решил подзаработать добавлением на продаваемые компьютеры Дополнительного ПО — пока остается секретом.

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

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

Итого, на данный момент GameMaker Studio 2 выступает эдакой "канарейкой в угольной шахте" — его внезапная кончина может вам дать знать о том, что с вашей системой что-то очень не так до того, как вы бы заметили это самостоятельно.

Похожие записи

Добавить комментарий

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.