A sandbox tower defense game written in Java.
Contributing
See CONTRIBUTING.
Building
Bleeding-edge live builds are generated automatically for every commit. You can see them here. Old builds might still be on jenkins.
If you'd rather compile on your own, follow these instructions.
First, make sure you have JDK 8 installed. Open a terminal in the root directory, cd
to the Mindustry folder and run the following commands:
Windows
Running: gradlew.bat desktop:run
Building: gradlew.bat desktop:dist
Sprite Packing: gradlew.bat tools:pack
Linux/Mac OS
Running: ./gradlew desktop:run
Building: ./gradlew desktop:dist
Sprite Packing: ./gradlew tools:pack
Server
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
.
Android
- Install the Android SDK here. Make sure you're downloading the "Command line tools only", as Android Studio is not required.
- Create a file named
local.properties
inside the Mindustry directory, with its contents looking like this:sdk.dir=<Path to Android SDK you just downloaded, without these bracket>
. For example, if you're on Windows and installed the tools to C:\tools, your local.properties would containsdk.dir=C:\\tools
(note the double backslashes are required instead of single ones!). - Run
gradlew android:assembleDebug
(or./gradlew
if on linux/mac). This will create an unsigned APK inandroid/build/outputs/apk
. - (Optional) To debug the application on a connected phone, do
gradlew android:installDebug android:run
. It is highly recommended to use IntelliJ for this instead, however.
Troubleshooting
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.
Feature Requests
Post feature requests and feedback here.