2018-12 Update Since Blizzard has decided to effectively kill Heroes of the Storm by ending all competitive esports entirely, shifting developers off the game, and “changing the cadence” of updates, I have no longer cared about the game and have halted all development. Shame, as it was a beloved game for me, but seeing as they completely dropped by the ball by failing to bring the game to market in a timely manner to compete in the MOBA space, my updates to this project will be considered few and very far between.
NodeJS wrapper for StormLib (https://github.com/ladislav-zezula/StormLib) for
parsing Heroes of the Storm replay files (.StormReplay
).
This is a backend library designed for speedy extraction of files. In tests against the javascript library, extraction times improved nearly 60%.
Retrieve the MPQ Header information for the Archive
. This header includes
the all important build information for parsing.
The object returned contains the full header as .header.data
and the parsed
header as .content.data
. You will most likely want .content.data
. The
other data provided, .err
and .content.size
, is there for validation.
return {
err: (Header.length === undefined),
header: {
data: Header,
size: Header.length
},
content: {
data: Header.slice(16, 16 + Header.readUInt32LE(12)),
size: Header.readUInt32LE(12)
}
};
Extract File
from Archive
as a buffer.
The object returned has the data you want as .content.data
. The other data
provided, .err
and .content.size
, is there for validation.
return {
err: (File.length === undefined),
content: {
data: File,
size: File.length
}
};
Remove replay.message.events
from the archive.
Chat messages may be toxic, offensive, taken out of context or otherwise not fit for human consumption. This sanitation method provides some protection to ensure a player's actions speak louder than his or her words.
Returns true
if there are no messages in the file, false
if there was an
issue.
return bool;