Mindustry – Anuken
The automation tower defense RTS
关键指标一览
主题标签
README 详细介绍
![]()
<img src="https://github.com/Anuken/Mindustry/workflows/Tests/badge.svg?event=push" alt="Build Status" class="ra0-md-img" loading="lazy" />
<img src="https://img.shields.io/discord/391020510269669376.svg?logo=discord&logoColor=white&logoWidth=20&labelColor=7289DA&label=Discord&color=17cf48" alt="Discord" class="ra0-md-img" loading="lazy" />
The automation tower defense RTS, written in Java.
_Trello Board_
_Wiki_
_Javadoc_
Contributing
See CONTRIBUTING for general code style and PR guidelines.
If you are a first-time contributor looking for features to implement or bugs to fix, see the issues tagged with 'candidate' in the Mindustry-Suggestions repostiory.
Building
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 17 installed. Other JDK versions will not work. Open a terminal in the Mindustry directory and run the following commands:
Windows
_Running:_ gradlew desktop:run
_Building:_ gradlew desktop:dist
_Sprite Packing:_ gradlew 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.
- 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.
Troubleshooting
Permission Denied
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.
Where is the mindustry.gen package?
As the name implies, mindustry.gen is generated at build time based on other code. You will not find source code for this package in the repository, and it should not be edited by hand.
The following is a non-exhaustive list of the "source" of generated code in mindustry.gen:
Call,*Packetclasses: Generated from methods marked with@Remote.- All entity classes (
Unit,EffectState,Posc, etc): Generated from component classes in themindustry.entities.comppackage, and combined using definitions inmindustry.content.UnitTypes. Sounds,Musics,Tex,Icon, etc: Generated based on files in the respective asset folders.
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.
Downloads
| <img src="https://static.itch.io/images/badge.svg" alt="" class="ra0-md-img" loading="lazy" /> | <img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="" class="ra0-md-img" loading="lazy" /> | <img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="" class="ra0-md-img" loading="lazy" /> | <img src="https://flathub.org/assets/badges/flathub-badge-en.svg" alt="" class="ra0-md-img" loading="lazy" />