Dota2 Minify
Если хочешь настроить Доту дальше, чем позволяет каталог скинов, поставь ещё и Minify. Это инструмент другого рода и другого автора, он делает то, чего не делает это приложение, и обе программы живут в одной папке игры без драки.
Проверено
Minify не мой. Его пишет и поддерживает Egezenn, я над ним никогда не работал, и проекты друг с другом никак не связаны. Страница есть потому, что многие пользуются обоими, и потому, что всё написанное ниже можно проверить в его собственном репозитории.
Что это
Dota2 Minify сам себя описывает как «Dota2 Mod Patcher & Toolkit for everyone to use mods easily» - патчер и набор инструментов, чтобы модами было просто пользоваться. Открытый код под GPL-3.0, написан на Python с интерфейсом на DearPyGui и собственной командной строкой, собирается под Windows и Linux, есть пакет в AUR и частичная поддержка macOS из исходников. Сборки под Windows подписаны через SignPath Foundation, интерфейс переводят добровольцы на Weblate.
Это приложение скачивает готовые файлы модов и кладёт их в папку игры. Minify моды собирает у тебя на машине: достаёт нужные ресурсы из архивов самой Доты, декомпилирует их через Source 2 Viewer, правит (regex-проходы идут через ripgrep), компилирует обратно валвовским компилятором и пакует в VPK. Поэтому патч идёт не мгновенно, а части его модов нужны Dota 2 Workshop Tools, которые ставятся из Steam.
Что он умеет менять
31 мод, который в нём есть, названия как у него, сгруппированы по назначению.
Производительность
Misc Optimization, Minify Base Attacks, Minify Spells & Items, Remove Foilage, Remove River, Remove Weather Effects, Remove Hero Renders, Remove Showcases, Remove Sprays, Tree Mod, Dark Terrain.
Звук
Mute Ambient Sounds, Mute Default Announcer, Mute Default Kill Spree Sounds, Mute Taunt Sounds, Mute Voice Line Sounds, Revert Ping Sounds, Remove Pings.
Интерфейс
Transparent HUD, Reposition & Rescale HUD, Repopulate Unit Query HUD, Revamp Hero Grid Layout, Custom Hero Grids, Custom Fonts, Custom Backgrounds, Remove Main Menu Background, User Styles.
Прямо в игре
Auto Accept Match, Show NetWorth, Stat Site Buttons, OpenDotaGuides Guides.
Писал их не один человек. Многие сделал сам Egezenn; robbyz512 - большую часть про производительность и звук, MeGaNeKoS - принятие матча и нетворс, а Transparent HUD пришёл от ZerdacK из Dota Modding Community. Полная таблица с каждым автором лежит в его readme.
Комьюнити-репозиторий
Minify умеет подключать репозитории модов помимо своего. Тот, что идёт с ним, - dota2-minify-community, в нём четыре готовых сборки и четыре отдельных мода:
- # Optimizations - все оптимизации Minify одной сборкой.
- # Shut It - выключает раздражающие звуки и не только их.
- # Flavor - улучшения интерфейса и сторонние интеграции. Части нужны Workshop Tools.
- # Old Timer - для тех, кто хочет обратно старые версии некоторых вещей.
- As-Is FoW от Egezenn - туман войны без дрожания и с резкими краями.
- Default Skins от Lupin - возвращает всем скинам их стандартный вид, можно взять по частям: только партиклы, только скины, только курьеров или только варды.
- Simple Dark Terrain от Robby - тёмный ландшафт в сетку.
- Settings Copier от prosto saneyk - переносит хоткеи, видео, звук и гайды между аккаунтами Steam и умеет делать это на лету при смене аккаунта.
Второй репозиторий в его списке - D2PFX, тот самый каталог, из которого ставит это приложение. Его читают обе программы.
Зачем держать обе
Они почти не пересекаются. Это приложение ставит готовую косметику из открытого каталога: сеты героев, ландшафты, курьеров, варды, эффекты, аннонсеров, курсоры. Minify пересобирает куски самой игры: срезает листву и погоду ради кадров, глушит целые категории звуков, двигает HUD, добавляет гайды и кнопки статистики туда, где игра их не даёт. Каталог скинов второго не умеет, а за сетами героев в патчер не ходят.
Поэтому честный ответ на «что выбрать» часто такой: не выбирать. Каталог взять отсюда, изменения игры - оттуда.
Как они уживаются
Это приложение работает с установленным Minify. Не «должно работать» - оно под это сделано, и всё перечисленное лежит в коде:
- Одна папка, моды обеих программ. Дота монтирует ровно одну языковую папку. Minify выбирает свою и направляет туда Steam; это приложение читает, какую папку игра смонтирует на самом деле, и ставит моды в неё. Уже установленные переезжают сами при следующем запуске.
- Его слоты не занимаются. pak65, pak66 и pak67 здесь не раздаются никогда, есть Minify на машине или нет, - чтобы у того, кто поставит его через месяц, не пропал мод.
- Его файлы не трогаются. Общий выключатель модов их обходит, а проверка чужих файлов не предлагает их ни забрать, ни удалить. Узнаются они по метаданным, которые Minify кладёт внутрь того, что собирает: это та же проверка, что он делает сам.
- Про архив карт спрашивают. Дота читает один
maps/dota.vpk, поэтому ландшафт любой из программ - это один и тот же файл. Приложение смотрит, чей файл лежит сейчас, и спрашивает, прежде чем заменить. - Оно говорит, что видит. Если Minify настроен гонять патч перед стартом игры или параметры запуска указывают не туда, «Мои моды» скажут об этом словами, а не оставят тебя с игрой, которая ничего не делает.
В обратную сторону тоже. Приложение оставляет в языковой папке dota2modmanager.json со списком того, что поставило, а Minify с версии v1.14rc7 проверяет принадлежность файла, прежде чем чистить папку карт при удалении, - поэтому поставленный здесь ландшафт это переживает.
Где взять
- Сайт и загрузки: egezenn.github.io/dota2-minify
- Вики, в том числе о том, как написать для него мод: вики
- Исходники: GitHub, зеркало на Codeberg
- Поддержка и комьюнити: Discord, Telegram
Вопросы
- Ты делаешь Minify или получаешь деньги за то, что отправляешь к нему людей?
- Ни то, ни другое. Это проект Egezenn, я к нему не причастен, деньги не ходят ни в одну сторону, и это приложение тоже бесплатное. Мы с ним договорились не мешать друг другу - вот и все отношения.
- Что ставить первым?
- Что угодно. Если Minify уже стоит, приложение найдёт выбранную им папку и присоединится. Поставишь Minify потом - нужные ему слоты никто не занял.
- Обе сразу не сломают игру?
- Два мода, меняющие один и тот же файл, по-прежнему не могут примениться вместе - ровно как два мода из одного каталога. Это конфликт модов, а не программ, и приложение показывает такие конфликты на экране. Как работает порядок загрузки.
- Minify тоже умеет ставить моды из каталога?
- Да, D2PFX есть в списке его репозиториев. Это приложение добавляет к каталогу просмотр с превью, установку в один клик, порядок загрузки, пресеты и подхват уже лежащих у тебя файлов.
- Ему нужны Workshop Tools. Так и должно быть?
- Части его модов - да: они компилируют ресурсы игры, а компилятор приезжает вместе с Dota 2 Workshop Tools из Steam. Модам отсюда они не нужны никогда, потому что приезжают уже собранными.