Приобрел я две пары ушей онлайн. Выбор пал на Logitech G435 и Ardore Temple. Послушав их, пришел к неутешительным выводам, у меня все еще нет нормальных наушников. У Ardor были очевидные проблемы с АЧХ и сильнейшим завалом в сторону БАСБУСТЕД звучания, но отличный запас по громкости и автономности, а Logitech могли похвастаться хорошим звуком, но никаким запасом по громкости... Было решено это исправлять. И тут у нас есть два пути, софтвейрный и хардовый, т.е. программно установив эквалайзер и настроив кривую на свой вкус или потыкав схемку паяльником, я выбрал второй вариант ввиду того что первый представляет собой костыль, так как если использовать на нескольких устройствах с разными операционками - звук везде будет разный, более того он будет плох, так как любая эквализация деформирует звук и вносит свои искажения помимо исправлений. Да и в целом мне лениво подбирать эталонные значения. По этому я взяв отвертку полез внутрь. Аккуратно потянув амбушюру в сторону я снял ее с левого уха, медленно раскрутил 4 винта и уверенно отложил внешнюю часть корпуса с динамиком в сторону. Открутив еще три винта на плате и перевернув ее я увидел их (на фото) два конденсатора, нафиг тут не нужных, взяв паяльник я убрал их оттуда. У всех я надеюсь есть по паяльной станции... Ну не беда в крайнем случае можно попробовать ОЧЕНЬ аккуратно сломать их кусачками ну или сходить в любой сервисный центр где есть возможность показать пост мастеру и за символическую сумму, не более 500 за 5 минут работы, вы можете не брать на себя эту задачку. После удаления этих элементов звук стал просто нормальным, запас по громкости также остался, а звучание перестало быть бубняще-басящим. Учтите что вы само собой в 99% слетаете с гарантии и все что вы делаете - делаете на свой страх и риск! Удачи и больше покупок не требующих доводки!)
Возможно сделаю пост по Logitech G435 и попробую сделать их громче, но позже, пока пользуюсь и довольствуюсь тем что получилось с Temple)
В наше время, из-за санкций одноплатники стали стоить каких-то «конских» денег. Даже б/у RaspberryPi Zero стоит 2-3 тысячи рублей на барахолках, что, мягко скажем, не совсем лояльная цена для «самого дешевого одноплатного компьютера в мире». Конечно, Orange Pi Zero всё ещё можно купить в пределах 1.500-2.000 рублей, но как по мне и эта цена не слишком лояльна за те характеристики, который предлагает такой одноплатник. С другой стороны, Android-планшеты 10-летней давности продаются на барахолках по 100-300 рублей, что выглядит гораздо привлекательнее, причём на некоторые устройства практически без костылей можно установить полноценный дистрибутив Linux! Вероятно, многие читатели скажут мол «автор бомж» и будут правы: ведь в рамках этой статьи, я хочу рассказать о том, как использовать полурабочий древний планшет в качестве полноценного одноплатника путём подключения его к микроконтроллеру и выводу GPIO! Сегодня мы с вами: узнаем, как подключить микроконтроллер к шине UART в планшете и научимся работать с последовательной шиной в Android прямо из Java и нативных программ. Интересна моя концепция антикризисного одноплатника? Тогда добро пожаловать под кат!
❯ Зачем это нужно?
Пожалуй, нельзя сказать, что подобная концепция пристраивания старых планшетов — вопрос исключительно цены. 2-3 тысячи рублей не такие уж и большие деньги и при желании можно купить хотя-бы Б/У, но всё таки полноценный одноплатник с нормальной GPIO-гребенкой. Однако здесь стоит вопрос не столько дешевизны, сколько E-Waste: зачем выкидывать в помойку потенциально рабочие планшеты с живым процессором, если их можно пристроить куда-то ещё?
На самом деле, планшеты с ROOT-доступом уже из коробки могут выполнять весьма полезные задачи, как, например, хостинг http-сервера для домашней страницы, работать как панель с часиками и погодой, или, например, работать в качестве HMI-панели для оформления заказов в шаурмечной. Кроме того, многие планшеты на базе смартфонных чипсетов (MediaTek, Spreadtrum) имеют полноценный Bluetooth-модуль, что позволяет «подружить» планшет с микроконтроллером через радиоканал, что значительно расширяет возможный спектр применений.
Преимуществ у такого подхода много: у «пожилого» планшета уже есть большой, достаточно качественный (хороший TN, либо даже IPS) дисплей с тачскрином, который поддерживает мультитач, GPU для вывода 3D-графики, 3.5мм для вывода звука + встроенные динамики, а также весьма неплохое, по сравнению с дешевыми одноплатниками, железо. Звучит весьма вкусно для цены в 300 рублей: собрать хоть немного похожую конфигурацию на базе RPi выйдет в 10-15 тысяч рублей (учитывая дороговизну MIPI-матриц с тачскринами + цену самой «малинки» и обвязки для аудиотракта).
Но при всех перечисленных достоинствах, атрибутом любого полноценного одноплатника является наличие GPIO — и даже здесь мы сможем с вами выкрутится! Первый способ, о котором я чуть выше вскользь рассказал, позволяет реализовать общение с МК и «ногодрыг» через BT-радиоканал, но минусы такого подхода очевидны (МК с BT дороже, радиоканал потребляет дополнительную энергию, некоторые могут посчитать BT небезопасным). Однако есть и второй подход, который заключается в использовании диагностических пятачков UART на плате устройства для наших личных целей!
С таким подходом можно использовать как «голый» Linux, используя концепцию, которую я представил в этой статье, так и взаимодействовать из Java-приложений для Android (что даёт уже, как минимум, удобный GUI-фреймворк). Сегодняшняя статья будет «без воды», только чистая конкретика, поэтому давайте перейдем к реализации!
❯ Подготовка
Как я уже говорил выше — в рамках данной статьи мы рассмотрим использование UART в планшете для наших собственных целей. UART — это двунаправленная полнодуплексная цифровая шина, которая позволяет обеспечить стабильную передачу данных при относительно невысокой скорости, измеряемой вбодах. То есть, быстро стримить картинку с её помощью вы не сможете, но сможете, например, получить состояние входов МК, прочитать что-то на шине I2C, используя мост UART -> I2C или, например, прочитать показания датчиков, которые МК предварительно опросил.
Сама по себе концепция очень простая: многие китайские производители планшетов и смартфонов не только разводят UART в виде отдельного пятачка на плате, но и подписывают его, задействуя UART-канал как вывод для логов ядра, а иногда и предоставляя доступ к рутовой консоли! В свою очередь, из юзерспейса мы можем получить доступ к UART с помощью устройства/dev/ttyS<x>на подавляющем числе чипсетов и/dev/ttyMT<x>на MediaTek. Однако учтите, что в некоторых случаях придется патчить загрузчик, дабы редиректнуть логи ядра в /dev/null.
Однако наличие UART на плате — не всегда признак того, что он сконфигурирован в системе верно. Например, на смартфонах с чипсетами SC6820 нормально завести UART я так и не смог, а на некоторых устройствах на базе MT657x нужно патчить загрузчик, дабы он «увидел» нужный канал UART! В моём случае, героем статьи стал планшет Prestigio, у которого отказал тачскрин, но был доступен UART:
Конкретно в моём случае, после установки последней официальной прошивки планшет перестал слать логи на UART и устройство /dev/ttyMT3 оказалось доступным для наших операций, в вашем же случае может потребоваться настройка devicetree, или просто патчинг загрузчика, дабы редиректнуть консоль на другой вывод UART. Кроме того, необходимо обязательно получить root-доступ хотя-бы к adb shell, поскольку доступ к /dev/tty устройствам возможен только от имени суперпользователя. Как же проверить UART на возможность чтения/записи? Сначала нам необходимо взять ESP32 или любой UART-USB преобразователь, припаять сигнальные линии RX/TX и использовать любую программу для работы с последовательным портом, например Putty. Заходим в adb shell, и пишем что-нибудь в консоль:
Вуаля! Всё работает :)
Работает? Замечательно, значит мы сможем использовать планшет вместе с микроконтроллером! Переходим к практической реализации нашего приложения!
❯ Используем из Java
Я специально решил выделить для Java-подхода отдельный раздел, поскольку просто взять и открыть /dev/ttyMT3 с помощью FileInputStream не выйдет. Дело в том, что даже несмотря на наличие root-доступа, по факту ни одно Android-приложение его не имеет (за исключением подписанных системных в папке /system/app/) и для всех операций, требующих повышенных привилегий, либо распаковывают и запускают внешнюю нативную программу из под суперпользователя, либо с помощью специального костыля с запуском sh-программ читают/пишут нужные блочные устройства сами. Связано это с тем, что все Android-приложения работают в хост-процессе app_process, который форкается (отпочковывается) от «главного» процесса, который запущен из под «простого» пользователя, который не находится в группе system.
Здесь концепция также очень простая: su имеет аргумент -c, который позволяет запустить команду от имени root-пользователя и возвращает объект процесса, дабы мы потом могли перехватить stdout:
Таким образом, для чтения текстовых данных из UART'а нам достаточно лишь периодически «слушать» stdout команды cat и обрабатывать данные:
Костыль, но со вкусом :) Если вас не устраивает такой подход или ваше приложение значительно более комплексное, вы можете использовать UART и из под нативных программ.
❯ Используем из C
Работа с последовательными портами в Linux не отличается от работы с любыми другими файлами и устройствами: вызовов open, read, write и close обычно хватает и лишь иногда к ним в довесок нужен ioctl.
int fd = open("/dev/ttyMT3", O_RDWR); int result = write(fd, command, strlen(command));
Для работы с терминалом необходимо использовать модуль termio который предоставляет все необходимые структуры для настройки режима работы терминала, в т.ч и бодрейт. Дело в том, что изначально последовательное устройство настроено на режим работы в качестве терминала, т.е драйвер отдаст данные только после того, как устройство на UART пошлёт \n, или превысит размер внутреннего буфера для сообщения. Если вам нужно работать с бинарными данными и получать их «на лету» — необходимо настроить последовательный порт в «binary» режим:
Если же вам достаточно текстового терминального режима, то можно продолжить как есть и использовать fgets, fscanf и прочие удобные функции из libc! О том, как собрать нативную программу для смартфона и как вообще выбросить Android из него, читайте в моей отдельной статье.
❯ Заключение
Вот таким образом можно использовать проводную шину в планшете для собственных нужд! Как видите, совершенно ничего сложного и используя эти наработки, я реализовал уже не один проект! Надеюсь, материал вам был интересен и полезен :) Пишите своё мнение, можно ли использовать дешевые планшеты по 300 рублей в качестве одноплатников?
Статья была подготовлена при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю! Ну а больше подробностей о будущем контенте, как обычно, в первом комменте! Также у меня есть свой Telegram-канал, куда я выкладываю свои мысли, советы по ремонту и моддингу различных гаджетов, а также вовремя публикую ссылки на новые статьи!
■ Уже несколько лет занимаюсь моддингом в Minecraft и столкнулась с тем, что очень многие игроки не знают/заблуждаются даже о самых базовых вещах, которые таят в себе моды на Майнкрафт. Создание модов для меня одновременно и хобби и работа, но как бы то ни было я обожаю это дело и хочу помочь жителям Pikabu правильно раскрыть эту сторону данной прекрасной игры. Даже если вы никогда сами не играли в Minecraft или просто хотите поиграть со своим чадом, я постараюсь написать статью максимально понятно и подробно для всех. Поверьте, когда-нибудь эта игра дойдёт и до вас. Ибо она проникает на любой компьютер рано или поздно. Зря что ли это самая продаваемая игра в мире?
Майна продали в 3 раза больше, чем Тетриса, а ГТА отстаёт на 105 000 копий. Да, тут можно поспорить о том что у Майна все виды изданий объединены или что не все лицензии были честно купленными, но сегодня не об этом.
■ Введение.
■ Майнкрафта существует два:
Java Edition - пк-версия написанная на языке Java. Именно здесь сосредоточено самое большое количество возможностей и фанатского контента. Некоторые умельцы могут запустить это и на андроиде, но лично я не советую этого делать.
Bedrock Edition - официальный порт Майнкрафта на языке C++, созданный в первую очередь для консолей и телефонов (вы могли знать его как Pocket Edition), однако также доступный и для пк (Windows 10 Edition). Здесь присутствует официальный маркетплейс - донатный магазин для покупки дополнений, приключенческих карт, текстур и прочего (на java этого нет).
■ В посте речь будет идти не про Bedrock, не про Windows 10, не про Pocket Edition, а именно про Java Minecraft. Другие издания это другой мир с другими модами, написанными на другом языке программирования. Так что, надеюсь, уже на этом этапе отвечу на один из вопросов серии "Почему [название мода] не портирован на Bedrock?/А когда ждать [название мода] на Bedrock?". В 99.9% случаев ответ - "Никогда!". Если вы видите похожий мод с Java-версии на Bedrock Edition, это почти гарантированно сделал кто-то, укравший ассеты и не имеющий отношение к оригинальному моду и автору, но не будем об этом.
■ Что касается версии игры, то данная статья актуальна для всех версий. Не важно, играете вы на олдовом 1.7.10 или на новеньком 1.20.1, с вероятностью в 90% всё сказанное тут будет актуально всем. Лично я играю и работаю на 1.19.2+ Forge.
■ Для тех кто не понимает о каких версиях идёт речь: в Minecraft, в отличии от многих других игр, игрок может в любой момент играть на любой из версий игры и обновления обычно выходят раз в полгода. У данной системы довольно много плюсов:
Желающие играть на старых версиях не обязаны становиться пиратами;
Заброшенные авторами моды не умирают вместе с очередным патчем/чихом разработчика игры;
Это отличный способ окунуться в историю игры и посмотреть как она выглядела в разное время;
Игрок может в любом момент поменять версию игры и не привязан ни к чему. Даже его сохранения и миры не будут потеряны (в некоторых случаях их даже переносить можно безопасно между версиями). Разработчикам Minecraft безразлично на какой версии вы сидите. Главное что вы играете в их игру.
■ К слову, это одна из причин по которой вы не увидите Minecraft в Steam. Те кто активно играют в стиме, могут и своих пунктов добавить о плюсах возможности играть на разных версиях, ибо во всех играх стима (сегодня 2024 год, если вдруг вы из будущего/другой вселенной где это есть) нет никакого выбора версий и все обязаны играть только на последней. Можете накидать мне за шиворот опровержений, но в подавляющем большинстве случаев без танцев с файлами/интернетами фиг вы нормально поиграете на старых патчах.
Я и мои друзья играем за драконов в Minecraft.
■ Кто такие эти ваши моды для Minecraft?
■ На одном лишь Curseforge существует более 164 000 модификаций от их авторов с более чем 53 миллиардами скачиваний (на момент написания статьи). И это только один сайт, а ведь есть ещё Planet Minecraft с огромным числом ресурспаков и набирающий популярность Modrith c 30 тысячами модификаций (на котором, правда, в основном перезаливы того что есть на Curseforge). Ни у одной другой игры нет столько модов и скачиваний. Если не верите, можете перепроверить сами ;)
■ Я также ненадолго заскакивала в моддинг по таким играм как Dwarf Fortresst (Steam), Sims 4, Skyrim, Gothic, Oxygen not included, Going Medieval, Baldur Gate 3 и могу с уверенностью сказать что, помимо цифр, в Майнкрафте также одна из самых удобных инфраструктур для моддинга:
Централизованность. В последнее время этот плюс немного разваливается, т.к. какие-то гении решили, что "а давайте бахнем ещё десяток модлоадеров и рассосёмся по новым сайтам!". Честно желаю всем таким сайтам и модлоадерам сгинуть. Кто пытался самостоятельно собирать моды на Симс 4, поймёт какая это срака. Миллион личных сайтов, разные версии на разных сайтах и прочий кошмар. Я честно сдалась тогда и купила модпак за 100 рублей у какой-то девушки с Бусти. Надеюсь, Майнкрафт никогда до такого не дойдёт.
Удобные лаунчеры со ВСЕМИ модами. И не просто с пиратскими перезаливами, а с авторскими регулярными обновлениями, которые легко скачать и которые автоматически адаптируются пот ваши настройки.
Доступ к любым версиям. Об этом я уже выше писала, но уточню что моды тоже доступны на разных версиях игры и когда автор решает перейти на новую, старая версия не удаляется, а все желающие могут продолжить с ней играть без проблем.
Очень много гайдов. Тут даже дополнять нечего. Гайдов по моддингу на Майнкрафт ОЧЕНЬ много. В большинстве игр, что я перечислила иногда даже 1 гугл документ с примерами не найти.
Отдельный жанр видео. Глобальные обзоры модов, игры на конкретных сборках с известными именами, десятки челленджей с модами и каналы, которые посвящены чисто модам. В других играх тоже есть такие видео, но отдельные каналы им посвящают очень редко, а в Майнкрафте можно набрать сотни каналов, которые рассказывают только про моды на разных языках. К слову, передаю привет всем зрителям Nocube, он редактор этой статьи :)
1/5
Пруффы что я не балаболка и считать умею :) Модринт считала так: взяла количество страниц в каждой категории моддинга и умножила на 20 (количество модов на каждой странице). Да, не идеальная точность, но посчитайте лучше, если вам надо.
■ Как понять что есть что и с чем его едят? В комьюнити присутствует настоящий хаос в плане того, как и что называть, поэтому дабы в дальнейшем избежать путаницы, сразу обозначу что лично для меня означают те или иные термины. Осторожно, сейчас будет много букаф!
Ванилла (Vanilla) - весь функционал, контент и стиль, заложенный в чистом Майнкрафте. Ваниллой может считаться только оригинальная игра без изменений.
Ванильный стиль (Vanilla Style) - графический и функциональный стиль модификаций, который подразумевает подражание эстетике оригинального Minecraft. Порой эту фразу используют просто для похвалы ("Это выглядит очень ванильно!") или отображения своей позиции ("Моды не должны выделяться из стиля игры, быть ванильными", "Этот мод в ванильном стиле"). Из-за того что словосочетание "ванильный стиль" часто сокращают до слова "ванилла" в диалоге, в коммьюнити часто бывают споры насчёт этого. Понятие в целом очень расплывчатое и зависит от личных тараканов в голове.
Модификация (Modification) - абсолютно любой скачанный контент, предназначенный для расширения или изменения функций и контента игры. Чтобы считаться модификацией, контент должен быть именно установлен в игру извне. Всё созданное внутри игры без дополнительной установки не является модификацией.
Мод (Mod) - тип модификации, который для установки помещается в папку mods. Может быть клиентским или серверным. Клиентские моды работают только на стороне клиента (игрока) и не требуют добавления на сервер для работы. Для работы любого мода требуется загрузчик модов (в основном Forge или Fabric). В последнее время много разговоров про Neoforge как замену Forge для новейших версий выше 1.20 (там произошла какая-то великая драма).
API / Библиотека (API/Library) - категория модов, которые не добавляют контент в игру, но используются другими модами. Без этих библиотек некоторые моды не будут работать. О том что моду требуется что-то дополнительно устанавливать обычно указано на официальной странице мода. Если проигнорировать это, то вы попросту не сможете зайти в игру, но на загрузочном экране скорее всего будет указано, какому моду чего не хватает (актуально в основном для новых версий).
Аддон (Addon) - тип мода, который меняет контент другого мода или дополняет его. Не работает без основного мода. В Bedrock Edition имеет другое значение и является аналогом Мода. Не путайте!
Датапак (Datapack) - тип модификации, который для установки помещается в папку datapacks. Влияет на всё связанное с данными (data) - рецепты крафта, таблицы лута, теги, структуры, достижения, и так далее. Некоторые моды помещают в дату свои настройки. Работает только на стороне сервера. Т.е. игрок без модификаций может подключиться к такому серверу ничего не устанавливая, но его игра будет сильно отличаться от ванильной во всём, кроме графики (потому что графика это пункт ниже).
Пакет Ресурсов или Ресурспак (Resourcepack) - тип модификации, который для установки помещается в папку resourcepacks. Он может изменять текстуры, модели, анимации, языковые файлы, звуки и прочие вещи, которые отражаются на стороне клиента. Например, игрок может поставить себе ресурспак, который превращает все блоки в лица Стетхема, а названия предметов в его цитаты, но при подключении на сервер другие игроки этого не увидят, потому что у них нет этого ресурспака. Помимо этого существуют ресурспаки имитирующие функции некоторых модов, вроде читерского X-Ray.
Пакет Текстур или Текстурпак (Texturepack) - предок ресурспаков на старых версиях Майнкрафта, в которых можно было менять только текстуры. Но хоть с версии 1.6.1 ресурспаки и заменили собой текстурпаки, название до сих пор активно используется в комьюнити для обозначения ресурспаков меняющих только текстуры, в том числе и на новейших версиях игры.
Плагин (Plugin) - тип модификации в основном предназначенный для серверов, для установки помещается в папку plugins. Для работы требуется установка загрузчика плагинов (в основном Bukkit или Spigot). Все плагины работают по аналогии с датапаками (игрокам не нужно ничего устанавливать), но намного более продвинутые и требуют написания кода. Моды и плагины не совместимы друг с другом и все ядра, которые пытаются соединить их, чаще всего работают через Ж.
Карта / Мир (Map/Saves) - тип модификаций, которые для установки помещаются в папку saves. Чаще всего это миры созданные для выживания, паркура, решения головоломок, прохождения испытаний, или содержащие строения (дома, локации, города, рукотворный ландшафт и прочие постройки игроков).
Шейдер (Shader) - тип модификации, который для установки помещается в папку shaderpacks. Требует установки OptiFine, Oculus или Iris. Меняет рендер, делая игру более красивой с помощью освещения, физики, отражений и прочего. Работает на стороне клиента и зачастую имеет большой набор настроек графики, как в красивых и ресурсоёмких играх (цветокоррекция, яркость лучей, размытие, глубина резкости, насыщенность цветов и прочее).
Модпак (Global Modpack) - набор модификаций, объединённых общей темой с глубокой проработкой, откорректированным балансом контента и даже квестовыми линиями или полноценным фоновым сюжетом.
Подборка / Сборка модов (на английском тоже Modpack) - более любительская версия модпака без какой-либо общей задумки и проработки, проще говоря сборная солянка. В английском языке не имеет отдельного слова, и для отделения модпака от сборок чаще всего пишут приставку "global" в описании (глобальный модпак).
■ Где эти ваши модификации искать?
■ Вкратце: только на Curseforge, Modrith и Planet Minecraft. Кто владеет основами английского или умеет пользоваться встроенным в браузер переводчиком - welcome, остальным сочувствую.
■ Основной источник модов это Curseforge. Тут содержится 90% всех модификаций на Minecraft, которые потом растекаются по другим площадкам. Ещё 9% находятся в PlanetMinecraft (в основном ресурспаки и карты/сохранения) и Modrinth (в основном перезаливы с Curseforge, но некоторые авторы полностью перешли туда) или на личных сайтах авторов. Все остальные сайты в 99% случаев являются пиратскими и не платят никаких отчислений авторам, а также не получают их разрешение на распространение. Помню свой шок, когда уже спустя пару минут после публикации своего первого мода, он был перезалит с очень тупыми описаниями на сотни левых сайтов, а мне писали жалобы в духе "ваша х*ня, не работает". На некоторых особо ушлых сайтах даже сразу были вшиты вирусняки. Сказать что я была в **уе, это ничего не сказать.
■ Я и другие разработчики до сих пор считаем что Яндекс имеет какой-то корыстный интерес в том чтобы не показывать Curseforge, т.к. Гугл абсолютно всегда показывает оригинальный источник мода, а у Яндекса его не найти даже если специально написать "Название мода+Curseforge". Гораздо чаще вылезает пиратское зеркало сайта под названием Cursefire, чем сам Curseforge. А ещё чаще пиратские сайты. Какие конкретно называть не буду, вы их и без меня знаете.
■ Вопреки распространённому среди юзеров мнению, Curseforge не имеет никакого отношения к Forge. Они абсолютно никак не связаны. У них разные разработчики, разные владельцы, разный смысл. Первый это сайт-агрегатор/лаунчер, а второй это загрузчик модов (ModLoader) для работы самих модов. Этих модлоадеров в последнее время развелось великое множество.
■ Используйте оригинальные источники, если хотите получить качественный контент и поддержать разработчиков. Мы все очень стараемся для вас, чтобы сделать Minecraft ещё круче и поделиться своими увлечениями. Авторы на Curseforge и Modrith (а также на Nexus Mods и некоторых других) получают небольшие денежные отчисления за ваши скачивания, а вы получаете годный свежий контент без риска подхватить вирусы. И нет, я не советую Curseforge/Modrith потому что "хачу деняк". Во-первых, эти лаунчеры бесплатны (даже для пиратов), во-вторых, кто такие эти ваши деньги? Если вы заметили, я ваще нигде не упомянула какие моды разрабатываю (как минимум потому что вы точно не аудитория моих модов, без обид). Я советую эти сайты/лаунчеры потому что это удобно и безопасно. Но если вы считаете те 20$ в месяц, которые я получаю за скачивания моих модов (и которые даже не могу вывести без помощи иностранных друзей), поводом вам врать/преукрашивать - мне грустно за вас. Единственный реальный "минус", который есть у этих платформ, это английский язык. Других причин использовать ру-майны/инсайды лично я не вижу.
Генерация майнкрафта на новых версиях часто подкидывает потрясающую красоту. Сделала тут базу!
■ Вы меня заинтересовали и мне приглянулась пара модов! Что дальше?
■ Вкратце: купить Майкрафт (если нет), установить чистый Майнкрафт, установить лаунчер, найти моды, установить моды/модпаки, нажать "играть", войти в аккаунт Майнкрафта (один раз), молиться чтобы всё заработало.
■ Если проблему "где купить официальную игру" вы решили (не важно каким способом, даже б/у аккаунт за 200 рублей подойдёт), то перед вами будет стоять выбор между:
Самостоятельно извращаться с установкой модификаций, самому устанавливать Forge, искать правильные версии модов, устанавливать библиотеки этих модов и следить за обновлениями вручную.
Воспользоваться готовыми лаунчерами, которые максимально упростят вам жизнь.
■ Лично я категорически советую второй вариант и буду рассказывать именно о нём, т.к. тратить время на первый вариант это надо иметь дофига лишнего времени (хотя зато вы научитесь лучше понимать как это устроено, но оно вам надо?). Может быть, сделаю отдельный гайд как официально скачивать моды минуя установку лаунчера, но честно не вижу в этом ни единого профита для юзера, кроме самого факта что "меньше программ = лучше" (нет, лол).
■ Выбрав второй стул, встаёт другой выбор: какой лаунчер? Официальных лаунчеров не так много: Curseforge, GDLauncher, Modrith, MultiMC, Prism Launcher и несколько других. Что значит официальный? Это означает, что разработчик лаунчера уважает разработчиков Minecraft и не встраивает чужую игру в себя, добавляя туда пару десятков датамайнеров и рекламы донатных серверов. Официальные лаунчеры используют API оригинального лаунчера Minecraft и не нарушают их лицензионное соглашение (а также лицензионные соглашения модификаций). Будет смешно, если среди перечисленных мной лаунчеров будут те, которые под это описание не подходят. Сорри, если да.
■ Лично я использую уже много лет Curseforge и не жалуюсь, но уверена даже на Пикабу сейчас прибегут люди и скажут что я устаревшая бабка и надо использовать [вставьте один из десятков лаунчеров]. На здоровье пользуйтесь любыми удобными вам лаунчерами, всё равно большую часть модов ваши лаунчеры будут скачивать через API с Curseforge, а оставшиеся пару модов с Modrith :)
■ A, B, C, D, Т, Legacy и прочие любимые многими русскоязычными игроками лаунчеры с уже установленной копией игры являются ПИРАТСКИМИ. Уточняю ещё раз просто потому что не все игроки в принципе знают об этом и часто удивляются "а что минкруфт не бесплатная игра и её надо покупать??" Обязательно раза четыре в месяц сталкиваюсь с подобными сообщениями.
■ Рассмотрим ситуацию где вы уже установили игру, прислушались к моему совету и установили Curseforge лаунчер. Инструкцию по установке писать не буду, думаю, сами справитесь! Если вы уже устанавливали игру и пытались ставить моды, удалите всё и оставьте игру девственно чистой (в лаунчере есть Repair Installation). Если всё правильно вас встретит такая картина:
Стартовый интерфейс Curseforge.
■ Для тех кому хочется "ванильную игру + пару модов" жмакайте на Create Custom Profile. Вам предложит выбрать версию Майнкрафта, Modloader и прочие мелочи. Если вы вообще не знаете что выбирать, сделайте как у меня на картинке: Название + 1.19.2 + Forge.
Создание профиля в Curseforge.
■ Подождав пару минут установки, вам будет доступно добавление модов в этот профиль (об этом дальше). В будущем вы можете создавать сколько угодно профилей с разными наборами модов. Мой Курсефордж в данный момент выглядит вообще вот так:
Куча модпаков, между которыми удобно переключаться.
■ Но вернёмся к вашему пустому профилю. Откройте его и нажмите на вот эту непримечательную кнопку Add More Content.
Для добавления модов нажимать сюда.
■ Тут вам будут доступны только те моды, которые работают на настройках, указанных при создании профиля. Это первое удобство использования лаунчера - вам не нужно понимать какой мод работает с вашей версией, а какой нет.
Устанавливать моды тут.
■ Просто для теста добавила:
AppleSkin (для отображения показателей еды).
Farmer's Delight (мод на кулинарию и фермерство).
JEI (мод для отображения рецептов всех предметов, имхо, играть без этого мода в майн невозможно, не просто так это самый скачиваемый мод на игру).
Mouse Tweaks (удобство управления инвентарём).
Quark (тысяча мелочей, которых не хватает в оригинальной игре).
■ Внимательный пользователь мог заметить что у меня также появился AutoRegLib. Это второе удобство использования лаунчера: вам не требуется устанавливать библиотеки модов. Если разработчик не биба и указал библиотеку в разделе "зависимых модов", она сразу же установится автоматически. Например, очень многие моды требуют Geckolib, а AutoRegLib требуется для Quark.
■ Таким же способом вы можете устанавливать ресурспаки, шейдеры и миры, а можете просто нажать кнопку "играть", зайти на лицуху и начать играть! В принципе уже на этот моменте вы знаете всё необходимое чтобы поиграть, но если вы хотите большего, читайте дальше!
Тестовый профиль с добавленными модами.
■ "Можно чтобы игра выглядела красиво? А то кубики эти..."
■ Кратко: ресурспаки устанавливаются также как моды (смотрите скриншот выше), шейдеры тоже можно скачать в лаунчере, но для них нужен Optifine (до 1.16.5 Forge), Iris (для Fabric) или Oculus (для 1.16.5+ Forge).
■ За красоту отвечают шейдеры и ресурспаки. В старых версиях у игроков есть только OptiFine, но начиная с версии 1.16.5 очень многие разработчики модов стали отказываться от поддержки этого мода. Причин тут много:
Разработчик OptiFine категорически против размещать свой мод на удобных площадках и требует скачивать только со своего сайта, а это означает что создатели легальных модпаков вынуждены просить игроков отдельно устанавливать этот мод.
Исходный код OptiFine закрыт, что не позволяет мододелам добавлять совместимость с этим модом. В данный момент это всем просто надоело и у некоторых модов вы можете увидеть плашку "НЕСОВМЕСТИМО С ОПТИФАЙН". Меня лично тоже в какой-то момент заколебало исправлять бесчисленные баги оптифайна и я отказалась от поддержки этого мода.
Излишняя перегруженность. OptiFine это не только шейдеры, но и огромное число других функций, которые вам вообще могут быть не нужны - оптимизация, переписывание кода оригинальной игры, изменение рендера под усложнённые ресурспаки, динамическое освещение, поддержка HD текстур и прочее.
■ "Но оптимизация это же хорошо!" - можете воскликнуть вы. Увы, но нет. Я придерживаюсь мнения что бездумно оптимизировать игру всем подряд не имеет смысла (особенно на новых версиях, за старые не ручаюсь). Вы только испортите свою игру или по незнанию установите какой-нибудь тролль-мод, который просто редактирует счётчик фпс ибо в комьюнити любят троллить моды на оптимизацию :)
■ Так что если вы играете на новых версиях, рекомендую лучше использовать Oculus для Forge или Iris для Fabric. А вот если вам нужны другие функции оптифайна, добро пожаловать в эту табличку: https://github.com/LambdAurora/optifine_alternatives. Заодно познакомитесь с интерфейсом гитхаба. Если вы будете серьёзно заниматься модами на Майкрафт, вам придётся видеть этот сайт каждый день на завтрак, обед и ужин. Здесь хранится код большинства модов, написаны вики, инструкции и содержится форма для отправки багрепортов. О них по хорошему вообще надо отдельную статью писать.
■ А что насчёт ресурспаков, то тут на вкус и цвет. Лично я не люблю когда абсолютно все текстуры в игре переделаны (особенно предметы) и вдвойне не люблю любые текстуры превышающие ванильные 16х16. Во-первых, это не красиво, во-вторых, все моды созданы с расчётом на игру с ванильными текстурами.
■ Чтобы добавить ресурспак, вам надо вернуться туда где вы добавляли моды и переключиться на Resource Packs.
Куда жмакать в профиле.
■ Вот так это выглядит:
Очень похоже на поиск модов! Раздел с ресурспаками. Осторожно, помимо ресурспаков тут могут быть и датапаки, которые нужно устанавливать вручную (инструкция написана внутри каждого датапака).
■ "Но что если я не хочу этот установочный цирк с модами/ресурспаками/датапаками/оптимизацией и прочим? Есть готовые варианты где нажал кнопочку и всё готово???"
■ Кратко: Да, это называется Модпак. Не забудьте выделить оперативную память вручную.
■ Модпаки это вариант для самых ленивых и неопытных. Ну или тех, кто хочет попробовать что-то более серьёзное, чем ванильная игра с рандомным набором модов без настройки. Для их установки вернитесь к списку всех ваших профилей и нажмите сюда (Browse):
Куда нажать чтобы увидеть готовые модпаки.
■ На выбор вам будет предоставлено бесчисленное множество всякого. На любую тему, на любой уровень сложности, на любой компьютер. Тут есть всё начиная от "идеально оптимизированных паков на картофельные компухтеры" до гигантов, которые переворачивают игру с ног на голову и превращают её из песочницы-выживания в другой жанр. Для олдов: на Curseforge вы можете найти модпаки от той самой команды FTB Team.
■ ОЧЕНЬ ВАЖНО: ЧИТАЙТЕ ОПИСАНИЕ МОДПАКА!!! Там может быть сказаны дополнительные пункты установки. Например, очень часто модпаки требуют выделить им больше оперативной памяти и делается это только вручную! Обычно просят 6-8 гигов, но некоторые могут запросить 16 гигов или попросить установить какой-то мод. НЕ используйте галочку Use System Memory Settings. Инструкция на картинке ниже:
Как выделить больше оперативной памяти в профиле Curseforge. Это действие нужно делать в КАЖДОМ профиле.
■ Если же вы хотите найти модпак, в котором есть какой-то конкретный мод, используйте сайт https://www.modpackindex.com. Частенько юзаю чтобы смотреть кто и куда добавлял мои моды :)
■ Мне не нравится X в моде Y. Это реально как-то поменять?
■ Кратко: Да, у многих модов есть конфиги, которые можно найти в папке config и serverconfig.
■ У меня уже лимит символов в Пикабу поджимает, так что сорян, тему не могу раскрыть подробнее. Рекомендую установить Notepad++ или использовать обычный блокнот для открытия этих файлов.
1/5
Карусель для поиска конфигов!
■ Какие моды устанавливать?
■ Кратко: Любые.
■ Серьёзно, вы можете ставить абсолютно любые моды какие пожелаете. Единственный совет. Нет. КАТЕГОРИЧЕСКУЮ РЕКОМЕНДАЦИЮ, которую я могу дать это установить Just Enough Items (JEI). Это САМЫЙ важный мод для игры, который позволяет "гуглить" рецепты не отвлекаясь на википедию. Существование этого мода одна из причин почему вы можете не увидеть рецепты в описании модов. Использование этого мода это что-то вроде обязательного условия в невидимом сертификате, который вы подписываете когда у вас хотя бы промелькнёт мысль поиграть с модами. Просто для понимания: у JEI 300 миллионов скачиваний. Это больше, чем у некоторых AAA игр.
Интерфейс JEI
■ На новых версиях стал набирать популярность REI (аналог JEI). У него есть больше функций, но и разобраться в нём сложнее. Лично я до сих пор больше предпочитаю JEI.
Интерфейс REI
■ Список полезных для оптимизации модов и багфиксов игры есть тут: https://github.com/TheUsefulLists/UsefulMods. Но помните что я говорила про оптимизацию ранее - не лезьте сюда, если не чувствуете себя уверенным пользователем.
■ Если вы когда-либо слышали что-то плохое о модах, созданных на MCreatorили имеете устаревшую неприязнь к ним, я вас удивлю: на Мкреаторе ОГРОМНОЕ количество офигенных модов. На старых версиях у этого инструмента действительно был крайне скверный функционал, который не имеет ничего общего с современными версиями программы.
■ Лично мои моды созданы ручным кодом только по той причине, что это очень глобальные и сложные моды, но для большинства писать подобный код не требуется. Мы с друзьями в какой-то момент скинулись деньгами и отправили разработчику Mcreator большой донат с благодарностями просто чтобы поддержать. Учитывая количество говна, которое на него льётся, я до сих пор удивлена что он не бросил этот проект и довёл его до такого высокого уровня. А если вы из гильдии "Я не видел ни одного хорошего мода на Mcreator" - Нео, проснись, Mcreator моды уже имеют гораздо больше скачиваний, чем многие ваши самописы и лагают меньше :)
■ А как же гордые пираты??? Вы нас не уважаете?!
■ Нет, мы вам сочувствуем. Вас, дорогие мои, ждут невероятные танцы с бубнами, т.к. для пиратов не создано никакой удобной инфраструктуры и вы прокляты страдать с самостоятельным переносом папок из лаунчера Curseforge в [вставьте название своего пиратского лаунчера] или использовать крайне ненадёжные источники модов, с которых, в лучшем случае, вы скачаете перезалитые устаревшие версии.
■ Но так уж и быть, в конце статьи для любителей есть кактусы будет отдельный пункт как адаптировать сказанное :
1.Установите загрузчик модов с официального сайта или из того же лаунчера, который вы используете. Forge, Fabric, Quit, Neoforge. Не важно какой. Обратите внимание на версию модлоадера, чтобы в Curseforge потом выбрать именно эту версию.
2. Сделайте всё как было сказано выше до пункта "нажать играть" (установите Curseforge, выберите модпак/сделайте свой и так далее).
3. Найдите локальные файлы своего пиратского Майнкрафта. Обычно это .minecraft и выглядит это как-то так (не обращайте внимания на лишний мусор в папке):
Моя засратая папка Майнкрафта, которую я не открывала мильон лет. Ваша должна быть намного чище!!!
4. Откройте локальные файлы вашего модпака в Curseforge.
Как открыть файлы модпака в Curseforge.
5. Скопируйте АБСОЛЮТНО ВСЁ из Curseforge в ваш .minecraft
!!!!Пират, помни, модпак это НЕ ТОЛЬКО папка mods!!!! Для всех кто скидывает только mods из крупных чужих модпаков в аду есть отдельный котёл!
6. Если вы не заруинили никакой из этапов, можете попробовать включать игру.
■ Что может пойти не так? Да абсолютно всё! Не установили фордж, пиратский лаунчер подсунул не ту версию игры/форджа или подсунул оптифайн (который не совместим с большинством модов), вы не установили java 17 Open JDK (для новых версий и некоторых модов), не обновили amd драйвера, не выделили оперативную память, не установили библиотеку рандомного мода, установили не ту версию библиотеки, не перенесли ВСЕ папки, не удалили предыдущий модпак и так далее. Причин может быть столько что хватит на отдельную статью такого же размера и нет не просите меня её написать.
1/2
Ожидание/реальность
■ А чего такая статья маленькая? Тема не раскрыта!
■ У меня уже ушёл целый день на написание этой горы текста, так что на добавку у меня сил уже не будет. Пока писала в голове появилось ещё несколько интересных тем для дальнейшего раскрытия, но это уже совсем другая история. Может вы вообще хуями меня обложите и я спешно ретируюсь на свой гитхаб и буду писать там. А то прерывать месячное обсуждение разводов/измен с проблемами в школе и жопа-сиськами каким-то там Майнкрафтом это чревато.
■ Оставлю себе на заметку пару идей:
- Как делать хорошие официальные модпаки. - Что такое оптимизация здорового человека. - Как сделать выделенный сервер без мам, пап, LAN и хостинга. - Настройка любых модов для самых умных. - Как писать багрепорты, чтобы разработчик пожал вам руку, а не послал за крашлогом.
1/4
Плюс в карму тому, кто узнал из какой игры эти зверюги.
■ Если ждёте от меня телеграмм канал то хрен вам с маслом! Ненавижу этот мессенджер и сижу только в кошерном дискорде. Но я вам его не тоже дам! Лучше java программиста мне найдите с которым я смогу крутой новый мод про грифонов сделать! :з Уверена на миллион процентов, что это будет потрясающий шедевр.
P.s. Да, всё что есть на этом видео сделано мной.
Написано: Black Aures (это я) Отредактировано/дополнено: Nocube
Доброго утречка, пикабушники! Ну, что, заждались? Сегодня у нас на повестке дня кое что из восстановленного, а на сладкое покажем новую систему! Так что наберитесь терпения, не пролистывайте просто так, отдайте должное проделанной работе и спешите под кат!
Начнем с того, что Silent Storm Sentinels делался NIval'ом в огромной спешке, а у разработчиков были вполне себе грандиозные задумки. Тут и там торчат нити в спешке отпоротых механик, от некоторых же(вроде как огня на подавление) остались одни лишь упоминания и потому восстановлению не подлежат.
Вырезались из игры и некоторые анимации, которые в полной мере вернутся в игру. Да что я вам рассказываю? Вон, все на роликах внизу очевидно!
Начнем с того, что в игру была возвращена оригинальная анимация для пистолетов. Причин тому несколько, одна из которых будет указана ниже.
Итак, все анимации стрейфа (сохранение взгляда при перемещении) для ПП, винтовок и пистолетов заменены на аналогичные типа "спецназ", которые просто лежали в ресурсах игры без дела. Из-за недоработок в системе игры они практически никогда не воспроизводились, и то их чаще всего можно было встретить в S2, в Часовых гораздо реже, и это при том, что активировались они лишь при определенных условиях.
Теперь же достаточно просто включить "стрейф" (нажав кнопку рядом с "Маскировкой"), и персонаж начнет перемещаться не только осторожно, но и эффектно.
Пара примеров:
Также следует добавить, что анимации ножа (стоя) заменены на анимации разведчика Оси для всех классов. Они просто лучше.
Ну и наконец перейдем к самым многочисленным правкам/добавлениям анимации.
Подавляющая часть анимаций бездействия (когда персонаж стоит или сидит с оружием в руках, а затем куда-нибудь посмотрит или поправит одежду и т.д.) не проигрывалась в игре вообще, при этом часть других срабатывала не так, как было задумано.
Всего отключенных анимаций в игре оказалось... около 100 штук. И теперь они включены и прекрасно работают, внося разнообразие в боевую обстановку и заметно оживляя картинку.
Также добавлены те анимации, которые использовались только в катсценах, но по смыслу подходят и тогда, когда персонаж просто бездействует.
Всего изменения и добавления коснулись 110 таких анимаций. Да, пришлось заниматься этим практически вручную, но, пожалуй, результат того стоит.
Вот лишь некоторые из них.
Бездействие без оружия:
Бездействие с ножом лежа (женская)
Бездействие с пистолетом (женская)
Бездействие с гранатометом или лучевой установкой (разные)
Бездействие с пистолетом-пулеметом (женская)
Загружать их все смысла не видим, но общий принцип понятен. Отныне наши бойцы - не безликие стоячие болванчики, а показывают признаки жизни.
P.S.: Также, для статистики, выкладываю список добавленных анимаций, отсортированных по их типам.
Мужские:
Голые руки (5 стоя, 2 сидя, 3 лежа)
ПП (2 стоя, 2 сидя, 2 лежа)
Винтовка (1 стоя, 1 сидя)
Пулемет (3 стоя, 2 сидя, 1 лежа)
Пистолет (2 стоя, 1 сидя, 2 лежа)
Гранатомет (2 стоя, 2 сидя, 2 лежа)
Крупное оружие ближнего боя (1 стоя, 3 сидя, 3 лежа)
Нож (3 стоя, 3 сидя, 1 лежа)
Предмет/граната (2 стоя, 2 сидя, 2 лежа)
Женские:
Голые руки (5 стоя, 2 сидя, 2 лежа)
ПП (3 стоя, 3 сидя, 3 лежа)
Винтовка (2 стоя, 3 сидя)
Пулемет (4 стоя, 2 сидя, 3 лежа)
Пистолет (1 стоя, 1 сидя, 2 лежа)
Гранатомет (3 стоя, 2 лежа)
Крупное оружие ближнего боя (2 стоя, 2 сидя, 1 лежа)
Нож (2 стоя, 3 сидя, 3 лежа)
Предмет/граната (2 стоя, 1 сидя, 1 лежа)
Но это все мелочи: в конце концов, вернувшиеся анимации, конечно, хорошо, но ведь не ради же них делается модификация, правильно? Кто сказал, быстро рассказывай про обещанную механику? Погодите, она на Новый го... то есть на сладкое. А пока поговорим о...
Инженерное оборудование
Жизнь инженеров (и других классов тоже) заметно улучшится.
Во-первых, инструменты для ремонта оружия стали несколько доступнее и эффективнее, причем в описании появилась ранее скрытая информация.
Был добавлен специальный комплект, позволяющий повысить качество ремонта в разы. В руках опытного инженера он позволит ремонтировать оружие почти на "магазинном" уровне.
Во-вторых, в игре стало возможным проводить взрывные работы. Возможность станет доступна в заранее "подготовленных" для этого местах и позволит получать доступ к заблокированным участкам на карте.
В игру введены детонирующие шнуры, которые будут нужны для такой процедуры. Они лежали в ресурсах без дела еще со времен S2, но теперь у них появилась вполне определенная роль в игре.
Также в описании взрывчатки появится информация о силе взрыва (для подрывных работ) и пробивной силе (меняется динамически в зависимости от навыка инженерии)
Персонажи их внешний вид
Медленно но верно продвигается работа по улучшению внешнего вида персонажей. Большое внимание уделяется внешности главного героя (или героини), и на многих скриншотах в этой записи можно увидеть предварительный (а где-то даже финальный) результат.
Вот, например, некоторые из новых лиц главного героя.
А вот так теперь выглядит Тень. Она носит форму куноити, выполненную в цветах "Молота Тора". Кроме того, о прошлом Тени станет известно чуть больше.
А вы только взгляните, как похорошели наши девчонки!
Предметы и их применение
В игре теперь можно будет найти вот такие кожаные сумки. Их содержимое может быть разным: от важного документа до пары гранат. Впрочем, только этим дело не ограничится.
В игре уже были драгоценности, но теперь их станет несколько больше. Например, количество колец с драгоценными камнями увеличилось значительно.
Данное нововведение требовалось для расширения предметов, идущих на продажу. Как мы уже говорили ранее - размер предметов для инвентаря пересмотрен - но дабы не ломать экономическую составляющую, будут введено больше мелких ценных предметов на продажу.
Как известно, в S2 иногда встречались ключи, которыми можно было открывать некоторые двери. Например, в последней миссии самой первой игры, чтобы предотвратить запуск ракеты, приходилось использовать спецключ. Теперь же ключей станет больше, и они могут быть использованы для отпирания дверей, запертых ящиков и не только. Вот лишь некоторые из них.
Небоевых предметов станет больше, но этим дело не ограничится. Могут встретиться даже вещицы, пригодные и в бою, и вне боя.
Это, что ли, и есть те самые используемые предметы, о которых столько разговоров?
Нет. Теперь переходим к одной из главных новинок мода, а именно...
ИСПОЛЬЗУЕМЫЕ ПРЕДМЕТЫ
Много слов было сказано(во время разработки мода) на тему "Почему в Часовых нельзя создать используемые предметы как в СиМ", и все же раскладные стационарные пулеметы теперь есть в игре – Виккерс и ДШК. Они были ранее упомянуты в блоге.
Да, действительно, создать предметы как в СиМ, чтобы их можно было бы использовать "со всеми удобствами", нельзя. Но обходные пути всё-таки нашлись.
Во-первых, теперь комплекты стационарного оружия стали удобнее в использовании, ведь сменился их механизм активации. В теории были возможные случаи ложного срабатывания, это могло изредка портить общее впечатление от этого нововведения, но теперь их число практически сведено к нулю.
Чтобы активировать такой комплект, достаточно просто взять комплект в руки, а затем открыть и закрыть окно инвентаря. Это можно сделать двойным нажатием быстрой клавиши.
Во-вторых, теперь появилась возможность добавлять и другие используемые предметы, несмотря на наличие серьезных технических ограничений.
В игру добавлены новые интересные предметы и возможности, которые могут помочь игроку или иным образом повлиять на игровой процесс.
Вот лишь некоторые примеры.
Встречаться они будут не слишком часто, но каждая такая находка, пожалуй, многим придется по душе.
Да, их можно будет использовать.
Например, сигареты заблокируют 1 паническую атаку в бою: вместо того, чтобы впасть в панику, персонаж продолжить действовать как ни в чем не бывало.
С другой стороны, определенная польза компенсируется тем, что у игрока заметно падает максимум VP, причем эффект накапливается. Да и покурить можно будет только в режиме реального времени, что обычно получается сделать в новой версии лишь перед боем.
Но в игре не как в жизни, поэтому вредный эффект курения несложно "вылечить". Достаточно лишь посетить базу, где за символическую сумму можно восстановить утраченные VP, например, в режиме тренировки (игра даже делает в этом случае огромную скидку.)
Выпивка может лечить небольшие критикалы, придать бодрость, в том числе повысив AP, но это чревато опьянением и приобретением алкоголизма. Боец будет чаще мазать, так как снизится точность, и тут на помощь придет лишь дипломированный врач. Благо такой есть на нашей базе.
Правда, не все бойцы такие хрупкие. Есть вояки с огромным опытом в этом деле.
Такие предметы уже внедряются в игру, и их можно найти как при исследовании карты, так и при осмотре содержимого карманов врагов.
Выше уже показывались сумки, а вот и видео их работы подоспело.
Такие можно найти на некоторых картах, и в них всегда лежит что-нибудь интересное.
В отличие от предметов выше, их не нужно брать в руки. Они откроются автоматически, и их содержимое будет добавлено в ваш рюкзак.
Ну вот на этом сегодняшний блог и закончим, учитывая что лимит медиа исчерпан. Всем спасибо за внимание :) Встретимся в следующую пятницу - пришло время рассказать немного о новом и старом оружии - тут есть что показать!
Отвал флэш-памяти типа eMMC - весьма частая болячка смартфонов и планшетов, которая массово преследует современные девайсы на протяжении вот уже более 10 лет. Симптомы проблемы знакомы многим читателям: смартфон виснет на заставке, системные приложения регулярно вылетают, или настройки системы внезапно перестают сохраняться. Сам процесс замены флэш-памяти требует навыков перекатки и пайки BGA-чипов, оборудования (трафареты для реболла, программатор с колодками, опционально подогрев) и понимания того, как работает загрузчик той или иной аппаратной платформы, поэтому в СЦ за эту процедуру могут взять достаточно большую сумму. На некоторых девайсах менять память уже совсем невыгодно, особенно когда другой такой-же аппарат стоит полторы тысячи рублей на барахолке, но воспоминания о любимом девайсе порой гораздо дороже, чем сумма за ремонт смартфона. Год назад я уже писал материал о загрузке Android с MicroSD при условии того, что eMMC ещё подает хоть какие-то признаки жизни, а сегодня я вам расскажу о способе загрузить систему с флэшки уже после того, как чип флэш-памяти отказал и ушёл в read-only. Сегодня мы с вами: узнаем о том, какие типы флэш-памяти существуют и причины их отказа, разметим MicroSD-флэшку и запишем на неё образ системы, пропатчим пути монтирования в boot.img, а также узнаем, как теперь запускать наш смартфон и посмотрим, сможет ли он работать достаточно шустро с MicroSD флэшки! Интересно узнать, как вернуть жизнь таким легендам, как Google Nexus? Тогда добро пожаловать под кат!
❯ Почему отказывает флэш-память?
Как я уже говорил в вводном абзаце, проблема внезапно отваливающейся флэш-памяти существует вот уже более 10 лет. Ещё с выходом iPhone 3Gs/4, мастера познакомились с такой болячкой, как внезапное падение устройства в режим DFU и отказ прошиваться через iTunes. Ближе к выходу Galaxy S III, HTC Desire и Wildfire, LG Nexus возникла потребность в программаторах, поскольку чипы eMMC в этих смартфонах очень часто помирали «сами по себе» из-за косяков производителя флэш-памяти. Более опытная часть моих пользователей может вспомнить такие проблемы, как отказ входа в HSPL (загрузчик HTC), бесконечная загрузка с отказом прошиваться в режиме Odin на самсунгах, падение смартфонов на базе чипсетов Qualcomm в режим 9008 (QHSUSB_BULK), а также внезапное прекращение работоспособности девайса даже при наличии адекватного потребления и реакции на кнопку включения.
В относительно современных смартфонах используется два типа чипов флэш-памяти с разными протоколами: NAND и eMMC (в современных чаще используется UFS — наследник eMMC с дифференциальным протоколом, вместо MMC). Устройства конца 2000х годов чаще использовали флэш-память типа NAND с Legacy-протоколом, который требовал ручного управления SPARE-страницами и расчета кода коррекции ошибок (ECC), чем занималось отдельное периферийное ядро в процессоре, называемое NAND-контроллером. Момент, когда нужно «приговорить» флэш-память и перевести её в режим read-only решал не сам контроллер, а драйвер NAND в прошивке устройства — и обычно он был весьма лоялен даже к «сыпящейся» памяти. Кроме того, NAND-контроллер позволял практически напрямую взаимодействовать с чипом флэш-памяти, благодаря чему в загрузчиках типа U-boot есть команда для очистки таблицы Bad-блоков и низкоуровневого форматирования флэш-памяти, дабы в дальнейшем контроллер попробовал пересчитать бэды и, потенциально, вернул некоторое число блоков обратно в строй. Такой тип «флэшек» помирал значительно реже, в основном из-за того, что софт (на моём опыте) практически никогда не уводил флэшку в read-only, «добивая» её до последнего. Из минусов такого подхода — если флэш помирала совсем, то данные из нее можно было достать только с помощью программатора, да и то не факт.
В моей довольно большой коллекции нет ни одного смартфона с Legacy NAND, где флэш бы действительно «приехала», хотя на форумах мастеров иногда встречаются старые сообщения о замене флэши на телефонах Nokia.
Второй тип памяти появился примерно в начале 2010х годов и имя ему — eMMC. Фактически, eMMC — это адаптация интерфейса MMC для использования в виде обычных чипов памяти, а не карточек, совместимая с спецификацией ~SDHC. Если выпаять чип с телефона и припаять сигнальные линии к обычному SD-кардридеру на ПК — он будет работать и определяться как полноценный диск! Таким образом, на некоторых смартфонах можно заменить eMMC на MicroSD напрямую припаяв флэшку на место чипа к соответствующим сигнальным линиям. Однако работать такое будет только если у вашего смартфона «бутербродная» компоновка, где ОЗУ припаяна поверх процессора (MTK и Spreadtrum в пролете). В eMMC используется память типа NAND, которой управляет не чипсет, а встроенный в сам чип памяти контроллер, работающий с протоколом MMC и имеющий собственную прошивку и карту бэд-блоков. Такая флэш-память может самостоятельно уходить в режим read-only когда это посчитает нужным контроллер, зачастую не давая смартфону загрузится, но при этом потенциально сохраняет данные пользователя и позволяет их прочитать дома (сделав дамп памяти устройства и смонтировав раздел userdata в Linux). Однако всё равно иногда данные теряются безвозвратно. Нюанс в том, что состояние eMMC определяет сам контроллер в чипе — поэтому «оживить» его дома и вывести из read-only невозможно. Однако я слышал, что на некоторых «бракованных» чипах памяти (в основном Samsung 2012-2013 годов), которые ушли в read-only слишком рано, можно подпаяться к тест-поинтам программатором и прошить чуть более свежую прошивку с другой ревизии этого же чипа памяти. Флэшка, бывало, оживала.
В некоторых случаях, eMMC были бракованными с завода и помирали сами по себе (!) через короткое время (около года) после покупки устройства. Я знаю как минимум два примера массового брака флэш-памяти: смартфоны HTC 2011-2012 годов, которые время от времени страдали от валящихся чипов Hynix (это касается не всех устройств, многие дожили), хотя я лично видел не так много HTC'шек с дохлой памятью, так что здесь читатели-сервисники с опытом работы в те годы могут только подтвердить или опровергнуть мои слова. А вот подтвержденный пример — смартфоны и планшеты Samsung 2012-2014 годов. Galaxy S3 с артефактами на дисплее при включении, S4 Mini в 9008 или повисшие на заставке, S4 с теми же симптомами, S4 Zoom, которые практически все померли «сами по себе» после обновления до 4.4 KitKat, N8000… Добавьте к этому слабые NC-пятаки, которые срывает при попытке снять чип феном, близко расположенный «бутербродный» процессор, который легко «убить», если орудовать феном, компаунд… и по итогу многие мастера просто спиливали чип дремелем. А что ещё делать!?
По итогу, нам остаётся искать софтварные способы загрузить систему с внешней MicroSD флэшки. И я нашел два таких способа! Первый — предварительно подготовить образ boot.img и прошить его в смартфон вместо recovery, дабы если память ушла в read-only, мы могли просто «дуалбутнутся» во второй образ с пропатченными точками монтирования системных разделов на MicroSD. А о втором, к сожалению, знают лишь единицы, хотя это просто замечательный способ, который позволяет загрузить систему уже «пост-фактум» после ухода флэшки в read-only и требует некоторых манипуляций с fastboot! Давайте же рассмотрим его подробнее.
Нашим подопытным будет рабочий смартфон Alcatel OT-5020D 2013 года выпуска, который пока не подает признаков помирающей eMMC: к сожалению, смартфонов с полудохлой памятью и разлоченным бутом у меня не оказалось, дохлые флэшки я иногда меняю и сам :) Но тем не менее, грузиться мы в любом случае будем с флэшки и вы сможете повторить все шаги в статье, дабы загрузить систему с MicroSD самому!
❯ Подготавливаем систему
Друзья! Для следующих действий, вам понадобится разблокированный загрузчик или устройство, на котором с завода загрузчик не заблокирован. Главный критерий — наличие режима fastboot.
Какие устройства не подойдут: многие смартфоны на базе чипов Spreadtrum, а также часть смартфонов Samsung на Exynos. Ни те, ни другие частенько не имеют режима fastboot от слова совсем. У Samsung есть режим загрузки с MicroSD (т. н. T-Flash Mode), но ядро он не грузит.
Какие устройства подойдут, но требуется подготовка: все смартфоны от Sony (исключение — Xperia Tipo, забагованный fastboot), Google Nexus (некоторые модели страдали из-за отвалов флэши), современные китайские новодельные noname-смартфоны (с вот таким патчем), Xiaomi, Meizu. Чипсеты: MediaTek 67xx/Qualcomm Snapdragon, возможно Kirin. Таким устройствам требуется предварительная разблокировка загрузчика.
Какие устройства подойдут даже при условии уже мертвой флэш-памяти: большинство девайсов на базе чипсетов MediaTek прошлого десятилетия, особенно бюджетных: MT6572, MT6582, MT6592, MT6580, MT6570, MT6575, MT83xx, некоторые Spreadtrum. Это касается Fly, Explay, ZTE и многих других ультрабюджетных смартфонов тех лет. Загрузчик там разблокирован с завода, никакого секьюрбута и верификации загружаемых образов нет. Но не везде можно загрузится в fastboot напрямую (попробуйте громкость вверх и громкость вниз при включении — если сразу грузится в рекавери, то нужно до отказа eMMC включить ADB, если показывает менюшку fastboot, recovery, normal boot — значит все ок).
Не подойдут: MT6573, MT6571 — там U-Boot (но его тоже можно попробовать заставить грузиться с SD).
Список устройств для потенциальной возможности загрузки с SD весьма большой! Как понять, что eMMC «всё»?
Смартфон не реагирует на зарядку и кнопку включения при заряженной АКБ: это не 100% показатель, но если поднимаются питальники с КП и потребление от кнопки есть ~0.1-0.3А — значит процессор вероятно пытается стартовать. Но не откуда. В таком случае, девайс поднять не получится — доступа к fastboot нет, флэшка полностью посыпалась. Исключение — некоторые Qualcomm'ы при наличии прожженного фьюза с завода, разрешающего загрузку с MicroSD могут стартовать ядро, но всё зависит от конфигурации aboot.
Смартфон загружается и сразу вылетают приложения, настройки не сохраняются: явный показатель того, что флэша ушла в read-only потенциально не повредив данные. Если смартфон грузится в fastboot — его ещё можно оживить, но не факт что получится вытащить данные (из-за шифрования). Если после сброса до заводских настроек эффект остается тот-же — eMMC приехала 100%.
Смартфон висит на заставке, сброс и прошивка не помогает: тоже явная причина: eMMC в read-only. В таком случае, не рекомендуется еще раз шить смартфон в надежде что все заработает, есть шанс что флэша посыпеться окончательно и вы потеряете доступ к fastboot.
Весьма всё просто, согласитесь? Как я уже сказал выше, на некоторых устройствах нужно сначала разблокировать загрузчик. Кое-где это, вероятно, получится сделать и при том что флэша ушла в read-only. Например, на устройствах Sony можно без проблем зайти в fastboot и разлочить устройство с помощью кода, полученного на сайте Sony (используйте VPN, если вы в РФ):
Как зайти в fastboot — вам придётся погуглить для конкретно своего устройства. Не нашли? Поищите как это делается на других смартфонах, которые работают на том же чипсете. Почти всегда можно зайти, если у вас включена отладка по USB с помощью команды:
adb reboot bootloader
Краткая справка: на устройствах Sony, в Fastboot можно зайти подключив устройство к ПК с зажатой громкостью вниз, на MTK громкость вверх или вниз, на HTC в HSPL, на Nexus'ах в фирменном загрузчике сразу режим Fastboot, на устройствах Tegra — включение с зажатой громкостью вверх, на смартфонах с чипсетом Intel есть fastboot, насколько помню зайти в него можно с помощью громкости вниз.
Команда для разблокировки загрузчика почти везде одна:
fastboot oem unlock
Вас могут запросить код разлочки или просто предупредить о последствиях такого действия. Как узнать, что бут разлочен?
fastboot getvar all
secure, locking и т. п. — отвечают за статус разлочки. Но даже если таких переменных нет, это не всегда значит, что загрузчик заблокирован. Возможно он разблокирован с завода :)
Теперь нам нужен образ раздела boot — boot.img. Его можно найти в файлах родной прошивки устройства, или, иногда, в zip-файлах кастомов. boot.img содержит в себе ядро Linux и небольшой раздел с файловой системой initrd (рамдиск), которая загружается в оперативную память и содержит в себе программы init, adbd, recovery, а также скрипты инициализации, которые управляют загрузкой Android и процессом зарядки (показывают анимацию, когда вы подключаете устройство выключенным к ЗУ. Да, в таком случае Linux тоже грузится!). Если у вас есть доступ к fastboot, то попробуйте запустить его с помощью команды:
fastboot boot boot.img
Работать она будет не везде, на MTK её поддержка отключена в загрузчиках некоторых устройств. Если вы увидели на экране устройства USB Transferring — половину дела сделана! Если устройство показало лого и анимацию загрузки или ушло в ребут — потенциально, вы сможете загрузить Android с MicroSD. Если ошибка secure-boot — нужно сначала разблокировать загрузчик. Если unknown command — команда не поддерживается :(
Теперь у нас есть возможность загрузить ядро и пропатчить скрипты конфигурации, дабы изменить точки монтирования раздела /system/, /data/ и /cache/ на MicroSD-флэшку, вместо встроенной памяти.
❯ Записываем систему на MicroSD
Обратите внимание: Android очень интенсивно использует ресурс флэшки и постоянно перезаписывает сектора памяти, поэтому не поскупитесь купить нормальную MicroSD флэшку от, например, Transcend, Kingston или Samsung. Дешевые MicroSD флэшки очень-очень быстро (вероятно, за пару дней — это не шутка) выйдут из строя и придется делать всё заново!
Сначала, нам придется разбить флэшку на три раздела: /system/, /cache/, и /data/. Раздел system будет первым, cache — вторым, data — третьим. При этом раздел /sdcard/ не нужен — он автоматически маппится в /data/media/ на современных версиях Android. Сделать это можно как с ПК с помощью MicroSD-адаптера и fdisk/diskpart/gparted, так и с самого смартфона с помощью того же fdisk в busybox. Я решил это сделать с помощью другого вспомогательного смартфона с TWRP, где изначально был root-доступ через adb! Размеры выбирайте следующие: для системного диска чуть больше или по размерам с system.img (раздел read-only и не «растет» со временем), cache — 100-200Мб, userdata — всё оставшееся место на флэшке.
Разметили MicroSD? Теперь нам нужно записать на неё образ системы. Тут три пути: если у вас есть Linux-машина, то можете подмонтировать образ system.img из оригинальной прошивки и скопировать все файлы с сохранением прав, закинуть system.img в внутреннюю память другого смартфона с root-доступом и проделать все тоже самое, либо записать с помощью dd образ system.img напрямую в нужный нам раздел флэш-памяти. Я выбрал третий способ:
dd if=/sdcard/system.img of=/dev/mmcblk1p1
Разделы cache и userdata можно просто форматировать в ext4:
Готово! Необходимые для базовой работы разделы перенесены на MicroSD. Теперь, когда, у нас есть образ системы, нам нужно распаковать родной boot.img устройства и поменять точки монтирования. Я использую кухню MTKImgTools. Идём в Boot -> Unpack -> boot.img. В Unpack/boot/ появятся файлы нашего раздела boot:
Открываем файл init.rc (в случае MediaTek). Ищем строки с монтированием разделов вида emmc@system, emmc@cache, emmc@userdata и меняем их на /dev/block/mmcblk1p1, /dev/block/mmcblk1p2 и /dev/mmcblk1p3. На некоторых чипсетах, править нужно сразу fstab, или init.<чипсет>.rc:
Готово! Собираем образ обратно с помощью Boot -> Pack -> boot.img и получаем образ, который нам и надо будет загрузить с помощью fastboot. Копируем boot.img в папку с adb и пробуем загрузить систему. Это будет основная команда для старта загрузки смартфона в будущем:
fastboot boot boot.img
Увидели бутанимацию? Значит система пошла загружаться, нужно лишь подождать первой загрузки 5-10 минут! Система висит на лого или уходит в ребут? Значит, возможно, вы неверно прописали точки монтирования, записали образ system или форматировали раздел userdata. Если система 4.4 и ниже, то можно изменить default.prop, заменив ro.secure на 0 и debuggable на 1. Если вы на Android 5+ — то заменить adbd (не требующий ключи авторизации) в /system/bin на вариант из TWRP и посмотреть logcat и dmesg. Монтируется ли /system/? Загружается ли app_process? На каком этапе стопорится? Всё это пригодится при дальнейшей отладке!
Например, такая ошибка при запуске adb shell означает то, что раздел /system/ не монтирован.
Ну а на моем девайсе система уже загрузилась и работает. Но насколько шустро? В комментариях читатели часто говорили, что из-за скорости MicroSD система будет не юзабельной. Насколько это правда? Давайте посмотрим!
Вывод mount:
Как мы и видим, /system/, /data/ и /cache/ на MicroSD. custpack и mobile_info, а также nvram трогать не нужно — если в родной флэше они не повреждены, то у девайса без проблем будет работать и сеть, и Wi-Fi.
❯ Можно ли пользоваться?
Наш девайс работает на базе Android 4.2 — казалось бы, совсем старенький дроид, но тем не менее ещё кое-что, да может. Alcatel OT — это бюджетный девайс из 2013 года, но работает он, на удивление, весьма шустро и приятно!
Начинаем с самых необходимых приложений — звонилка, контакты и галерея. Все эти приложения стартуют практически моментально, лишь иногда с небольшими лагами. Однако если поставить в браузере что-то скачиваться на фоне — конечно-же, система начнет лагать.
Как насчет браузера? Ставить последний хром, поддерживающий 4.2 смысла нет — уже и он открывает далеко не все сайты. Но те сайты, что пока ещё открывает стандартный браузер почитать ещё можно: например, opennet. На смартфонах с более свежим Android, браузер будет работать относительно адекватно. Зато с соц. сетями проблем особых нет. Telegram, конечно, может конкретно подвесить смартфон в процессе подгрузки картинок с каналов, но потом все будет нормально. Решение одно: отключить автоматическое кэширование картинок и видео!
С записью видео ситуация сложная. Даже в профессиональных камерах для 1080p рекомендуются карточки не ниже 10-класса (10Мб/с) и UHS-класса для 2+K видео. На нексусе, это скорее всего превратит девайс в лагодром даже при записе 720p видео: система в фоне так или иначе регулярно читает и записывает данные и рано или поздно мы упираемся в дисковой кэш.
Об играх с динамическим стримингом ресурсов можно забыть, если флэшка достаточно медленная — будут лаги.
А в динамике это всё выглядит так:
Достаточно шустро, для смартфона 2013 года за 4 тыщи рублей?
❯ Заключение
Сегодня мы с вами узнали, каким же образом можно перенести систему на MicroSD! Да, сработает далеко не на всех девайсах, однако сам способ может помочь поднять сотни устройств обратно в строй и сделать их полезными! Это всяко лучше, чем распаивать потенциально рабочие девайсы на «доноров» или, тем-более, отправлять их на мусорку или в чермет. С современными версиями Android ситуация сложнее: и не только из-за большего числа необходимых для загрузки разделов, но и из-за возросших требований к скорости флэш-памяти (упомянутые выше UFS работают на скорости ~500Мб/с), а также, внезапно, стремительно исчезающего слота для MicroSD :(
Надеюсь, материал вам был полезен! Сегодняшняя статья подготавливалась специально в «классическом», более коротком стиле с максимумом конкретики. Если вам больше нравится такой формат, нежели подробный на 15-20+ минут на чтения — напишите в комментариях!
Кстати, если у кого-то из читателей есть ненужные устройства (в том числе с косяками) или дешевые китайские подделки на айфоны/айпады/макбуки и другие брендовые девайсы будучи нерабочими, тормозящими, или окирпиченными и вам не хотелось бы выкидывать их на свалку, а наоборот, отдать их в хорошие руки и увидеть про них статью — пишите мне в Telegram или в комментах! Готов в том числе и купить их. Особенно ищу донора дисплея на китайскую реплику iPhone 11 Pro Max: мой ударник, контроллер дисплея калится и изображения нет :(
А ещё у меня есть Telegram-канал, куда я публикую различные заметки по ремонту, программированию и моддингу девайсов, свои мысли и вовремя публикую ссылки на новый материал!
Полезный материал?
Статья подготовлена при поддержке TimeWeb.Cloud. Подписывайтесь на меня и @Timeweb.Cloud, чтобы не пропускать новые статьи каждую неделю!