Author SHA1 Message Date
Jylpah ec696d6946 add pyutils 2022-10-29 17:47:33 +03:00
Jylpah 1f41901042 update 9.2 2022-10-09 00:18:30 +03:00
Jylpah d275914b32 Update .gitignore 2022-08-18 09:44:39 +03:00
Jylpah 9f8c82f434 Stream client support 2022-08-18 09:42:55 +03:00
Jylpah 3a8f065f35 Update 9.2 2022-08-18 09:42:32 +03:00
Jylpah 0cac200f06 Update 9.1 2022-07-14 11:25:38 +03:00
Jylpah 342b90bcf9 SSL -> TLS 2022-06-09 20:48:50 +03:00
Jylpah a9845b6fbb Update 9.0 2022-06-08 17:25:06 +03:00
Jylpah ee36e9192f Update 8.10 2022-04-30 21:43:24 +03:00
Jylpah 5d5821564e update 8.9 2022-03-24 15:44:48 +02:00
Jylpah 3c6f9dcae3 Merge branch 'master' of https://github.com/Jylpah/blitz-tools 2022-03-24 15:41:26 +02:00
Jylpah 433e2295c2 Update 8.9 2022-03-24 15:41:22 +02:00
Jylpah 3dc9533c6a Update maps.json 2022-03-24 15:41:15 +02:00
7 changed files with 595 additions and 128 deletions

No files matched your search

Executable
+15
View File
@@ -0,0 +1,15 @@
__pycache__/
BlitzApp
tmp/
ssl/
*.ini
*.swp
*.code-workspace
*.sqlite3
.vscode/
*.sqlite3-journal
.gitattributes
export*
*.csv
!/stats/*.csv
!*.py
+3
View File
@@ -0,0 +1,3 @@
[submodule "pyutils"]
path = pyutils
url = https://github.com/Jylpah/pyutils.git
+11 -11
View File
@@ -1446,8 +1446,8 @@ async def main(argv):
## VERY unlikely you have a DB set up ## VERY unlikely you have a DB set up
DB_SERVER = 'localhost' DB_SERVER = 'localhost'
DB_PORT = 27017 DB_PORT = 27017
DB_SSL = False DB_TLS = False
DB_CERT_REQ = ssl.CERT_NONE DB_CERT_REQ = False
DB_AUTH = 'admin' DB_AUTH = 'admin'
DB_NAME = 'BlitzStats' DB_NAME = 'BlitzStats'
DB_USER = 'mongouser' DB_USER = 'mongouser'
@@ -1499,14 +1499,14 @@ async def main(argv):
OPT_DB = configDB.getboolean('opt_DB', OPT_DB) OPT_DB = configDB.getboolean('opt_DB', OPT_DB)
DB_SERVER = configDB.get('db_server', DB_SERVER) DB_SERVER = configDB.get('db_server', DB_SERVER)
DB_PORT = configDB.getint('db_port', DB_PORT) DB_PORT = configDB.getint('db_port', DB_PORT)
DB_SSL = configDB.getboolean('db_ssl', DB_SSL) DB_TLS = configDB.getboolean('db_tls', DB_TLS)
DB_CERT_REQ = configDB.getint('db_ssl_req', DB_CERT_REQ) DB_CERT_REQ = configDB.getboolean('db_tls_req', DB_CERT_REQ)
DB_AUTH = configDB.get('db_auth', DB_AUTH) DB_AUTH = configDB.get('db_auth', DB_AUTH)
DB_NAME = configDB.get('db_name', DB_NAME) DB_NAME = configDB.get('db_name', DB_NAME)
DB_USER = configDB.get('db_user', DB_USER) DB_USER = configDB.get('db_user', DB_USER)
DB_PASSWD = configDB.get('db_password', DB_PASSWD) DB_PASSWD = configDB.get('db_password', DB_PASSWD)
DB_CERT = configDB.get('db_ssl_cert_file', DB_CERT) DB_CERT = configDB.get('db_tls_cert_file', DB_CERT)
DB_CA = configDB.get('db_ssl_ca_file', DB_CA) DB_CA = configDB.get('db_tls_ca_file', DB_CA)
except (KeyError, configparser.NoSectionError) as err: except (KeyError, configparser.NoSectionError) as err:
bu.error(exception=err) bu.error(exception=err)
@@ -1552,7 +1552,7 @@ async def main(argv):
#### Connect to MongoDB. You are unlikely to have this set up... #### Connect to MongoDB. You are unlikely to have this set up...
bu.debug('DB_SERVER: ' + DB_SERVER) bu.debug('DB_SERVER: ' + DB_SERVER)
bu.debug('DB_PORT: ' + str(DB_PORT)) bu.debug('DB_PORT: ' + str(DB_PORT))
bu.debug('DB_SSL: ' + "True" if DB_SSL else "False") bu.debug('DB_TLS: ' + "True" if DB_TLS else "False")
bu.debug('DB_AUTH: ' + DB_AUTH) bu.debug('DB_AUTH: ' + DB_AUTH)
bu.debug('DB_NAME: ' + DB_NAME) bu.debug('DB_NAME: ' + DB_NAME)
@@ -1560,7 +1560,7 @@ async def main(argv):
db = None db = None
if args.db: if args.db:
try: try:
client = motor.motor_asyncio.AsyncIOMotorClient(DB_SERVER,DB_PORT, authSource=DB_AUTH, username=DB_USER, password=DB_PASSWD, ssl=DB_SSL, ssl_cert_reqs=DB_CERT_REQ, ssl_certfile=DB_CERT, tlsCAFile=DB_CA) client = motor.motor_asyncio.AsyncIOMotorClient(DB_SERVER,DB_PORT, authSource=DB_AUTH, username=DB_USER, password=DB_PASSWD, tls=DB_TLS, tlsAllowInvalidCertificates=DB_CERT_REQ, tlsCertificateKeyFile=DB_CERT, tlsCAFile=DB_CA)
db = client[DB_NAME] db = client[DB_NAME]
bu.debug('Database connection initiated') bu.debug('Database connection initiated')
except Exception as err: except Exception as err:
@@ -2021,9 +2021,9 @@ async def process_player_stats(players, N_workers: int, args : argparse.Namespac
def remap_stat_id(stat_id_map: dict, stat_id_remap: dict): def remap_stat_id(stat_id_map: dict, stat_id_remap: dict):
bu.debug('Remapping stat_ids: stat_id_map: ' + str(len(stat_id_map)) + ' remap needed: ' + str(len(stat_id_remap))) bu.debug('Remapping stat_ids: stat_id_map: ' + str(len(stat_id_map)) + ' remap needed: ' + str(len(stat_id_remap)))
for stat_id in stat_id_map: for stat_id in stat_id_map:
# bu.debug(stat_id) # bu.debug(stat_id)
if stat_id_map[stat_id] in stat_id_remap.keys(): if stat_id_map[stat_id] in stat_id_remap.keys():
stat_id_map[stat_id] = stat_id_remap[stat_id_map[stat_id]] stat_id_map[stat_id] = stat_id_remap[stat_id_map[stat_id]]
return stat_id_map return stat_id_map
+12 -6
View File
@@ -3,6 +3,7 @@
# Extract tankopedia data in WG API JSON format from Blitz app files (Android APK unzipped) # Extract tankopedia data in WG API JSON format from Blitz app files (Android APK unzipped)
from os import path
import sys, argparse, json, os, inspect, aiohttp, asyncio, aiofiles, re, logging, time, xmltodict, collections, configparser import sys, argparse, json, os, inspect, aiohttp, asyncio, aiofiles, re, logging, time, xmltodict, collections, configparser
import blitzutils as bu import blitzutils as bu
from blitzutils import WG from blitzutils import WG
@@ -11,9 +12,11 @@ logging.getLogger("asyncio").setLevel(logging.DEBUG)
FILE_CONFIG = 'blitzstats.ini' FILE_CONFIG = 'blitzstats.ini'
BLITZAPP_STRINGS='/assets/Data/Strings/en.yaml' # BLITZAPP_STRINGS='/assets/Data/Strings/en.yaml'
BLITZAPP_VEHICLES_DIR='/assets/Data/XML/item_defs/vehicles/' # BLITZAPP_VEHICLES_DIR='/assets/Data/XML/item_defs/vehicles/'
BLITZAPP_VEHICLE_FILE='/list.xml' BLITZAPP_STRINGS='Data/Strings/en.yaml'
BLITZAPP_VEHICLES_DIR='Data/XML/item_defs/vehicles/'
BLITZAPP_VEHICLE_FILE='list.xml'
wg = None wg = None
@@ -104,8 +107,11 @@ async def main(argv):
async def extract_tanks(blitz_app_base : str, nation: str): async def extract_tanks(blitz_app_base : str, nation: str):
tanks = [] tanks = []
list_xml_file = blitz_app_base + BLITZAPP_VEHICLES_DIR + nation + BLITZAPP_VEHICLE_FILE # WG has changed the location of Data directory - at least in steam client
if not os.path.isfile(list_xml_file): if path.isdir(path.join(blitz_app_base, 'assets')):
blitz_app_base = path.join(blitz_app_base, 'assets')
list_xml_file = path.join(blitz_app_base, BLITZAPP_VEHICLES_DIR ,nation ,BLITZAPP_VEHICLE_FILE)
if not path.isfile(list_xml_file):
print('ERROR: cannot open ' + list_xml_file) print('ERROR: cannot open ' + list_xml_file)
return None return None
bu.debug('Opening file: ' + list_xml_file + ' (Nation: ' + nation + ')') bu.debug('Opening file: ' + list_xml_file + ' (Nation: ' + nation + ')')
@@ -132,7 +138,7 @@ async def read_user_strs(blitz_app_base : str) -> dict:
"""Read user strings to convert map and tank names""" """Read user strings to convert map and tank names"""
tank_strs = {} tank_strs = {}
map_strs = {} map_strs = {}
filename = blitz_app_base + BLITZAPP_STRINGS filename = path.join(blitz_app_base, BLITZAPP_STRINGS)
bu.debug('Opening file: ' + filename + ' for reading UserStrings') bu.debug('Opening file: ' + filename + ' for reading UserStrings')
try: try:
async with aiofiles.open(filename, 'r', encoding="utf8") as f: async with aiofiles.open(filename, 'r', encoding="utf8") as f:
Submodule
+1
Submodule pyutils added at 1eb17e8402.
+94 -90
View File
@@ -1,92 +1,96 @@
# WoT Blitz releases # WoT Blitz releases
| Release | Date | Notes | Inaccurate? | | Release | Date | Notes |
|:-------:|:--------:|-------------|-----| |:-------:|:--------:|-------------|
| 8.8 | 2022-02-16 | Molendijk map | | | 9.1 | 2022-07-14 | Releases updated via DLC, graphics updates for Object 140, Patton 46 |
| 8.7 | 2022-01-19 | Soviet Light Tanks | | | 9.0 | 2022-06-08 | Japanies heavies, Castilla graphics update, new garage |
| 8.6 | 2021-12-15 | Joining Light and Medium Tank classes in MM | | | 8.10 | 2022-04-28 | New battle results screen, new "Operation" mechanics |
| 8.5 | 2021-11-17 | New national crew voices, economy update | | | 8.9 | 2022-03-23 | "Free" camo resupply, VK 72.01 supplies |
| 8.4 | 2021-10-20 | Polish heavy tanks | | | 8.8 | 2022-02-16 | Molendijk map |
| 8.3 | 2021-09-16 | FV4005, FV4022, VK 91.01 (P) and WZ-121 legendary camos, -5 deg gun depression to WZ-120 | | | 8.7 | 2022-01-19 | Soviet Light Tanks |
| 8.2 | 2021-08-18 | Ghost Factory map, XP/credits nerf for inactive players, new store UI | | | 8.6 | 2021-12-15 | Joining Light and Medium Tank classes in MM |
| 8.1 | 2021-07-15 | Armor highlighting updated | | | 8.5 | 2021-11-17 | New national crew voices, economy update |
| 8.0 | 2021-06-08 | American experimental heavies (Yoh-line), PBR camos | | | 8.4 | 2021-10-20 | Polish heavy tanks |
| 7.9 | 2021-04-27 | Mines rework, new tutorial, colorblind mode, JgPz E100 legendary camo | | | 8.3 | 2021-09-16 | FV4005, FV4022, VK 91.01 (P) and WZ-121 legendary camos, -5 deg gun depression to WZ-120 |
| 7.8 | 2021-03-24 | Mid-tier balance changes, Grille line new consumables | | | 8.2 | 2021-08-18 | Ghost Factory map, XP/credits nerf for inactive players, new store UI |
| 7.7 | 2021-02-24 | Czechoslovakian medium tanks | | | 8.1 | 2021-07-15 | Armor highlighting updated |
| 7.6 | 2021-01-27 | AMC 13 90, TOG II buffs, free replay camera | | | 8.0 | 2021-06-08 | American experimental heavies (Yoh-line), PBR camos |
| 7.5 | 2020-12-09 | ATGM removal, Batchat, Kpz70, T-2020 buff | | | 7.9 | 2021-04-27 | Mines rework, new tutorial, colorblind mode, JgPz E100 legendary camo |
| 7.4 | 2020-11-12 | TD buffs, Clan missions | | | 7.8 | 2021-03-24 | Mid-tier balance changes, Grille line new consumables |
| 7.3 | 2020-10-08 | Swedish HT line | | | 7.7 | 2021-02-24 | Czechoslovakian medium tanks |
| 7.2 | 2020-08-19 | Balance changes, added tier X ammo capa, new aiming reticles | | | 7.6 | 2021-01-27 | AMC 13 90, TOG II buffs, free replay camera |
| 7.1 | 2020-07-15 | New Yukon map, IS-6, KV-4, Patton 48 armor buff, Grille DPM buff, SP IC, AMZ 13 75, M41 Bulldog mobility buff | | | 7.5 | 2020-12-09 | ATGM removal, Batchat, Kpz70, T-2020 buff |
| 7.0 | 2020-06-17 | British LTs, graphics improvements, ATGM nerf, Sheridan nerf, map fixes | | | 7.4 | 2020-11-12 | TD buffs, Clan missions |
| 6.10 | 2020-04-29 | T92E1 nerf, Tier V-IX heavy HP buff, Battle Pass, map fixes | | | 7.3 | 2020-10-08 | Swedish HT line |
| 6.9 | 2020-03-25 | Japanese TDs, Tier X heavy HP buff | | | 7.2 | 2020-08-19 | Balance changes, added tier X ammo capa, new aiming reticles |
| 6.8 | 2020-02-19 | ATGM nerf, Hellas map | | | 7.1 | 2020-07-15 | New Yukon map, IS-6, KV-4, Patton 48 armor buff, Grille DPM buff, SP IC, AMZ 13 75, M41 Bulldog mobility buff |
| 6.7 | 2020-01-15 | ATGM US Lights | | | 7.0 | 2020-06-17 | British LTs, graphics improvements, ATGM nerf, Sheridan nerf, map fixes |
| 6.6 | 2019-12-18 | T-62A + Leo buffs | | | 6.10 | 2020-04-29 | T92E1 nerf, Tier V-IX heavy HP buff, Battle Pass, map fixes |
| 6.5 | 2019-11-21 | New UI | | | 6.9 | 2020-03-25 | Japanese TDs, Tier X heavy HP buff |
| 6.4 | 2019-10-16 | Halloween map, mid-tier HT buff... | | | 6.8 | 2020-02-19 | ATGM nerf, Hellas map |
| 6.3 | 2019-09-18 | European line | | | 6.7 | 2020-01-15 | ATGM US Lights |
| 6.2 | 2019-08-14 | New MM | | | 6.6 | 2019-12-18 | T-62A + Leo buffs |
| 6.1 | 2019-07-10 | Autoloader buff | | | 6.5 | 2019-11-21 | New UI |
| 6.0 | 2019-06-05 | UK TD line #2 | | | 6.4 | 2019-10-16 | Halloween map, mid-tier HT buff... |
| 5.10 | 2019-04-24 | new missions | | | 6.3 | 2019-09-18 | European line |
| 5.9 | 2019-03-27 | New shell tracers, minor fixes | | | 6.2 | 2019-08-14 | New MM |
| 5.8 | 2019-02-21 | Chinese TD line | | | 6.1 | 2019-07-10 | Autoloader buff |
| 5.7 | 2019-01-16 | Avatars | | | 6.0 | 2019-06-05 | UK TD line #2 |
| 5.6 | 2018-12-05 | Normandy map | | | 5.10 | 2019-04-24 | new missions |
| 5.5 | 2018-11-13 | Low-tier clean-up | | | 5.9 | 2019-03-27 | New shell tracers, minor fixes |
| 5.4 | 2018-10-10 | MM "rigging" adjusted | | | 5.8 | 2019-02-21 | Chinese TD line |
| 5.3 | 2018-09-12 | MM "rigging" started, Newbie queue added | | | 5.7 | 2019-01-16 | Avatars |
| 5.2 | 2018-08-22 | Faust map | | | 5.6 | 2018-12-05 | Normandy map |
| 5.1 | 2018-07-31 | New MM: vehicle class matching | | | 5.5 | 2018-11-13 | Low-tier clean-up :-( |
| 5.0 | 2018-06-30 | Vineyeards map update, Spare Parts killed | | | 5.4 | 2018-10-10 | MM "rigging" adjusted |
| 4.10 | 2018-05-24 | Alpenstadt map | | | 5.3 | 2018-09-12 | MM "rigging" started, Newbie queue added |
| 4.9 | 2018-04-25 | Chinese heavy tanks | | | 5.2 | 2018-08-22 | Faust map |
| 4.8 | 2018-03-28 | Choice of battle modes, crew skills accelerator | | | 5.1 | 2018-07-31 | New MM: vehicle class matching |
| 4.7 | 2018-02-28 | New minimap | | | 5.0 | 2018-06-30 | Vineyeards map update, Spare Parts removed ! |
| 4.6 | 2018-01-31 | Chinese nation | | | 4.10 | 2018-05-24 | Alpenstadt map |
| 4.5 | 2017-12-19 | Dynasty's Pearl map | | | 4.9 | 2018-04-25 | Chinese heavy tanks |
| 4.4 | 2017-11-09 | New British tanks | | | 4.8 | 2018-03-28 | Choice of battle modes, crew skills accelerator |
| 4.3 | 2017-10-10 | Level 7 screw skills | | | 4.7 | 2018-02-28 | New minimap |
| 4.2 | 2017-09-12 | French LTs, Naval Frontier map | | | 4.6 | 2018-01-31 | Chinese nation |
| 4.1 | 2017-08-16 | New markers | | | 4.5 | 2017-12-19 | Dynasty's Pearl map |
| 4.0 | 2017-07-13 | Rating battles | Y | | 4.4 | 2017-11-09 | New British tanks |
| 3.10 | 2017-06-15 | Fixes | Y | | 4.3 | 2017-10-10 | Level 7 screw skills |
| 3.9 | 2017-05-19 | Military Honor, Mayan Ruins | Y | | 4.2 | 2017-09-12 | French LTs, Naval Frontier map |
| 3.8 | 2017-04-24 | Spare Parts, New 9-slot Equipment system | Y | | 4.1 | 2017-08-16 | New markers |
| 3.7 | 2017-03-22 | Balance changes, Tournaments | Y | | 4.0 | 2017-07-13 | Rating battles (date uncertain) |
| 3.6 | 2017-02-16 | Vehicle Enrichment | Y | | 3.10 | 2017-06-15 | Fixes (date uncertain) |
| 3.5 | 2017-01-13 | Boosters, Dead rail update | Y | | 3.9 | 2017-05-19 | Military Honor, Mayan Ruins (date uncertain) |
| 3.4 | 2016-11-28 | Canyon map, USA T57 line | | | 3.8 | 2017-04-24 | Spare Parts, New 9-slot Equipment system (date uncertain) |
| 3.3 | 2016-11-01 | Updated Mines map | | | 3.7 | 2017-03-22 | Balance changes, Tournaments (date uncertain) |
| 3.2 | 2016-10-04 | Copperfield update | | | 3.6 | 2017-02-16 | Vehicle Enrichment (date uncertain) |
| 3.1 | 2016-09-03 | Clan tournaments, Yamato Harbor map | Y | | 3.5 | 2017-01-13 | Boosters, Dead rail update (date uncertain) |
| 3.0 | 2016-07-20 | Supremacy mode, Falls Creek update | Y | | 3.4 | 2016-11-28 | Canyon map, USA T57 line |
| 2.11 | 2016-06-28 | Vineyeards map, Oasis Palms update, German paper TDs | | | 3.3 | 2016-11-01 | Updated Mines map |
| 2.10 | 2016-06-07 | Rockfield map update, Tank birthdays, high-pen gun for IS-6 | | | 3.2 | 2016-10-04 | Copperfield update |
| 2.9 | 2016-05-03 | Training rooms, +/-1 Matchmaker | Y | | 3.1 | 2016-09-03 | Clan tournaments, Yamato Harbor map (date uncertain) |
| 2.8 | 2016-04-04 | New Russian TD line, new consumables system | Y | | 3.0 | 2016-07-20 | Supremacy mode, Falls Creek update (date uncertain) |
| 2.7 | 2016-03-07 | Mirage map | Y | | 2.11 | 2016-06-28 | Vineyeards map, Oasis Palms update, German paper TDs |
| 2.6 | 2016-02-10 | German LTs, shooting through obstacles | Y | | 2.10 | 2016-06-07 | Rockfield map update, Tank birthdays, high-pen gun for IS-6 |
| 2.5 | 2016-01-11 | Camouflages, Clan supply | Y | | 2.9 | 2016-05-03 | Training rooms, +/-1 Matchmaker (date uncertain) |
| 2.4 | 2015-12-09 | Additional Japanese tanks, windows version | Y | | 2.8 | 2016-04-04 | New Russian TD line, new consumables system (date uncertain) |
| 2.3 | 2015-11-12 | Canal map | Y | | 2.7 | 2016-03-07 | Mirage map (date uncertain) |
| 2.2 | 2015-10-05 | Desert Sands map update | Y | | 2.6 | 2016-02-10 | German LTs, shooting through obstacles (date uncertain) |
| 2.1 | 2015-09-07 | UK TDs, Clan Chat | Y | | 2.5 | 2016-01-11 | Camouflages, Clan supply (date uncertain) |
| 2.0 | 2015-08-05 | Clans, Oasis Palms updated | | | 2.4 | 2015-12-09 | Additional Japanese tanks, windows version (date uncertain) |
| 1.11 | 2015-07-13 | KV-2, KV-13, Sherman Jumbo | Y | | 2.3 | 2015-11-12 | Canal map (date uncertain) |
| 1.10 | 2015-06-11 | Port Bay map | Y | | 2.2 | 2015-10-05 | Desert Sands map update (date uncertain) |
| 1.9 | 2015-05-13 | New German medium tanks (Leo) | Y | | 2.1 | 2015-09-07 | UK TDs, Clan Chat (date uncertain) |
| 1.8 | 2015-04-14 | Game tutorial, Bot map for new players | Y | | 2.0 | 2015-08-05 | Clans, Oasis Palms updated |
| 1.7 | 2015-02-16 | US Turreted TDs | Y | | 1.11 | 2015-07-13 | KV-2, KV-13, Sherman Jumbo (date uncertain) |
| 1.6 | 2015-01-19 | Castilla map, UK HT line | Y | | 1.10 | 2015-06-11 | Port Bay map (date uncertain) |
| 1.5 | 2014-12-01 | UK Nation | Y | | 1.9 | 2015-05-13 | New German medium tanks (Leo) (date uncertain) |
| 1.4 | 2014-10-29 | German HT line (Maus) | Y | | 1.8 | 2015-04-14 | Game tutorial, Bot map for new players (date uncertain) |
| 1.3 | 2014-10-02 | USSR IS-4 line, Lost Temple, Black Goldville maps | Y | | 1.7 | 2015-02-16 | US Turreted TDs (date uncertain) |
| 1.2 | 2014-08-20 | Oasis Palms map | Y | | 1.6 | 2015-01-19 | Castilla map, UK HT line (date uncertain) |
| 1.1.1 | 2014-07-23 | Fixes :-) | | | 1.5 | 2014-12-01 | UK Nation (date uncertain) |
| 1.0 | 2014-06-26 | Worldwide launch | | | 1.4 | 2014-10-29 | German HT line (Maus) (date uncertain) |
| 0.9 | 2014-05-05 | Nordic soft launch | | | 1.3 | 2014-10-02 | USSR IS-4 line, Lost Temple, Black Goldville maps (date uncertain) |
| 1.2 | 2014-08-20 | Oasis Palms map (date uncertain) |
| 1.1.1 | 2014-07-23 | Fixes :-) |
| 1.0 | 2014-06-26 | Worldwide launch |
| 0.9 | 2014-05-05 | Nordic soft launch |
+459 -21
View File
File diff suppressed because it is too large. Load diff