Skip to content

Java library that provides an interface to directly interact with Valve's Steam servers.

License

Notifications You must be signed in to change notification settings

Longi94/JavaSteam

Folders and files

NameName
Last commit message
Last commit date
Sep 30, 2024
Mar 7, 2025
Jan 2, 2025
Feb 18, 2025
Oct 4, 2024
Feb 18, 2025
Jan 4, 2025
Mar 7, 2025
Oct 18, 2023
Oct 16, 2024
Dec 18, 2024
Mar 2, 2018
Mar 21, 2023
Feb 26, 2018
Jan 1, 2025
Feb 14, 2025
Jan 1, 2025
Aug 31, 2024
Aug 31, 2024
Jan 4, 2025

Repository files navigation

JavaSteam

Java CI/CD Maven Central Discord

Java port of SteamKit2. JavaSteam targets Java 11.

Download

Latest version is available through Maven

If you get a java.security.InvalidKeyException: Illegal key size or default parameters exception when trying to encrypt a message you need to download the Unlimited Strength Jurisdiction Policy Files and place them under ${java.home}/jre/lib/security/. See this stackoverflow question.

1. Add the repository to your build.

Gradle

repositories {
    mavenCentral()
}

Maven

<repository>
  <id>central</id>
  <url>https://repo.maven.apache.org/maven2</url>
</repository>

2. Add the JavaSteam dependency to your project.

Gradle

implementation 'in.dragonbra:javasteam:x.y.z'

Maven

<dependency>
    <groupId>in.dragonbra</groupId>
    <artifactId>javasteam</artifactId>
    <version>x.y.z</version>
</dependency>

3. Add the appropriate cryptography dependency to your project. JavaSteam depends on this.

Android (Deprecated) | Spongy Castle

Android and Non-Android | Bouncy Castle

4. (Optional) Working with protobufs.

If you plan on working with protobuf builders directly to perform actions a handler doesn't support, you will need to add the protobuf-java dependency.

Note: To eliminate any errors or warnings, you should try and match the same version JavaSteam uses.
You can find the latest version being used here.

Protobuf Java

Getting Started

You can head to the very short Getting Started page or take a look at the samples to get you started with using this library.

There some open-source projects too you can check out.

The wiki may also be useful to check out for other info.

Build

Full build:

./gradlew build -x signMavenJavaPublication

Generated classes:

./gradlew generateProto generateSteamLanguage generateProjectVersion

Contributing

Contributions to the repository are always welcome! Checkout the contribution guidelines to get started.

Other

Join the discord server if you have any questions related or unrelated to this repo or just want to chat!

License

This project is licensed under the MIT License - see the LICENSE file for details