Clarity is a parser for Dota 2 and CSGO replay files, written in Java.
Contains a bugfix for replays with the new Nemestice update, as well as a fix for an NPE when using the LiveSource. Sorry for the double jump in patch level.
Starting today, I will switch to a semantic versioning theme (MAJOR.MINOR.PATCH)
- MAJOR will probably not change in a long time
- MINOR will be increased when there are changes that I believe to be disruptive (and want you to test them first)
- PATCH will be for bugfixes, like we had with the latest 7.28 update.
Today, I made two releases:
- Version 2.5: this is simply the last snapshot as a release
- Version 2.6.0: the first version using the new scheme
There will be no bugfix releases for 2.5, so please migrate your code in a timely manner.
- lots of restructuring / code cleanup regarding the field update parsing code (should not be noticeable)
- package rename
skadistats.clarity.decoder
->skadistats.clarity.io
(global search/replace should suffice) - package rename
skadistats.clarity.io.unpacker
->skadistats.clarity.io.decoder
(global search/replace should suffice) - new event
OnEntityPropertyCountChanged
, which is raised when the amount of properties in an entity changed - with ControllableRunner (seeking), improved
OnEntityUpdated
to only contain FieldPaths that have been changed - small performance increase for BitStream
- added proper handling of a special case with Dota 2 console recorded replays, which would throw an exception before
clarity produces the following data you might be interested in from a replay. Choose from:
- combat log: a detailed log of events that happened in the game
- entities: in-game things like heroes, players, and creeps
- modifiers: auras and effects on in-game entities
- temporary entities: fire-and-forget things the game server tells the client about*
- user messages: many different things, including spectator clicks, global chat messages, overhead events (like last-hit gold, and much more), particle systems, etc.*
- game events: lower-level messages like Dota TV control (directed camera commands, for example), etc.*
- voice data: commentary in pro matches*
- sounds: sounds that occur in the game*
- overview: end-of-game summary, including players, game winner, match id, duration, and often picks/bans
* unprocessed: data is provided as original protobuf message object
- Java 7 (for 2.4) or 8 (2.5 and later)
- Maven
Fetch the current stable version (2.6.0) from Maven Central with
<dependency>
<groupId>com.skadistats</groupId>
<artifactId>clarity</artifactId>
<version>2.6.0</version>
</dependency>
For example code, please see the the separate project clarity-examples.
See LICENSE in the project root.