Google's open-source SDK for building natively compiled mobile, web, and desktop apps from a single Dart codebase.
Anuken/Mindustry
An automation tower defense RTS written in Java, where players build factories and logistics to supply turrets and defend their base.
Open-source alternative to:Factorio
- Stars
- 29,419
- Forks
- 3,813
- Open issues
- 44
- Last commit
- 2 days ago
What is it?
Mindustry is a sandbox tower defense and real-time strategy game built around automation. Players mine resources, route them with conveyors and logistics blocks, process them into materials, and use those materials to build turrets and units that defend against waves of enemies.
The game is written in Java and built with Gradle. The repository includes separate targets for desktop, server, and Android, and the Android build can be installed from F-Droid, Google Play, or itch.io. The project provides a wiki, a Javadoc site, and a separate suggestions tracker for feature requests.
Developers who want to compile the game can run it with a single Gradle command on Windows, Linux, or macOS, provided they use JDK 17. The README also covers building a dedicated server and setting up the Android SDK for debug builds.
Key features
- 01Automated resource mining, conveyor logistics, and crafting chains
- 02Tower defense gameplay against waves of enemies
- 03Sandbox mode with a campaign-style progression
- 04Runs on desktop, Android, and dedicated server builds
- 05Gradle-based build with commands for running, packaging, and sprite packing
Use cases
- Playing a factory-building tower defense game on desktop or Android
- Hosting a multiplayer dedicated server for friends
- Studying a large open-source Java game codebase with Gradle builds
- Contributing gameplay features or bug fixes to an active game project
Quick start
- 1
Install JDK 17 (other JDK versions will not work)
- 2
Open a terminal in the Mindustry directory and run the game on Linux/Mac
./gradlew desktop:run - 3
Or run the game on Windows
gradlew desktop:run
Things to know
- Requires exactly JDK 17; other JDK versions will not work.
- Building from source needs Gradle to download many files, which can take several minutes.
- Android builds require installing the Android SDK and enabling developer mode on a device.
Topics
FAQ
- What is Mindustry?
- An automation tower defense RTS written in Java, where players build factories and logistics to supply turrets and defend their base. Mindustry is a sandbox tower defense and real-time strategy game built around automation. Players mine resources, route them with conveyors and logistics blocks, process them into materials, and use those materials to build turrets and units that defend against waves of enemies.
- Is Mindustry free to use? What license does it have?
- Mindustry is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is Mindustry still maintained?
- Actively maintained. The last commit to Mindustry was on Oct 19, 2026.
- What can I use Mindustry for?
- Playing a factory-building tower defense game on desktop or Android Hosting a multiplayer dedicated server for friends Studying a large open-source Java game codebase with Gradle builds Contributing gameplay features or bug fixes to an active game project
- How do I install Mindustry?
- Install JDK 17 (other JDK versions will not work) Open a terminal in the Mindustry directory and run the game on Linux/Mac: ./gradlew desktop:run Or run the game on Windows: gradlew desktop:run
- Where can I get Mindustry?
- The source code and installation instructions are on GitHub: https://github.com/Anuken/Mindustry
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Command-line and GUI tools that decompile Android Dex, APK and related files into readable Java source code.
An HTTP client for the JVM, Android, and GraalVM that reuses connections, supports HTTP/2, and caches responses by default.
A type-safe HTTP client for Android and Java that turns annotated interface methods into network calls.
A Ruby command-line tool that automates iOS and Android app building, screenshots, code signing, and store releases.
A Rust framework for building web, desktop, and mobile apps from a single codebase, with React-like components and signals.