Features • Next Steps • How To Use • Installation • License
As of version 1.0.0, the headless client supported game features & services are:
exchange market- all events related to the energy depot market tab
Here are the next feature I consider implementing:
auction house- ability to retrieve the auction house listingsgame server redirection- as of version1.0.0the client does not support game server redirection (handles it as a logout)game server regions- as of version1.0.0, the server IP the client connects to is hard coded ; once the game server redirection is handled, it will be possible to use theRegionenum to select a server
It would also be possible to turn this "read only" headless client into a bot allowing for:
exchange market- ability to buy or sell energy offersauction house- ability to bid, cancel a bid, get your listings, get your bids, list an item
Though I am not too keen on bringing those features to life as they would introduce botting to the game.
Note
For more details regarding the library, please head to the javadoc.
// create the SKClient
final SKClient client = SKClientBuilder.create(username, password)
.enableServices(Service.EXCHANGE)
.build();
// register your event listeners
client.addEventListeners(new ListenerAdapter() {
@Override
public void onExchange(@NotNull ExchangeEvent event) {
System.out.println("Market last price is: " + event.market.lastPrice);
}
});
// bring the client online
client.connect();Look at the :playground module's Main for a more complete example.
Important
Do not forget to replace the REPOSITORY and VERSION keywords.
The VERSION should be changed to the desired version of the project and the REPOSITORY must be set to snapshots - if the chosen version is a snapshot - otherwise to releases.
e.g.
if VERSION = 1.0.0 then REPOSITORY = releases
if VERSION = 1.0-SNAPSHOT then REPOSITORY = snapshots
Note
You can import individual modules by using the structure spiral-knights-headless-client-MODULE as the artifact id, where the MODULE keyword should be replaced with the module's name.
e.g. spiral-knights-headless-client-core, spiral-knights-headless-client-legacy
repositories {
maven { url = uri("https://maven.azzerial.net/REPOSITORY") }
}
dependencies {
implementation("net.azzerial:spiral-knights-headless-client:VERSION")
}<repositories>
<repository>
<url>https://maven.azzerial.net/REPOSITORY</url>
</repository>
</repositories>
<dependency>
<groupId>net.azzerial</groupId>
<artifactId>spiral-knights-headless-client</artifactId>
<version>VERSION</version>
</dependency>This project is licensed under the Apache License 2.0 © 2025 Robin Mercier.
Spiral Knights Headless Client by Robin Mercier •
azzerial.net