The automation tower defense RTS, written in Java.
See CONTRIBUTING.
Bleeding-edge builds are generated automatically for every commit. You can see them here.
If you'd rather compile on your own, follow these instructions. First, make sure you have JDK 16-17 installed. Other JDK versions will not work. Open a terminal in the Mindustry directory and run the following commands:
Running: gradlew desktop:run
Building: gradlew desktop:dist
Sprite Packing: gradlew tools:pack
Running: ./gradlew desktop:run
Building: ./gradlew desktop:dist
Sprite Packing: ./gradlew tools:pack
Server builds are bundled with each released build (in Releases). If you'd rather compile on your own, replace 'desktop' with 'server', e.g. gradlew server:dist.
- Install the Android SDK here. Make sure you're downloading the "Command line tools only", as Android Studio is not required.
- In the unzipped Android SDK folder, find the cmdline-tools directory. Then create a folder inside of it called
latestand put all of its contents into the newly created folder. - In the same directory run the command
sdkmanager --licenses(or./sdkmanager --licensesif on linux/mac) - Set the
ANDROID_HOMEenvironment variable to point to your unzipped Android SDK directory. - Enable developer mode on your device/emulator. If you are on testing on a phone you can follow these instructions, otherwise you need to google how to enable your emulator's developer mode specifically.
- Run
gradlew android:assembleDebug(or./gradlewif on linux/mac). This will create an unsigned APK inandroid/build/outputs/apk.
To debug the application on a connected device/emulator, run gradlew android:installDebug android:run.
If the terminal returns Permission denied or Command not found on Mac/Linux, run chmod +x ./gradlew before running ./gradlew. This is a one-time procedure.
Gradle may take up to several minutes to download files. Be patient.
After building, the output .JAR file should be in /desktop/build/libs/Mindustry.jar for desktop builds, and in /server/build/libs/server-release.jar for server builds.
Post feature requests and feedback here.