* Steam Rich Presence support. I opted to put this code inside of DesktopLauncher.java instead of SNet.java because it heavily overlaps with the work the DiscordRPC code was already doing. Testing wasn't easy because I had to figure out how the Steam version actually runs normally, but it was straightforward once I figured out what version information to slam into the JAR and fixed 'desktop:steamtest' to work locally with my paths. Because of how Steam currently expects SetRichPresence to be used, I had to upload to the Steam partner site a trivial Rich Presence loc token called 'steam_status_raw' that just gets entirely substituted for the 'steam_status' RP token string. I didn't expect that I'd need to do anything for localization support (and instead just let it use English for everyone like Discord) but apparently Steam isn't happy if you directly set 'steam_display' to a raw string (but I'm going to look at that when I'm back at work because I don't know that we need that requirement.) * Whoops, left this in there from debugging the Steam connection. * Fixing coding style, and also triggering another CI build |
||
|---|---|---|
| .github | ||
| android | ||
| annotations | ||
| core | ||
| desktop | ||
| fastlane | ||
| gradle/wrapper | ||
| ios | ||
| server | ||
| tests | ||
| tools | ||
| .gitignore | ||
| .travis.yml | ||
| build.gradle | ||
| CONTRIBUTING.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.md | ||
| SERVERLIST.md | ||
| servers.json | ||
| servers_be.json | ||
| settings.gradle | ||
| TRANSLATING.md | ||
| update_wiki.sh | ||
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 desktop:run
Building: gradlew desktop:dist
Linux/Mac OS
Running: ./gradlew desktop:run
Building: ./gradlew desktop:dist
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.propertiesinside 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./gradlewif 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.

