The package can extract only the metrics data from World of Tanks replays. It does not access any data such as tank positions or chat.
Data can be extracted only from replays in which the player has waited until the end of the battle. If the player has quit the battle after dying and the battle was not ended, then only the battle metadata is available (which does not contain any battle performance / credits / xp data).
The replays should be set to be "all" collected and not "last" one recorded.
All data extracted can be saved to a local sqlite database.
pip install wotreplay
The package provides the possibility of exploring the data contained within one replay or process all replays in a directory and store the data in a local database.
from wotreplay import ReplayData
replay = ReplayData(file_path='path_to_replay/replay_file.wotreplay',
db_path='', db_name='', load=False)
print(replay.battle_metadata)
print(replay.battle_performance)
print(replay.common)
print(replay.battle_frags)
print(replay.battle_economy)
print(replay.battle_xp)
Process all the replay files and store the results in the database
from wotreplay import ProcessReplays
ProcessReplays.process_all(replay_dir='/path/to/replay/dir',
db_path='path/where/to/save/the/database',
db_name='wotreplay')
This will process the replays sequentially.
Note: Once a replay has been processed and added to the database, it will not be processed again to avoid data duplication.
The replays from the following client versions have been tested.
Client Version | Passed |
---|---|
0.9.21 | True |
0.9.22 | True |
1.0.0 | True |
1.0.1 | True |
1.0.2 | True |
1.1.0 | True |
1.2.0 | True |
1.3.0 | True |
1.4.0 | True |
1.4.1 | True |
1.5.0 | True |
1.5.1 | True |
1.6.1 | True |
1.7.0 | True |
1.7.1 | True |
1.8.0 | True |
1.9.0 | True |
No replays before 0.9.21 have been tested due to lack of replays available.
Examples of data retrieved:
- Battle metadata: Battle Metadata Fields
- Battle performance: Battle Performance Fields
- Common: Common Data Fields
- Battle frags: Battle Frags Fields
- Battle economy: Battle Economy Fields
- Battle xp: Battle XP Fields
If you are using this on any online tools please give the appropriate credit.
The extraction of data from replays is more or less complete. There are a few features to be created in the future to create the aliases of tank names and maps.
To further develop this package please follow the instructions below
# Install the virtual environments and packages
python3 -m virtualenv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
# Run test suite
# Tests contain unittests, coverage and linting
tox