Skip to content

Egezenn/dota2-minify

Repository files navigation

Dota2 Minify

logo

license badge badge

latest-release build-state

downloads downloads-latest

commits-since

All in one smart patcher for Dota2 to install all types of mods

Updated to 7.38!

✔️500+ Spells Simplified • ✔️8,000+ files modded • ✔️Boost FPS • ✔️ Creator Toolkit
ss1 ss2

Is this safe to use?

This project has been around for over 3 years with thousands of downloads and users. While binaries are offered for ease of use, anyone can compile it themselves.

No one has ever been banned for these mods. This project strictly deals with VPK modifications and not hacking related things like memory/file manipulation. It is utilizing Valve's approved methods (VPK loading) for creating assets, as documented on the official Valve Wiki. Historically Valve has only disabled assets from loading and never punished modders. The worst thing that can happen is a mod stops working and that's it.

Installation

  1. Download Minify

    (Optional) Install Dota 2 Workshop Tools DLC

    • These tools enable HUD/Interface mods. Skip this step if you don't need them.
    • Right-click on Dota 2 in Steam.
    • Select Properties > DLC.
    • Install "Dota 2 Workshop Tools DLC".
  2. Run Minify

    • Extract the ZIP file.
    • Run Minify.exe and patch with the mods you want to use.
  3. Set Language for Steam

    • Right-click on Dota2 in Steam and click Properties.
    • For English Dota2: Add -language minify to your launch options.
    • For Other Languages: Follow the instructions here.
  4. Start Dota 2

    • Launch Dota2 and enjoy!

Optional Setup

Using the project locally

  • git clone https://github.com/Egezenn/dota2-minify
  • cd dota2-minify
  • python -m venv .venv
  • .venv\Scripts\activate.bat or source .venv/bin/activate
  • pip install -r requirements.txt
  • python imgui.py

Compilation from source

For instructions, refer to here.

Developing Your Own Mods

You can create your own mods with Minify

The wiki will teach you the basics of working with steam files and more.

Once you get comfortable with the workflow you can use Minify to easily patch latest files from Dota2 and always have your mods updated.

Minify File Structure >> tutorial

Name Description
Files Compiled files you want to pack (Models, Meshes, Textures...etc)
blacklist.txt Paths to files to replace with blanks so they wont appear in game (Particles, Sounds...etc)
styling.txt Custom CSS you want to apply to the Panorama (Interfaces, Layouts, HUD's...etc)
notes_<local>.txt Include this file to have a details button beside your mod for users to read.

Thanks

This project wouldn't be available without the work of the community. Thanks to everyone that has contributed to the project over GitHub or Discord!

Special thanks to

Creation of the base project.

Mods
  • Dark Terrain
  • Minify Base Attacks
  • Minify HUD
  • Minify Spells & Items
  • Misc Optimization
  • Mute Ambient Sounds
  • Mute Taunt Sounds
  • Mute Voice Line Sounds
  • Remove Foilage
  • Remove Pinging
  • Remove River
  • Remove Sprays
  • Remove Weather Effects
  • Tree Mod

Taking over the maintainership of the project, implementing automated workflows, improving the functionality, Linux behavior and more.

Mods
  • Mute Announcers
  • OpenDotaGuides Guides
  • Remove Laggy UI
  • Remove Main Menu Background
  • Stat Site Buttons In Profiles
  • Transparent HUD improvements
  • Snippets in User Styles

Rewrite of the GUI, Russian translations, mod fixes and more.

Mods
  • Transparent HUD
Mods
  • Dotabuff in Profiles mod which has been refactored to Stat Site Buttons In Profiles
  • Show NetWorth mod

Dependencies

Binaries

Python - Core language. Licensed under PSFL license.

Source 2 Viewer - Used in decompilation of contents in paks. Licensed under MIT license.

Python packages

dearpygui Used in the GUI. Licensed under MIT license.

Nuitka Used in compilation of the binaries. Licensed under Apache-2.0 license.

psutil Used in handling processes. Licensed under BSD-3-Clause license.

requests Used in downloading/querying project's dependencies. Licensed under Apache-2.0 license.

screeninfo Used in calculating initial position for the main window. Licensed under MIT license.

vpk Used in creating and getting file content list in VPKs. Licensed under MIT license.