Skip to main content

World of Tanks PC replay data extractor

Project description

pipeline status pipeline status MIT license PyPI - Downloads PyPI PyPI - Status

World of Tanks - Replay data extract

1. Description

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.

2. Usage

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.

<u>Note:</u> Once a replay has been processed and added to the database, it will not be processed again to avoid data duplication.

3. Compatibility

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.

4. Data Taxonomy

Examples of data retrieved:

5.Access and rights

If you are using this on any online tools please give the appropriate credit.

6.To Do

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.

7. Development

Unittesting

For development purposes, the unittests can be executed via:

python3 -m unittest discover -v worldoftanks/tests
Coverage Tests
coverage run --source=worldoftanks -m unittest discover -s worldoftanks/tests
coverage report -m

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for wotreplay, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size wotreplay-1.0.0-py2.py3-none-any.whl (17.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size wotreplay-1.0.0.tar.gz (14.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page