mrkeyoor.com_
Tue 01 Sept 17:44 UTC
Self-Hostedevaluationupdated 01 Sept 2026

Mindustry review

Mindustry is an open-source Java game that combines factory automation with real-time strategy and tower defense. It solves a rarer problem than most strategy games: production lines and defensive decisions live in the same playable system, with desktop, mobile, and dedicated-server builds.

trackingstars / 7d
Verdict

Our Mindustry run installed in 56 seconds, built in 106 seconds, and passed its tests in 51 seconds, making it an unusually low-risk source build for a 185,014-line game. Play it if factory automation mixed with live defense sounds appealing, or host it if a server JAR fits your operations. Skip it for proprietary reuse or if your contribution process depends on generated code and broad cleanup changes.

We ran it

Lab card: what happened when we ran MindustryScreenshot of Mindustry (mindustrygame.github.io)
Install✓ · 56s
Build✓ · 106s
Tests✓ · 51sran, no count parsed
Repo4259 files~185,014 lines of source · 72.9 MB · 4 CI workflows · tests dir

Answers from our run

Does Mindustry build from source?

Dependencies installed in 56 seconds, and the build succeeded in 106 seconds. We cloned commit 4df53b8 into a clean Debian container with 3 CPUs and no project-specific setup.

Do Mindustry's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use Mindustry?

Companies that need a permissive license for proprietary forks: the repository is GPL-3.0.

What are the alternatives to Mindustry?

OpenRA, Warzone 2100. Our Mindustry run installed in 56 seconds, built in 106 seconds, and passed its tests in 51 seconds, making it an unusually low-risk source build for a 185,014-line game.

Setup4/5All steps passed; Android and server packaging need extra work
Docs4/5Clear build paths, though the JDK wording conflicts with Gradle
Community5/5Same-day pushes and issue activity with 28,788 stars
Maturity5/5v159.7 ships across desktop, mobile, and dedicated servers

Who it’s for

Players who want factory logistics and real-time defense in the same game.
Java developers willing to follow a strongly opinionated code style and test changes in the game.
Server operators who prefer a downloadable server JAR over a required hosted service.
Modders and map makers who want an active GPL-licensed project with current mobile and server work.

Who it’s NOT for

Companies that need a permissive license for proprietary forks: the repository is GPL-3.0.
Contributors who use AI to generate substantial code: the contribution guide says those pull requests will be rejected and the submitter blocked.
Developers planning broad cleanup or automated optimization pull requests: the maintainer explicitly says not to submit them.
Android builders expecting the desktop one-command path: the README requires an Android SDK, accepted licenses, ANDROID_HOME, and a device or emulator, then produces an unsigned APK.

Setup reality

Our sandbox installed Mindustry in 56 seconds at commit 4df53b8, built it in 106 seconds, and passed the tests in 51 seconds. The checkout contained 4,259 files, about 185,014 source lines, and used 72.9 MB before build outputs.

Desktop and server builds need Java and Gradle downloads, but no credentials or external service. The README insists on JDK 17, while the build settings accept Java 17 or newer; our JVM 21 image completed all three steps. Android adds the SDK, license acceptance, ANDROID_HOME, and device setup.

The desktop and server paths produce JAR files rather than a container image, and our scan found no Dockerfile. Some packages, including mindustry.gen, appear only during the build. The README also warns that Gradle downloads can take several minutes, so the first run depends on network access and local caches.

Mindustry joins factory logistics to real-time defense

Mindustry is a GPL-3.0 strategy game whose 185,014-line Java codebase treats automation and tower defense as one system. The repository describes it plainly as an automation tower defense RTS, while the current release notes mention conveyors, schematics, sector presets, build menus, and a logic editor. Those details explain the appeal better than a genre label alone: production machinery is part of how the player survives and expands. Official downloads cover desktop and mobile stores, and release assets also include a dedicated server build.

The commit we tested occupied 72.9 MB across 4,259 files before build outputs. Its Gradle settings split the code into desktop, core, server, iOS, annotations, tools, and tests modules, with Android included when an SDK is present. Generated source is a visible part of the design. The README warns that mindustry.gen does not exist in the checkout because packets, entities, sounds, icons, and other classes are created during compilation. Code search alone can therefore give a newcomer an incomplete picture.

Desktop and server builds are simpler than Android

Desktop development uses the Gradle wrapper, with separate commands to run, build, or pack sprites. Server compilation replaces the desktop target with the server target, and published releases already contain server builds. The README says JDK 17 is mandatory and other versions will not work. The checked build settings are less strict, rejecting Java below 17, and our lab-jvm:21 image completed install, build, and tests. That mismatch should be corrected because it can send a developer toward an unnecessary JDK switch.

Android has a longer route with at least 6 explicit setup actions before the debug build: obtain the command-line SDK, rearrange its tools directory, accept licenses, set ANDROID_HOME, enable a device or emulator, and run the Android Gradle task. The result is an unsigned APK. iOS is present as a module, but the README does not offer an equivalent step-by-step build section. Teams shipping mobile forks need to read beyond the quick desktop instructions and own signing, store, and device work themselves.

What happened when we ran it

Our sandbox installed Mindustry in 56 seconds at commit 4df53b8. The build then succeeded in 106 seconds, and the test step succeeded in 51 seconds. We used a fresh unprivileged container with 3 CPUs, 10 GB of RAM, no secrets, and the lab-jvm:21 image. No measured step failed, so there is no hidden error tail to explain. These numbers cover repository setup and verification, not game frame rate, server capacity, network latency, or Android packaging.

The tested checkout contained 4,259 files and about 185,014 lines of source, totaling 72.9 MB. Our scan found 4 CI workflow files and a tests directory, but no Dockerfile. That gives a self-hoster two distinct facts to plan around: the project has automated checks, while container packaging is not supplied at the repository root. The supported artifact is a server JAR. You must provide the Java runtime, filesystem layout, process supervision, updates, and any container definition your environment requires.

GPL-3.0 and strict contribution rules narrow reuse

Mindustry's GPL-3.0 license allows inspection, modification, and redistribution under its terms, but it will not suit every proprietary product plan. The contribution guide is unusually direct about workflow. Large mechanics or broad code changes should be discussed with Anuken first, preferably through the named Discord channel. Formatting-only patches and automated analysis changes are unwanted. Significant AI-written code is grounds for rejection and a block, while using AI for questions is allowed. Contributors should decide whether that policy fits before preparing a large patch.

The Java style also departs from common defaults in several concrete ways. Contributors are directed toward IntelliJ, same-line braces, camelCase even for constants, wildcard imports, and Arc collections instead of many standard Java collections. Android and RoboVM compatibility rules prohibit packages such as java.util.function, streams, and java.awt. With roughly 185,014 source lines, those conventions affect more than cosmetic formatting. A developer used to automatic cleanup or standard-library refactors will spend time learning the house rules before a useful pull request is ready.

September activity outweighs the July release date

GitHub showed 28,788 stars and a last push on September 1, 2026. Its combined open count was 23, which our API searches split into 2 issues and 21 pull requests. Both open issues had updates on September 1, and several pull requests were closed that day. That is active maintenance and review traffic. It also explains why the combined GitHub number should not be described as 23 bugs. The queue is mostly proposed code, while feature requests live in a separate Mindustry-Suggestions repository.

The latest tagged release was v159.7 on July 19, 2026, about 6 weeks before that last push. It fixed problems in schematic previews, Android exports, mobile logic editing, build-menu text, and file opening on Android and iOS. The gap between tag and push is not evidence of neglect. Bleeding-edge builds are generated for every commit, according to the README, so users can choose between release assets and newer development artifacts while accepting the different stability expectations.

Choose Mindustry for the hybrid, OpenRA for classic RTS

Mindustry is the sharper choice when conveyor-based production and live defense are the point. OpenRA is closer to classic Command & Conquer play, while Warzone 2100 centers a traditional campaign, research, and configurable units. Neither substitutes for Mindustry's particular automation mix. Conversely, a player who wants familiar RTS pacing may find those projects easier to read immediately. For server operators, Mindustry's 106-second source build is approachable, but the lack of a root Dockerfile leaves deployment conventions to the operator.

The source trial produced the result a cautious buyer wants: 3 measured steps completed without a failure, and the repository is seeing same-day maintenance. GPL-3.0 affects downstream distribution, generated packages complicate source browsing, Android needs an SDK path, and contributions follow the maintainer's explicit rules. If those boundaries are acceptable, Mindustry is easy to recommend for its unusual factory-defense design and its working desktop or server build.

Alternatives

ProjectWhat it isPick it when
OpenRAAn open-source engine for classic Command & Conquer-style real-time strategy games.pick this instead when traditional base building and familiar Westwood campaigns matter more than factory automation.
Warzone 2100A free real-time strategy game centered on campaign play, research, and unit design.pick this instead when you want a conventional RTS campaign and configurable combat units rather than conveyor-driven production.

What people are saying

  1. [velocity-scout] Anuken/Mindustry

Sources

  1. Mindustry repository and README
  2. Mindustry v159.7 release notes
  3. Mindustry contribution guide
  4. Mindustry issues and pull requests

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →