Daniel Jennings d849a3a87f Adding Steam Rich Presence support. (#1453)
* 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
2020-01-27 12:17:52 -05:00
2020-01-09 14:35:33 -05:00
2020-01-24 19:14:49 -05:00
2020-01-26 11:40:09 -05:00
2020-01-27 11:01:48 -05:00
2020-01-25 10:44:46 -05:00
2019-12-29 18:56:29 -05:00
2019-12-25 12:06:19 -05:00
2020-01-24 22:48:05 -05:00
2020-01-26 16:12:11 -05:00
2020-01-25 10:44:46 -05:00
2020-01-26 11:40:28 -05:00
2019-10-25 14:08:31 -04:00
why
2020-01-26 13:16:42 -05:00
2019-12-25 01:39:38 -05:00
2019-11-15 19:48:26 -05:00
2019-11-15 19:48:26 -05:00
2018-03-21 10:56:28 -04:00
2020-01-02 14:04:12 -05:00
2020-01-27 11:59:17 -05:00
2019-12-28 17:49:49 -05:00
2019-12-29 21:05:02 -05:00
2020-01-19 13:22:03 -05:00
2019-09-24 17:56:23 -04:00
2019-08-13 23:53:22 -04:00

Logo

Build Status Discord

A sandbox tower defense game written in Java.

Trello Board
Wiki

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

  1. Install the Android SDK here. Make sure you're downloading the "Command line tools only", as Android Studio is not required.
  2. 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 contain sdk.dir=C:\\tools (note the double backslashes are required instead of single ones!).
  3. Run gradlew android:assembleDebug (or ./gradlew if on linux/mac). This will create an unsigned APK in android/build/outputs/apk.
  4. (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.

Downloads

Get it on Itch.io

Get it on Google Play

Get it on F-Droid

Feature Requests

Feature Requests

Languages
Java 99.3%
GLSL 0.4%
JavaScript 0.2%