Problem now solved fetching battles for WoT version 1.10.1.X
Latest version of WoT had major changes compared to previous version, a big rework for reading battle data was needed.

The latest Wot Numbers version 0.28.1 is now working as normal, but it was quite som work to get it  up and running again.


  • SupremeClicker (FKA BattleHook) - 21.10.2020

    Update 1.10.1 seems to have broken retrieving the battle results.  The retrieval scripts/program will need to be updated for it to work again.

  • ArmorSlayerCA - 21.10.2020

    Yeap - here too!

  • Desidarius - 21.10.2020

    same

  • LtHorst - 22.10.2020

    Same here

  • D0ct0rDave - 22.10.2020

    idem

  • Melimyu - 22.10.2020

    Same problem. Please, don't let us standed

  • mfezi - 23.10.2020

    Would really appreciate it if you would get this working again as soon as possible. We are all depending on you Bad Button!....

  • _tbird_ - 23.10.2020

    same

  • splashrun - 23.10.2020

    ###### WoTDC2J 1.6.0.0 DOSSIER FILE CONVERT TO JSON
    Time: 2020-10-23 14:27:14.910000
    Encoding: ascii - mbcs
    Processing xxxxx\AppData\Roaming\Wot Numbers\dossier.dat
    Dossier version 24
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    Unsupported tankversion 104
    ###### Done!

    23/10/2020 14:27:16     > > Renamed copied dossierfile as previous file
    23/10/2020 14:27:23     > > Battle fetch performed successfully, no new battles found
    23/10/2020 14:27:23     > Reading battle files started after successfully dossier file check
    23/10/2020 14:27:23     > Start looking for battle result
    23/10/2020 14:27:23     > DAT-files skipped, read previous: 34
    23/10/2020 14:27:23     > DAT-files skipped, read previous: 2
    23/10/2020 14:27:23     > No battle files found
    23/10/2020 14:27:23     > Start looking for converted json battle files
    23/10/2020 14:27:23     > > Battle file returned result: 'error', could not process JSON file: xxxxxx\AppData\Roaming\Wot Numbers\BattleResult\25655782587631357.json
    23/10/2020 14:27:23     > > Battle file analyze terminated for file: xxxxxx\AppData\Roaming\Wot Numbers\BattleResult\25655782587631357.json

    {
    23/10/2020 14:27:23 ### EXCEPTION ###
       Source:          WotNumbers
       TargetSite:      Void MoveNext()
       Data:            System.Collections.ListDictionaryInternal
       Message:         Object reference not set to an instance of an object.
       Stack Trace:
       at WinApp.Code.Battle2json.<RunBattleResultRead>d__10.MoveNext()
       Details:
       Battle result file analyze process terminated due to faulty file structure or content
    }


    23/10/2020 14:27:23     > > Deleted faulty JSON file: xxxxx\Roaming\Wot Numbers\BattleResult\25655782587631357.json

  • splashrun - 23.10.2020

    same error for each json. Funny thing, because the json battleresult files all contain this:

    {
        "parser": {
            "message": "Battle result cannot be read",
            "result": "error"
        }
    }

  • BadButton - 23.10.2020

    Hi all, bigger changes to data structure in this version. Both dossier file reporting overall tank stats and battle file reporting detail battle stats are changed. Will try my best to get it sorted as soon as possible, hopefully a fix is ready tomorrow.

  • BadButton - 23.10.2020
    Quoted: splashrun

    same error for each json. Funny thing, because the json battleresult files all contain this:

    {
        'parser': {
            'message': 'Battle result cannot be read',
            'result': 'error'
        }
    }

    When the binary battle file from the game client has changed it cannot be read and this content is then produced to the output (json) file.

  • BoHarper - 24.10.2020

    Thanks BadButton. I can't live without  it.

  • IronMike23 - 24.10.2020

    I believe Wargaming is now blocking XVM and any type of stat readers now... But not 100% on that thought

    This also happing on NA server as well

  • Melimyu - 24.10.2020

    Thanks RedButton for your work cool

  • BadButton - 24.10.2020

    Thanks' for positive feedback wink

    I have managed to rework the dossier parser, so I can now get the basics stats per battle.

    The battle parser was even more reworked. I am doing my best to figure it out, but my Python knowledge it a bit limited. I will share my battle parser decompiler on GIT and ask for help if I get stuck.

  • BadButton - 25.10.2020

    A long day has passed with trials and errors, still far away from beeing able to decompile the battle file.

    Data structure is completely changed (as far as I can see), and my skills seems to come to a limit. I have not been able to find the correct classes to be able to extract data. Reworking previous used methods has so far not succeded.

    If anyone has any idea on how to rework this, please let me know.

  • BadButton - 25.10.2020

    Here are link to a GIT repository with files and some documentation, for version 1.10.1.0 nothing works as is now yell

    https://bitbucket.org/BadButton/wot-battle-parser/src/master/

  • Moordaemon - 25.10.2020

    I feared that the best tool for WOT would be dead

  • D0ct0rDave - 25.10.2020

    First time to work on wot data stuff, I'll take a look and see if there is something I can help.

  • BadButton - 25.10.2020

    Thanks' Doc.Dave smile I just recently noticed you have offered to help, I would appreciate any help I can get figuring out this!

  • BadButton - 25.10.2020

    btw: for testing purposes I recommend playing one battle in WoT and copy the battle file from :

    %appdata%\Wargaming.net\WorldOfTanks\battle_results

    You will find a subfolder with files in it, one per battle you have played. These files are removed when WoT is restarted.

    What you can do is play one battle, look for the latest file - and take some screenshots from the ingame after battle stats, then you have some numbers you can look for when trying to understand the data retrived from the battle file using the parser.

  • D0ct0rDave - 25.10.2020

    Yes, I first did a test with the already provided data file, then I remembered when using vbAddict where the data files were stored.

    I just started doing some baby steps since everything is new for me (I'm c++ programmer)  and figuring out how the data is deserialize.

    I'm getting currently the following error 

    {'error': 'Wrong number of items in avatar result list (expecting:52 - found:47)'}
    Battle result cannot be read

    but dont worry I'll continue checking how everything works and if I cannot manage to get anything I'll just come here for help : )

  • Sgt_Nygard - 26.10.2020

    thx for the hard work man.

  • umemodoki - 26.10.2020

    I tried the following command at the command prompt to see if pickle could deserialize the battle results, but it failed.

    ”python -m pickle battle_results.bat”

    Maybe my method is wrong or not serialized with pickle (or cPickle)

  • D0ct0rDave - 27.10.2020

    Maybe the input file is wrong? I did this and it worked although I got no output.

    What is the expected output of this sentence?

  • ChiefR - 27.10.2020

    I really want to thank you for this program, I used to run those in game mods so I could see my battle results and it just seemed to gum every thing up, I dont even run XVM any more, this program is the best thing, maybe WG should incorperate it into their game. 

    Any ideas when this will be back up and running?

    Thanks

    ChiefR

  • D0ct0rDave - 27.10.2020

    I'm getting the following error: ValueError: too many values to unpack

    traceback (most recent call last):
      File "d:\temp\BadButton-wot-battle-parser\versions\WoT_1.10.1.0b\wotbr2j.py", line 172, in convertToFullForm
        BATTLE_RESULTS_META = Meta(brc.BATTLE_RESULTS)
      File "d:\temp\BadButton-wot-battle-parser\versions\WoT_1.10.1.0b\dictpackers.py", line 186, in __init__
        DictPacker.__init__(self, *metaData)
      File "d:\temp\BadButton-wot-battle-parser\versions\WoT_1.10.1.0b\dictpackers.py", line 78, in __init__
        self._checksum = self.checksum(self._metaData)
      File "d:\temp\BadButton-wot-battle-parser\versions\WoT_1.10.1.0b\dictpackers.py", line 150, in checksum
        name, entry_type, default, packer, aggregatorName = entry
    ValueError: too many values to unpack

    at the moment of creating the BATTLE_RESULTS_META object through the Meta(BATTLE_RESULTS) constructor.

    it looks like is failing at this point:

    At this point throws an exception and the flow goes throw the exception handling branch.
    Why is far beyond my scope : \
  • PjhDeKoning - 27.10.2020

    I managed to get the wotbr2j.py to run with some changes, see: https://bitbucket.org/pjhdekoning/workspace/snippets/on4GLE

    It looks like it only parses the personal results and not the results from the rest of the players, but it is a start.

    If people could test this to see if the values are correct (I stopped playing for a while)

    I will look into parsing the rest of the data when I have some more time.

  • LtHorst - 27.10.2020

    THX for the hard work !

  • M4D_0f_0C5 - 27.10.2020

    Would test it, if someone would compile it for me :)

  • Nrde - 28.10.2020

    It's python, you don't have to compile it.

  • DuggieNZ - 28.10.2020

    how does one use or run it ?

  • Nrde - 28.10.2020

    You need to have Python installed. Then you give python the .py file as a parameter.

    something like c:\programfiles\python\python.exe program.py

    Although if python is in your path you don't need to give the full path. Additionally python 2.x and python 3.x are not fully compatible, so it depends of the version used which one you should use. (python2 or python3)

  • PjhDeKoning - 28.10.2020

    To test this, download the files from https://bitbucket.org/BadButton/wot-battle-parser/src/master/ and copy the contenst of wot-battle-parser\versions\WoT_1.10.1.0\*.py to C:\Program Files (x86)\Wot Numbers\Dossier2json. Replace the dictpackers.py with the one from https://bitbucket.org/pjhdekoning/workspace/snippets/on4GLE and give it a spin. No guarantees.

  • ProvoBob - 29.10.2020

    Do we have any word on what is happening with this program?  Haven't seen new games added for 10 days now.  I miss it dearly.

    Wish I was a computer guru to try some of the stuff listed.

  • D0ct0rDave - 29.10.2020

    I manged to decompress some more information (Player Information)

    https://bitbucket.org/D0ct0rDave/workspace/snippets/xngBp6

    (uses PjhDeKoning patch)

  • Gladiusetscutum85 - 29.10.2020

    Thanks for your efforts - much appreciated!

    Do we know WHY it has happened?  Is it just a lack of communication from WG  as to what/how they have changed things?

    Or is it some deliberate new policy to deter external programs?  I'm hoping it's not the latter, but I believe they have tried to stop skin designers, presumably so their own are used more.  Something like that, anyway.

  • BadButton - 30.10.2020

    Thanks for the effort PjhDeKoning and DocDave. I will check what you have figured out this weekend.

  • BadButton - 30.10.2020
    Quoted: Gladiusetscutum85

    Thanks for your efforts - much appreciated!

    Do we know WHY it has happened?  Is it just a lack of communication from WG  as to what/how they have changed things?

    Or is it some deliberate new policy to deter external programs?  I'm hoping it's not the latter, but I believe they have tried to stop skin designers, presumably so their own are used more.  Something like that, anyway.

    Wargaming has no official solution for supplying game statistics locally from the game client, they have never offered this. Almost every WoT version / patch have some changes, and this time really big changes making it harder than normal. I don't think Wargaming has done it difficult on purpose, I think they just don't care about it and makes whatever changes that suits them.

  • Gladiusetscutum85 - 30.10.2020

    Understood and thanks, again, for what you do, both in the original making of WoTNumbers and in trying to keep it up to date.

    I sort of understand it from their side.  They do their thing with the game and can't really be responsible for anything beyond that.  However, programs such as WoTNumbers are an asset to the game and it would be good to think that they could arrange at least some consistency and co-operation for the benefit of all.

    Good wishes - and good luck!  :-)

  • splashrun - 30.10.2020

    @badbutton, I asked Aslain (www.aslain.com) the guy that makes a very good and popular mod-pack, if he know somebody with WoT and Python skills. He has a name (Rajcel). Shall I ask him to help or assist, or are you fine right now?

  • Saffron Blaze - 30.10.2020

    Call it benign neglect or indifference, but WG's lack of support for the few contributors that bring value added aspects to their game seems short-sighted.

  • BoHarper - 30.10.2020

    Thanks for all the hard word peeps! I need my WOT Numbers!

  • D0ct0rDave - 30.10.2020

    I managed to extract almost all the information you had on 1.10.4, although I don't know if we can relay on this or not, someone who understands should take a look at the JSON produced to check it.

    Take in consideration I had zero knowledge about the data format and structure of data and almost zero python knowledge.

    I created a repository with my version. Please check it out.

    https://bitbucket.org/D0ct0rDave/wotnumbers-battleresultsparser/src/master/

    The information remaining and not available in the JSON is this:

            #for vehTypeCompDescr, ownResults in battle_results.iteritems():
            #   vehPersonal = personal[vehTypeCompDescr] = brs.VEH_FULL_RESULTS.unpackWthoutChecksum(ownResults)            
            #    if type(vehPersonal) is dict:
            #        try:
            #            vehPersonal['details'] = brs.VehicleInteractionDetails.fromPacked(vehPersonal['details']).toDict()
            #        except Exception: 
            #            return 0, {'error'}
            #        vehPersonal['isPrematureLeave'] = avatarResults['isPrematureLeave']
            #        vehPersonal['fairplayViolations'] = avatarResults['fairplayViolations']

    I currently do not know how this works so I have to figure out what it's happening here.

    I hope this is useful for you : )

  • BadButton - 30.10.2020
    Quoted: splashrun

    @badbutton, I asked Aslain (www.aslain.com) the guy that makes a very good and popular mod-pack, if he know somebody with WoT and Python skills. He has a name (Rajcel). Shall I ask him to help or assist, or are you fine right now?

    Hi, I believe we are still missing some parts. Any help are appreciated! It would be great If you could ask for assistance!

  • MochaDragon - 31.10.2020
    Quoted: D0ct0rDave

    I managed to extract almost all the information you had on 1.10.4, although I don't know if we can relay on this or not, someone who understands should take a look at the JSON produced to check it.

    Take in consideration I had zero knowledge about the data format and structure of data and almost zero python knowledge.

    I created a repository with my version. Please check it out.

    https://bitbucket.org/D0ct0rDave/wotnumbers-battleresultsparser/src/master/

    I hope this is useful for you : )

    So, does this mean it works with the full WoTNumbers program?

  • Okuni - 01.11.2020

    I do not know python so I can't help. I send you good vibes to everyone who help this project. Thx to you guys !

  • splashrun - 01.11.2020
    Quoted: BadButton
    Quoted: splashrun

    @badbutton, I asked Aslain (www.aslain.com) the guy that makes a very good and popular mod-pack, if he know somebody with WoT and Python skills. He has a name (Rajcel). Shall I ask him to help or assist, or are you fine right now?

    Hi, I believe we are still missing some parts. Any help are appreciated! It would be great If you could ask for assistance!

    I sent the request for help to Rajcel, a modder, python guy, and knower of WG things. Let s see if he wants to help!

  • splashrun - 02.11.2020

    Badbutton, this website does not allow for Private messages. You can PM RaJCeL through Aslain.com website though. Gives you a chance to put wotnumbers and the BRR in his modapck at the same time. Maybe RajCeL will pop up here though, let s see

  • BadButton - 03.11.2020

    @DoctorDave: How did you come up with your version of battle_results_shared? It contains more than the original one from the source, did you find the content from other files?

  • D0ct0rDave - 03.11.2020

    When we got the first version of the scripts, they were not working giving the following runtime exception:

    Exception has occurred: ValueError
    too many values to unpack
    So my first goal was to get the scripts working to get something to start working with. Taking in consideration this, this is what I did:

    I inspected the wotbr2j and started uncommenting the different lines in the convertToFullForm method one by one trying to make them work.
    For instance this portion of code:

    for accountDBID, playerAsList in playersAsList.iteritems(): br2jResult['players'][accountDBID] = brs.PLAYER_INFO_META.unpackWthoutChecksum(playerAsList)

    so I reintroduced the struct PLAYER_INFO in the 1.10.1.0 version getting it from the 1.10.0.4 version. The script didn't complain, although further inspection of the JSON data dumped need to be checked.

    Same for common results. I uncommented the lines

    commonAsList, playersAsList, vehiclesAsList, avatarsAsList = Unpickler.loads(zlib.decompress(pickled))
    fullForm['common'] = brc.COMMON_RESULTS.unpackWthoutChecksum(commonAsList)

    The remaining things were way more big so it took me more time. I worked on the AVATAR_PUBLIC_RESULTS and VEH_PUBLIC_RESULTS STRUCTURES. I placed them in the shared but they can be located in better places if are more suitable.

    I got them from the original 1.10.0.4 version and modified them according to what the Meta method expects, and expecting again to check the output of the deserialization. By inspecting data output some one with knowledge can figure out if the data is correct or is there some missalignment due to missing or extra fields.
  • Sgt_Nygard - 03.11.2020

    WOW Doc great work,,, thank you for help Mad.

  • splashrun - 03.11.2020

    @BadButton,

    RajCel thinks he can fix it quickly. But you have to contact him here:

    Please ask the BadButton to contact me on one of the following possibilities: this forum PM (my user RaJCeL), wot eu forum PM (my user RaJCeL), discord PM (my user: RaJCeL#5186).

    Also, let me know if you dont want help, so I can tell him.

  • Stan Lee - 04.11.2020

    What's the status please?

  • Captain_Hornblower - 04.11.2020

    Can't help with the code, but I really love the tool and would be very grateful if U could make it work again!

  • SupremeClicker (FKA BattleHook) - 04.11.2020
    Quoted: D0ct0rDave

    I managed to extract almost all the information you had on 1.10.4, although I don't know if we can relay on this or not, someone who understands should take a look at the JSON produced to check it.

    Take in consideration I had zero knowledge about the data format and structure of data and almost zero python knowledge.

    I created a repository with my version. Please check it out.

    https://bitbucket.org/D0ct0rDave/wotnumbers-battleresultsparser/src/master/

    The information remaining and not available in the JSON is this:

            #for vehTypeCompDescr, ownResults in battle_results.iteritems():
            #   vehPersonal = personal[vehTypeCompDescr] = brs.VEH_FULL_RESULTS.unpackWthoutChecksum(ownResults)            
            #    if type(vehPersonal) is dict:
            #        try:
            #            vehPersonal['details'] = brs.VehicleInteractionDetails.fromPacked(vehPersonal['details']).toDict()
            #        except Exception: 
            #            return 0, {'error'}
            #        vehPersonal['isPrematureLeave'] = avatarResults['isPrematureLeave']
            #        vehPersonal['fairplayViolations'] = avatarResults['fairplayViolations']

    I currently do not know how this works so I have to figure out what it's happening here.

    I hope this is useful for you : )

    I replaced the original files with yours, but sadly it does not work for me... but keep up the good work !!!

  • Moordaemon - 06.11.2020

    Excuse my bad English. GOOGLE.

    You all try very hard, but I slowly see the danger that if WINMX works again we can use it for 2 - 3 days and then WOT changes something and it's over again. We've had that a lot lately. That should slowly get into professional hands.

    I've also donated with PayPal occasionally, but not anymore.

    Why do mod creators manage it within a few hours?

    As an example, why can the World of Tanks Replay Analyzer - Version 1.10.1.0 WIP # 1 tool still read out all replays?

  • splashrun - 06.11.2020

    Actually, RaJCeL, maker of  in battle statistics, knows exactly how to do it, but his help has not yet been asked.

  • splashrun - 06.11.2020

    Maybe instead of fixing the BRR, Wotnumbers could use other Result Retrievers?

    Functioning examples:

    https://wgmods.net/4662/ (https://github.com/lgfrbcsgo/wot-battle-results-server)

    or the one that extracts the results from the replayfile https://pypi.org/project/wotreplay/1.0.0/

    Or ask those devs to help the brr?

  • MochaDragon - 06.11.2020
    Quoted: splashrun

    Actually, RaJCeL, maker of  in battle statistics, knows exactly how to do it, but his help has not yet been asked.

    This statement seems odd to me.  Is he asking for money or something?

  • MochaDragon - 06.11.2020
    Quoted: Nobody33

    Why do mod creators manage it within a few hours?

    As an example, why can the World of Tanks Replay Analyzer - Version 1.10.1.0 WIP # 1 tool still read out all replays?

    They manage it within a few hours because they actively play the game and are still enthusiastic about supporting their mods.  Once either of those stop everything else goes away.  I've seen it countless times for all sorts of websites/tools/mods for this game over the past 8 years.

    The other way they manage it is they download the Common Test version of the client a week or two before the official release and update their mods so that they're ready to go on release day.  Again, for this to happen see my point above.

    Is Replay Analyzer open source?  If so, perhaps there's something to be learned from their code.  If not, perhaps reuqesting their help on this project would be fruitful.  Of course that works on replays not battle results so there may be a difference.

  • MochaDragon - 06.11.2020
    Quoted: splashrun

    Maybe instead of fixing the BRR, Wotnumbers could use other Result Retrievers?

    Functioning examples:

    https://wgmods.net/4662/ (https://github.com/lgfrbcsgo/wot-battle-results-server)

    or the one that extracts the results from the replayfile https://pypi.org/project/wotreplay/1.0.0/

    Or ask those devs to help the brr?

    Neither of those have been updated for 1.10.1, but good idea.

  • Moordaemon - 08.11.2020

    No Wot Numbers for 2.5 weeks. And still no hope that it will work again. The next update from WOT will be coming soon and then? Use 2-3 days and wait again for weeks. I think the tool died.

  • D0ct0rDave - 09.11.2020

    Hey @badbutton I've been inspecting one of my battles by converting the data to JSON using the version of the scripts I did, and there are many fields that look correct.

    Damage / Assisted damage / creadits / experience earned and many others.

    One thing I discovered is that vehicles or players are numbered with an incremental ID (if you count you realize there are 30 entries ; )

    And one of those IDs is myself:

    In this case the ID 49153569

    If we look at the results of the replay uploaded, my damage from a distance more than 300 metters is 820 which is the same value appearing in damageAssistedRadio so most probably we should switch this field with another one.

    Same for Distance traveled which is 2,31 and is the same as the killerId 2312 (this value already appears before in the "personal" section so I know 2312 is the distance travelled)

    In the other hand I killed 2 enemies in this game:

    So it is expected that my ID would appear normally on the killerID field of 2 other players. But currently killerID shows another info, so lets see what field contains that my ID. Search 49153569

    What is the information you miss there or what are the fields you think are not properly exported?

      "49153550": [

    {
            "damageAssistedTrack": 0,

    ...

            "tkills": 0,
            "potentialDamageReceived": 49153569,
            "flagActions": 1,

    ,...

    }

    "49153559": [
          {

            "damageAssistedTrack": 0,

    ....

    "tkills": 0,
            "potentialDamageReceived": 49153569,
            "damageDealt": 1,

    ...

    }

    As we can see here the field potentialDamageReceived contains my ID, so we have to switch this field with the KillerID previously found.

    To get a something working we can just discard the fields that your application doesn't handle, and just focus on what fields are really needed to make it work.

    Please let me know what fields are wrong or you miss to make the application work again.

    Thanks.

  • D0ct0rDave - 09.11.2020

    Another question, why are the fields sorted alphabetically in the JSON output? 

            "49153569": [
                {
                    "accountDBID": 0,
                    "achievementCredits": 0,
                    "achievementFreeXP": 0,
                    "achievementXP": 0,
                    "achievements": 421,
                    "capturePoints": 0,
                    "capturingBase": null,
                    "credits": 65157,
                    "damageAssistedInspire": 0,
                    "damageAssistedRadio": 820,
                    "damageAssistedSmoke": 0,
                    "damageAssistedStun": 2475,
                    "damageAssistedTrack": 0,
                    "damageBlockedByArmor": 1011,
                    "damageDealt": 7,
                    "damageReceived": 0,
                    "damageReceivedFromInvisibles": 0,
                    "damaged": 546122589,
                    "deathCount": 1030,
                    "deathReason": -1,
                    "directHits": 7,
                    "directHitsReceived": 972,
                    "directTeamHits": 7,
                    "droppedCapturePoints": 0,
                    "equipmentDamageDealt": 2043,
                    "explosionHits": 0,
                    "explosionHitsReceived": 3,
                    "extPublic": {},
                    "flagActions": 1,
                    "flagCapture": 0,
                    "health": 239,
                    "index": 0,
                    "isTeamKiller": false,
                    "killerID": 2312,
                    "kills": 0,
                    "lifeTime": 0,
                    "maxHealth": 1250,

    .....

    Where does this sorting comes from?

    In the original structure definition the fields appear in another order:

    _VEH_CELL_RESULTS_PUBLIC = Meta([
    ('health', int, 0, None, 'skip', ENTRY_TYPE.COMMON),
    ('maxHealth', int, 0, None, 'skip', ENTRY_TYPE.COMMON),
    ('credits', int, 0, None, 'sum', ENTRY_TYPE.COMMON),
    ('xp', int, 0, None, 'sum', ENTRY_TYPE.COMMON),
    ('xp/attack', int, 0, None, 'sum', ENTRY_TYPE.COMMON),
    ('xp/assist', int, 0, None, 'sum', ENTRY_TYPE.COMMON),
    ('xp/other', int, 0, None, 'sum', ENTRY_TYPE.COMMON),
    ('xpPenalty', int, 0, None, 'skip', ENTRY_TYPE.COMMON),
    ('achievementCredits', int, 0, None, 'skip', ENTRY_TYPE.COMMON),
    ('achievementXP', int, 0, None, 'skip', ENTRY_TYPE.COMMON),
    ('achievementFreeXP', int, 0, None, 'skip', ENTRY_TYPE.COMMON),
    ('shots', int, 0, None, 'sum', ENTRY_TYPE.COMMON),
    ....

    It looks like this sorting is done before assigning values, and could potentially be the reason why the values are totally messed and not properly setup.

  • MochaDragon - 10.11.2020

    Looks like we need an old .dat file that works with the old parser and/or the output of the same.  Then you can see what the binary is expecting as input.

  • Moordaemon - 11.11.2020

    3 Weeks.

    I see no chance more.

    Dead

  • zzarac - 11.11.2020
    Quoted: Nobody33

    3 Weeks.

    I see no chance more.

    Dead

    Feel free to write your own application which you will be able to update in 25 seconds.

    Until then, please stop with "hurr-durr dead" comments, it only shows your disrespect and feeling of entitlement.

    If the developer decides it is futile to continue working on this project, he will let us know.

  • George - 12.11.2020

    as an old supporter i feel sorry for this bad outcome of the app since the last 3-4 weeks.

    It has actually lead me to stop playing the game itself.

    We all know its a hard task that needs many hours of work, and you make no money from this, so i guess we should already be very gratefull for all your job.

    If we can somehow help, let us know,

    All the best, 

  • Moordaemon - 12.11.2020
    Quoted: zzarac
    Quoted: Nobody33

    3 Weeks.

    I see no chance more.

    Dead

    Feel free to write your own application which you will be able to update in 25 seconds.

    Until then, please stop with 'hurr-durr dead' comments, it only shows your disrespect and feeling of entitlement.

    If the developer decides it is futile to continue working on this project, he will let us know.

    So far I have always donated regularly with PayPal. So I think I can write that too. And today the next update from WOT to 1.10.1.3.
    And that's exactly what I wrote a few days ago.

    WOt Numbers is a very good tool. But if it takes longer and longer after an update from WOT until it works again for 3 days, I see no more reason to donate via PayPal. It's a shame about the tool

  • Stan Lee - 12.11.2020

    A simple question.

    Is anyone co-ordinating the efforts of the people trying to help? I think that everyone waiting for a soloution to pop up and moaning when it doesn't is not helping anything.

    BadButton.. this be your home bro. Is a soloution worth hoping for or not?

  • George - 12.11.2020

    guys relax, maybe the creator has some RL difficulties, even (hope not) health issues and this has to come second. 

    I know losing wotnumbers  sucks, but this is not a big company to ask for someone to blame. 

  • Stan Lee - 13.11.2020

    lol no ill meant from me.

    BadeButton is a stand up guy and when he had difficulies he asked for help. Many people have tried.

    I just wondered if anyone had looked at all the answers and saw any conections that could solve the puzzle. I also asked BB if the prognoses is bad or good.

  • George - 14.11.2020

    The real worrysome is that 10-15 days now we have absolutely no reponse from him. I hope he is well.

    TBH these kind of projects, cannot be one-man-show. 

    It doesnt have to do with programming abilities, but with the general managing of the project. What if in RL you have some problems? It will blow up years of hard work.

    There should be at least 2-3 people in the admin team, of confidence, with full admin rights so if anything happens they can intervene. 

    I really love wot numbers, its propably the best side-program that was made for WoT. 

  • MochaDragon - 14.11.2020

    It would be nice if he could open-source the Windows binary component.

  • superduper263 - 16.11.2020

    I'm not a python guy but can have a look.

    -where are the data comming from now? Which files do you parse out?

    -is there a reference table to relate the database columsn to the values of the matches?

  • Stan Lee - 16.11.2020
    Quoted: superduper263

    I'm not a python guy but can have a look.

    -where are the data comming from now? Which files do you parse out?

    -is there a reference table to relate the database columsn to the values of the matches?

     Read back in the thread.

  • mfezi - 16.11.2020

    I have been dabbling with this issue with very little knowledge of Python or it's data structures. Since we are dealing with changes to the data structure with every new version of Wot, I decided to delve into the structure of the .dat files, understand how and what data is stored, and quickly identify structural changes from version to version.

    My little progrgram is pretty basic, but it allows one to view the data in a .dat file and quickly identify structural changes.

    For example, here is one tuple containing player data....

    Tuple tt2 - contains a dict of 30 IDs with associated list of 7 items including player nickname
    1 <type 'list'> 1030383238 [-1148173994, 'ClintonCat', 'ClintonCat', None, None, None, 2, None]
    2 <type 'list'> 1007578377 [-1148173994, 'RRtomk', 'RRtomk', 1000013246, 'HACKR', None, None, None]
    3 <type 'list'> 1003772557 [-1148173994, 'Shouyu_Kousaka', 'Shouyu_Kousaka', 1000019147, '-MOE-', None, None, None]
    4 <type 'list'> 1008925838 [-1148173994, 'Aggressivepizza', 'Aggressivepizza', None, None, None, None, None]
    5 <type 'list'> 1005157903 [-1148173994, 'Vladimir47', 'raspcat', None, None, None, 2, None]
    6 <type 'list'> 1010480017 [-1148173994, '_Uranium', '_Uranium', 1000046719, 'SC0PE', None, None, None]
    7 <type 'list'> 1002185366 [-1148173994, 'Uselessbob', 'Uselessbob', 1000046719, 'SC0PE', None, None, None]
    8 <type 'list'> 1035584026 [-1148173994, 'iL_Duece', 'iL_Duece', None, None, None, 2, None]
    9 <type 'list'> 1014068081 [-1148173994, 'BOP_B3AKOHE_Vs_CTATUDO', 'getaway3', None, None, None, 2, None]
    10 <type 'list'> 1012705071 [-1148173994, 'la_chinycoltonrad12', 'Soapbuddy', None, None, None, 2, None]
    11 <type 'list'> 1019761328 [-1148173994, 'Mfezi', 'Mfezi', None, None, None, 2, None]
    12 <type 'list'> 1035710898 [-1148173994, 'Lord_Tanq1', 'Lord_Tanq1', None, None, None, None, None]
    13 <type 'list'> 1015006771 [-1148173994, 'Pontes10', 'Pontes10', None, None, None, None, None]
    14 <type 'list'> 1041456056 [-1148173994, 'Booky00', 'Booky00', None, None, None, None, None]
    15 <type 'list'> 1036746940 [-1148173994, 'Artyom_Bom', 'Angimsota', 1000058390, '_E-L_', None, 2, None]
    16 <type 'list'> 1003245249 [-1148173994, 'AWESOMEDUDE1235', 'AWESOMEDUDE1235', 1000021508, 'D-H-E', None, 2, None]
    17 <type 'list'> 1007306056 [-1148173994, 'nicktur2', 'nicktur2', None, None, None, None, None]
    18 <type 'list'> 1005381834 [-1148173994, 'Panic07', 'Panic07', None, None, None, None, None]
    19 <type 'list'> 1037848784 [-1148173994, 'SlayersPrime', 'SlayersPrime', 1000003357, '77G', None, 2, None]
    20 <type 'list'> 1001200725 [-1148173994, 'VictorXman', 'VictorXman', None, None, None, 2, None]
    21 <type 'list'> 1007975256 [-1148173994, 'ChronicDisorder', 'ChronicDisorder', 1000043052, 'GURUS', None, 2, None]
    22 <type 'list'> 1042373081 [-1148173994, 'ERNEST__HUJEC', 'ERNEST__HUJEC', None, None, None, 2, None]
    23 <type 'list'> 1007080795 [-1148173994, 'mike05072003', 'mike05072003', 1000010078, 'TLOS', None, 2, None]
    24 <type 'list'> 1008944605 [-1148173994, 'leuglymug322', 'OpSpec12076', 1000009356, 'ZEUS', None, 2, None]
    25 <type 'list'> 1005194974 [-1148173994, 'Archim4ndr0s', 'Archim4ndr0s', None, None, None, None, None]
    26 <type 'list'> 1000395103 [-1148173994, 'FrankenTank', 'FrankenTank', 1000022457, 'ROCKY', None, None, None]
    27 <type 'list'> 1001493743 [-1148173994, 'MailmanDon', 'MailmanDon', None, None, None, None, None]
    28 <type 'list'> 1007742321 [-1148173994, 'Alexei_BLR_RUS', 'Alexei_BLR_RUS', 1000051523, 'KOZAK', None, None, None]
    29 <type 'list'> 1017973622 [-1148173994, 'HDLscreamer', 'HDLscreamer', None, None, None, 2, None]
    30 <type 'list'> 1027137407 [-1148173994, 'Scorpin_2', 'Scorpin_2', 1000017592, 'WPP', None, None, None]
    --------------------------

    I was wondering if anybody would find this useful?. If so, I can make the py script available.

  • SupremeClicker (FKA BattleHook) - 16.11.2020
    Quoted: mfezi

    I have been dabbling with this issue with very little knowledge of Python or it's data structures. Since we are dealing with changes to the data structure with every new version of Wot, I decided to delve into the structure of the .dat files, understand how and what data is stored, and quickly identify structural changes from version to version.

    My little progrgram is pretty basic, but it allows one to view the data in a .dat file and quickly identify structural changes.

    For example, here is one tuple containing player data....

    Tuple tt2 - contains a dict of 30 IDs with associated list of 7 items including player nickname
    1 <type 'list'> 1030383238 [-1148173994, 'ClintonCat', 'ClintonCat', None, None, None, 2, None]
    2 <type 'list'> 1007578377 [-1148173994, 'RRtomk', 'RRtomk', 1000013246, 'HACKR', None, None, None]
    3 <type 'list'> 1003772557 [-1148173994, 'Shouyu_Kousaka', 'Shouyu_Kousaka', 1000019147, '-MOE-', None, None, None]
    4 <type 'list'> 1008925838 [-1148173994, 'Aggressivepizza', 'Aggressivepizza', None, None, None, None, None]
    5 <type 'list'> 1005157903 [-1148173994, 'Vladimir47', 'raspcat', None, None, None, 2, None]
    6 <type 'list'> 1010480017 [-1148173994, '_Uranium', '_Uranium', 1000046719, 'SC0PE', None, None, None]
    7 <type 'list'> 1002185366 [-1148173994, 'Uselessbob', 'Uselessbob', 1000046719, 'SC0PE', None, None, None]
    8 <type 'list'> 1035584026 [-1148173994, 'iL_Duece', 'iL_Duece', None, None, None, 2, None]
    9 <type 'list'> 1014068081 [-1148173994, 'BOP_B3AKOHE_Vs_CTATUDO', 'getaway3', None, None, None, 2, None]
    10 <type 'list'> 1012705071 [-1148173994, 'la_chinycoltonrad12', 'Soapbuddy', None, None, None, 2, None]
    11 <type 'list'> 1019761328 [-1148173994, 'Mfezi', 'Mfezi', None, None, None, 2, None]
    12 <type 'list'> 1035710898 [-1148173994, 'Lord_Tanq1', 'Lord_Tanq1', None, None, None, None, None]
    13 <type 'list'> 1015006771 [-1148173994, 'Pontes10', 'Pontes10', None, None, None, None, None]
    14 <type 'list'> 1041456056 [-1148173994, 'Booky00', 'Booky00', None, None, None, None, None]
    15 <type 'list'> 1036746940 [-1148173994, 'Artyom_Bom', 'Angimsota', 1000058390, '_E-L_', None, 2, None]
    16 <type 'list'> 1003245249 [-1148173994, 'AWESOMEDUDE1235', 'AWESOMEDUDE1235', 1000021508, 'D-H-E', None, 2, None]
    17 <type 'list'> 1007306056 [-1148173994, 'nicktur2', 'nicktur2', None, None, None, None, None]
    18 <type 'list'> 1005381834 [-1148173994, 'Panic07', 'Panic07', None, None, None, None, None]
    19 <type 'list'> 1037848784 [-1148173994, 'SlayersPrime', 'SlayersPrime', 1000003357, '77G', None, 2, None]
    20 <type 'list'> 1001200725 [-1148173994, 'VictorXman', 'VictorXman', None, None, None, 2, None]
    21 <type 'list'> 1007975256 [-1148173994, 'ChronicDisorder', 'ChronicDisorder', 1000043052, 'GURUS', None, 2, None]
    22 <type 'list'> 1042373081 [-1148173994, 'ERNEST__HUJEC', 'ERNEST__HUJEC', None, None, None, 2, None]
    23 <type 'list'> 1007080795 [-1148173994, 'mike05072003', 'mike05072003', 1000010078, 'TLOS', None, 2, None]
    24 <type 'list'> 1008944605 [-1148173994, 'leuglymug322', 'OpSpec12076', 1000009356, 'ZEUS', None, 2, None]
    25 <type 'list'> 1005194974 [-1148173994, 'Archim4ndr0s', 'Archim4ndr0s', None, None, None, None, None]
    26 <type 'list'> 1000395103 [-1148173994, 'FrankenTank', 'FrankenTank', 1000022457, 'ROCKY', None, None, None]
    27 <type 'list'> 1001493743 [-1148173994, 'MailmanDon', 'MailmanDon', None, None, None, None, None]
    28 <type 'list'> 1007742321 [-1148173994, 'Alexei_BLR_RUS', 'Alexei_BLR_RUS', 1000051523, 'KOZAK', None, None, None]
    29 <type 'list'> 1017973622 [-1148173994, 'HDLscreamer', 'HDLscreamer', None, None, None, 2, None]
    30 <type 'list'> 1027137407 [-1148173994, 'Scorpin_2', 'Scorpin_2', 1000017592, 'WPP', None, None, None]
    --------------------------

    I was wondering if anybody would find this useful?. If so, I can make the py script available.

    I am surely interested how you did do this.

  • mfezi - 16.11.2020

    Here is an example of how one can compare data between different versions....

    https://i.imgur.com/omqQxW0.jpg

  • Stan Lee - 16.11.2020

    So BadButton please help.

    1. Does this date retrieval help in any way?

    2. What exactly is not working? Is it the BRR ?

    3. What do you need to make it work?

  • MochaDragon - 16.11.2020
    Quoted: mfezi

    I have been dabbling with this issue with very little knowledge of Python or it's data structures. Since we are dealing with changes to the data structure with every new version of Wot, I decided to delve into the structure of the .dat files, understand how and what data is stored, and quickly identify structural changes from version to version.

    My little progrgram is pretty basic, but it allows one to view the data in a .dat file and quickly identify structural changes.

    For example, here is one tuple containing player data....

    Tuple tt2 - contains a dict of 30 IDs with associated list of 7 items including player nickname
    1 <type 'list'> 1030383238 [-1148173994, 'ClintonCat', 'ClintonCat', None, None, None, 2, None]
    2 <type 'list'> 1007578377 [-1148173994, 'RRtomk', 'RRtomk', 1000013246, 'HACKR', None, None, None]
    3 <type 'list'> 1003772557 [-1148173994, 'Shouyu_Kousaka', 'Shouyu_Kousaka', 1000019147, '-MOE-', None, None, None]
    4 <type 'list'> 1008925838 [-1148173994, 'Aggressivepizza', 'Aggressivepizza', None, None, None, None, None]
    5 <type 'list'> 1005157903 [-1148173994, 'Vladimir47', 'raspcat', None, None, None, 2, None]
    6 <type 'list'> 1010480017 [-1148173994, '_Uranium', '_Uranium', 1000046719, 'SC0PE', None, None, None]
    7 <type 'list'> 1002185366 [-1148173994, 'Uselessbob', 'Uselessbob', 1000046719, 'SC0PE', None, None, None]
    8 <type 'list'> 1035584026 [-1148173994, 'iL_Duece', 'iL_Duece', None, None, None, 2, None]
    9 <type 'list'> 1014068081 [-1148173994, 'BOP_B3AKOHE_Vs_CTATUDO', 'getaway3', None, None, None, 2, None]
    10 <type 'list'> 1012705071 [-1148173994, 'la_chinycoltonrad12', 'Soapbuddy', None, None, None, 2, None]
    11 <type 'list'> 1019761328 [-1148173994, 'Mfezi', 'Mfezi', None, None, None, 2, None]
    12 <type 'list'> 1035710898 [-1148173994, 'Lord_Tanq1', 'Lord_Tanq1', None, None, None, None, None]
    13 <type 'list'> 1015006771 [-1148173994, 'Pontes10', 'Pontes10', None, None, None, None, None]
    14 <type 'list'> 1041456056 [-1148173994, 'Booky00', 'Booky00', None, None, None, None, None]
    15 <type 'list'> 1036746940 [-1148173994, 'Artyom_Bom', 'Angimsota', 1000058390, '_E-L_', None, 2, None]
    16 <type 'list'> 1003245249 [-1148173994, 'AWESOMEDUDE1235', 'AWESOMEDUDE1235', 1000021508, 'D-H-E', None, 2, None]
    17 <type 'list'> 1007306056 [-1148173994, 'nicktur2', 'nicktur2', None, None, None, None, None]
    18 <type 'list'> 1005381834 [-1148173994, 'Panic07', 'Panic07', None, None, None, None, None]
    19 <type 'list'> 1037848784 [-1148173994, 'SlayersPrime', 'SlayersPrime', 1000003357, '77G', None, 2, None]
    20 <type 'list'> 1001200725 [-1148173994, 'VictorXman', 'VictorXman', None, None, None, 2, None]
    21 <type 'list'> 1007975256 [-1148173994, 'ChronicDisorder', 'ChronicDisorder', 1000043052, 'GURUS', None, 2, None]
    22 <type 'list'> 1042373081 [-1148173994, 'ERNEST__HUJEC', 'ERNEST__HUJEC', None, None, None, 2, None]
    23 <type 'list'> 1007080795 [-1148173994, 'mike05072003', 'mike05072003', 1000010078, 'TLOS', None, 2, None]
    24 <type 'list'> 1008944605 [-1148173994, 'leuglymug322', 'OpSpec12076', 1000009356, 'ZEUS', None, 2, None]
    25 <type 'list'> 1005194974 [-1148173994, 'Archim4ndr0s', 'Archim4ndr0s', None, None, None, None, None]
    26 <type 'list'> 1000395103 [-1148173994, 'FrankenTank', 'FrankenTank', 1000022457, 'ROCKY', None, None, None]
    27 <type 'list'> 1001493743 [-1148173994, 'MailmanDon', 'MailmanDon', None, None, None, None, None]
    28 <type 'list'> 1007742321 [-1148173994, 'Alexei_BLR_RUS', 'Alexei_BLR_RUS', 1000051523, 'KOZAK', None, None, None]
    29 <type 'list'> 1017973622 [-1148173994, 'HDLscreamer', 'HDLscreamer', None, None, None, 2, None]
    30 <type 'list'> 1027137407 [-1148173994, 'Scorpin_2', 'Scorpin_2', 1000017592, 'WPP', None, None, None]
    --------------------------

    I was wondering if anybody would find this useful?. If so, I can make the py script available.

    Can anyone figure out what each column means?  This is my first guess:

    Obviously there is one row per player (30 players in a battle).

    <player number in battle> , <player id?> , <battle id?> , <anon name> , <real name> , <clan id?> , <clan name> , <?> , <team id?> , <?>

    Note that all "id" numbers seem to be 10 digit decimal numbers that may be a representation of something else.

    My guess as to which is is the anon/real name could be wrong, they could be swapped.

    As for <team id> there are exactly 15 people with this set to "2" so I just guessed it's which team thay are on.  It could be 15 people who survived, 15 people who got damage, or something else entirely.

    We can see our poster here was not anonamized. :-) I think this is an excellent first step.  Take a step back, look at the problem from a fresh perspective and go from there.  I still think step #1 is to have a working .dat file from the last version that worked so we can see what the output the Windows binary Wot Numbers expects.  Alternatively the author can let us know what it expects or publish the source.

  • mfezi - 16.11.2020

    Here is a link to the above for anyone who may be interested....

    https://www.dropbox.com/sh/uqdpgkpbom8h1qb/AACRLKwotyqs_X7uuOuehSKZa?dl=0

  • mfezi - 16.11.2020
    Quoted: MochaDragon

    Can anyone figure out what each column means?  This is my first guess:

    Obviously there is one row per player (30 players in a battle).

    <player number in battle> , <player id?> , <battle id?> , <anon name> , <real name> , <clan id?> , <clan name> , <?> , <team id?> , <?>

    Note that all 'id' numbers seem to be 10 digit decimal numbers that may be a representation of something else.

    My guess as to which is is the anon/real name could be wrong, they could be swapped.

    As for <team id> there are exactly 15 people with this set to '2' so I just guessed it's which team thay are on.  It could be 15 people who survived, 15 people who got damage, or something else entirely.

    We can see our poster here was not anonamized. :-) I think this is an excellent first step.  Take a step back, look at the problem from a fresh perspective and go from there.  I still think step #1 is to have a working .dat file from the last version that worked so we can see what the output the Windows binary Wot Numbers expects.  Alternatively the author can let us know what it expects or publish the source.

    The example shows a  very small part of the data which happens to be stable between versions....

  • mfezi - 16.11.2020

    Does anybody have have a .dat file with corresponding json file produced before the app stopped working?....

  • superduper263 - 17.11.2020
    Quoted: Stan Lee
    Quoted: superduper263

    I'm not a python guy but can have a look.

    -where are the data comming from now? Which files do you parse out?

    -is there a reference table to relate the database columsn to the values of the matches?

     Read back in the thread.

    thanks, real helpfull. Typical WoT attitude. good luck with it.

  • Stan Lee - 17.11.2020
    Quoted: superduper263
    Quoted: Stan Lee
    Quoted: superduper263

    I'm not a python guy but can have a look.

    -where are the data comming from now? Which files do you parse out?

    -is there a reference table to relate the database columsn to the values of the matches?

     Read back in the thread.

    thanks, real helpfull. Typical WoT attitude. good luck with it.

    Aha... you want SOMEONE ELSE to look for you in the thread becuase you are too lazy. Your help wouldn't be worth much. Byeeeeee.

  • SupremeClicker (FKA BattleHook) - 17.11.2020
    Quoted: mfezi

    Does anybody have have a .dat file with corresponding json file produced before the app stopped working?....

    json file will be tricky (since it is deleted automatically), but I have plenty of old DAT files. But maybe if the old dat file is fed to current WoT numbers the json file could be created then.

  • superduper263 - 18.11.2020
    Quoted: Stan Lee
    Quoted: superduper263
    Quoted: Stan Lee
    Quoted: superduper263

    I'm not a python guy but can have a look.

    -where are the data comming from now? Which files do you parse out?

    -is there a reference table to relate the database columsn to the values of the matches?

     Read back in the thread.

    thanks, real helpfull. Typical WoT attitude. good luck with it.

    Aha... you want SOMEONE ELSE to look for you in the thread becuase you are too lazy. Your help wouldn't be worth much. Byeeeeee.

    wow, just wow. I've been programming for for >25 years in an academic environment. It's stupid to not use what other people already figured out and this thread does not have the details I need to get me hit the ground running. But you are the best motivation killer, great work. I consider this tool dead unfortunately and wil figure out something for myself then. in your words, byeee

  • Stan Lee - 18.11.2020
    Quoted: superduper263
    Quoted: Stan Lee
    Quoted: superduper263
    Quoted: Stan Lee
    Quoted: superduper263

    I'm not a python guy but can have a look.

    -where are the data comming from now? Which files do you parse out?

    -is there a reference table to relate the database columsn to the values of the matches?

     Read back in the thread.

    thanks, real helpfull. Typical WoT attitude. good luck with it.

    Aha... you want SOMEONE ELSE to look for you in the thread becuase you are too lazy. Your help wouldn't be worth much. Byeeeeee.

    wow, just wow. I've been programming for for >25 years in an academic environment. It's stupid to not use what other people already figured out and this thread does not have the details I need to get me hit the ground running. But you are the best motivation killer, great work. I consider this tool dead unfortunately and wil figure out something for myself then. in your words, byeee

    LOL Of course you do. I bow to your skillz. Still doesn't stop you being a d**k though.

    Look. The thread needs serious people in it. Serious is reading back on the thread and finding the information.

    D**k is "I'm the best programmer on the planet but you will never see my skillz because you do not recognize my awesomeness". Please do not blame others for your lack of performance.

    Put up or shut up. Simple.

    I'm not derailing this thread on your account, because it is too important, so please STFU you whiney little beatch. If you want to flame, whine, moan or anything else not connected with the thread please PM me.

    If you want to add something useful why do you pick fights? Solve this puzzle.... I dare you..... I double dare you. If you get this to work I will praise your awesomeness and tell the minstral to write songs about you.

  • mfezi - 18.11.2020

    Before we have a major argument within the group, I have some further information to share which may or may not prove useful to anybody who is working towards a solution of the latest update problem....

    1.  In %appdata%\Wargaming.net\WorldOfTanks\, I have a folder called 'dossier_cache' inwhich can be found a selection of .dat files including some recent ones. I have no idea how they got there or how the dozen or so files were selected.

    2.  These 'dossier' files have a totally different structure from the .dat files that are produced for WoTNumbers.

    3.  After some investigation, I found that the founder of vbAddict ( Phalynx), is still actively updating his wotdc2j.py on GitHub. This is the script which created .json from dossier.dat files.

    4.  I downloaded his script and support files and found that it runs perfectly and creates .json output for all dossier files up 1.10.

    5.  I see two positives from this .... i) the wotdc2j.py script + support files show how Phalynx handles different WoT versions and ii) Phalanx is still around and active and who better to help us out if he CAN be pursuaded to do so.

    6.  I would be interested in what Bad_Button has to say?

    In the meantime, I am learning a lot, but achieving nothing!..... :)

  • Stan Lee - 18.11.2020

    This is awesome.

  • Walzzzu - 18.11.2020

    Although I can't help you guys with this problem, I'm willing to buy a sixpack of beer to the hero who makes this awesome tool work again :)

  • MochaDragon - 18.11.2020
    Quoted: mfezi

    Before we have a major argument within the group, I have some further information to share which may or may not prove useful to anybody who is working towards a solution of the latest update problem....

    1.  In %appdata%\Wargaming.net\WorldOfTanks\, I have a folder called 'dossier_cache' inwhich can be found a selection of .dat files including some recent ones. I have no idea how they got there or how the dozen or so files were selected.

    2.  These 'dossier' files have a totally different structure from the .dat files that are produced for WoTNumbers.

    3.  After some investigation, I found that the founder of vbAddict ( Phalynx), is still actively updating his wotdc2j.py on GitHub. This is the script which created .json from dossier.dat files.

    4.  I downloaded his script and support files and found that it runs perfectly and creates .json output for all dossier files up 1.10.

    5.  I see two positives from this .... i) the wotdc2j.py script + support files show how Phalynx handles different WoT versions and ii) Phalanx is still around and active and who better to help us out if he CAN be pursuaded to do so.

    6.  I would be interested in what Bad_Button has to say?

    In the meantime, I am learning a lot, but achieving nothing!..... :)

    My understanding is the dossier cache extraction to JSON (wotdc2j) already works (?) just fine, the issue is with the battle results to JSON (wotbr2j) which is where (I believe) the majority of the data come from.

    The little BRR mod that runs in the game (battle results retriever) is what helps to ensure no battle results are missed.  In the background whenever it finds a battle result notification (the thing in the bottom right that pops up after a battle if you didn't stay until the end)  it will "click the Details button" which in turn sends the .dat file to the client which BRR copies for processing by wotbr2j.  Note that if you stay until the end of the battle you automatically get the .dat file because it immediately shows you the battle results on screen so BRR isn't required.  Again, it's just there to capture the .dat files for battles where you didn't stay.

    When you say he has wotdc2j working for 1.10, is it working for WoT version 1.10.1.3, the current version?  I think he was supporting others with updating those two scripts for a while but wanted to handover support of them to someone else after a few months and it's now been a few years. :-)

    For us new to this project the thing we really, really need is either a) an old .dat file working with the existing wotbr2j script so we can see what WoT Numbers expects as input b) documentation from Bad Button on what it expects or c) the source code to WoT Numbers so we can figure it out.

  • mfezi - 18.11.2020
    Quoted: MochaDragon
    Quoted: mfezi

    Before we have a major argument within the group, I have some further information to share which may or may not prove useful to anybody who is working towards a solution of the latest update problem....

    1.  In %appdata%\Wargaming.net\WorldOfTanks\, I have a folder called 'dossier_cache' inwhich can be found a selection of .dat files including some recent ones. I have no idea how they got there or how the dozen or so files were selected.

    2.  These 'dossier' files have a totally different structure from the .dat files that are produced for WoTNumbers.

    3.  After some investigation, I found that the founder of vbAddict ( Phalynx), is still actively updating his wotdc2j.py on GitHub. This is the script which created .json from dossier.dat files.

    4.  I downloaded his script and support files and found that it runs perfectly and creates .json output for all dossier files up 1.10.

    5.  I see two positives from this .... i) the wotdc2j.py script + support files show how Phalynx handles different WoT versions and ii) Phalanx is still around and active and who better to help us out if he CAN be pursuaded to do so.

    6.  I would be interested in what Bad_Button has to say?

    In the meantime, I am learning a lot, but achieving nothing!..... :)

    My understanding is the dossier cache extraction to JSON (wotdc2j) already works (?) just fine, the issue is with the battle results to JSON (wotbr2j) which is where (I believe) the majority of the data come from.

    The little BRR mod that runs in the game (battle results retriever) is what helps to ensure no battle results are missed.  In the background whenever it finds a battle result notification (the thing in the bottom right that pops up after a battle if you didn't stay until the end)  it will 'click the Details button' which in turn sends the .dat file to the client which BRR copies for processing by wotbr2j.  Note that if you stay until the end of the battle you automatically get the .dat file because it immediately shows you the battle results on screen so BRR isn't required.  Again, it's just there to capture the .dat files for battles where you didn't stay.

    When you say he has wotdc2j working for 1.10, is it working for WoT version 1.10.1.3, the current version?  I think he was supporting others with updating those two scripts for a while but wanted to handover support of them to someone else after a few months and it's now been a few years. :-)

    For us new to this project the thing we really, really need is either a) an old .dat file working with the existing wotbr2j script so we can see what WoT Numbers expects as input b) documentation from Bad Button on what it expects or c) the source code to WoT Numbers so we can figure it out.

    What I can see at the moment is that the dossier overwrites the previous file after each battle. I does this as soon as the battle result windo pops up whether one has left the battle early or not.

    I seem to remember that I have activated a fearure on one od aslains mods, which ensures that the BR result screen will always pop up even if you leave a battle and start the next.....

  • George - 18.11.2020
    Quoted: Walzzzu

    Although I can't help you guys with this problem, I'm willing to buy a sixpack of beer to the hero who makes this awesome tool work again :)


    me too, cannot help, but i will buy you a beer if you solve it, as i've done a couple of times in the past. 

  • BoHarper - 18.11.2020
    Quoted: Walzzzu

    Although I can't help you guys with this problem, I'm willing to buy a sixpack of beer to the hero who makes this awesome tool work again :)

    I'm in on beer too, or cash $$$$$$$$$$. Please fix! I love this app.

  • MochaDragon - 18.11.2020

    I created a Discord server if anyone wants to collaborate or discuss.

    Invite link valid forever: https://discord.gg/XhTXyfmtKj

  • BadButton - 19.11.2020

    What a great effort by the community smile

    I have to admit that I have not had a chance to put any effort into this last two weeks because of my work situation, but now I am back to normal and will read through all the feedback and give it a go.

    I have had for a while a partially working version retriving data from the dossier file only, I'll upload that version soon.

  • BadButton - 19.11.2020

    @D0ct0rDave: I don't think it is a good approach to reuse some of the structures from previous versions of WoT, even if it seems that some of it works. Wargaming adds or removes data items for almost each version, so using structures from a previous version for decompiling data might work, or only work for the first part of the data where the structure is unchanged. If a new item is added at the top of the structure and you use an old one, all data will be skewed one position.  

  • Stan Lee - 19.11.2020

    I haven't tested everything yet but it does retrieve battles. Yaaaaay. gg BB.

  • DuggieNZ - 19.11.2020

    whoohoo we are back baby :)

  • Stan Lee - 19.11.2020

    Incomplete data report.

    Wot number app.

    No team result, Total XP, Credits result, map. Everything else seems to work fine.

    Does not upload to website on it's own. I will PC restart and try again.

    Website stats.

    Not showing uploaded daily stats probably due to incomplete data (map) although they do show up in the battle list tab (without the map).

    Hope this helps.

  • Gladiusetscutum85 - 19.11.2020

    I have been following this with interest but a humongous lack of technical knowledge.  My respects to you all for your abilities in this field and for what you are doing.

    I happened to have the game loaded & sneaked in a few battles this morning.  I can't say that the results are outstanding (37.5% WR and survival over 8 games) but at least they are there in WoT Numbers as they used to be, with the exception of  Team Result, Total XP, Credits, Mastery Badge and the Map listing.  That's in Today's battles.  Prior to this *nothing* was showing.

    When I adjust it for Last 3 Months, the last date that those columns have entries before today was 24/10/20.  Does that tally with the WoT update?  Can't remember.

    Thanks again!  :-)


  • D0ct0rDave - 19.11.2020
    Quoted: BadButton

    @D0ct0rDave: I don't think it is a good approach to reuse some of the structures from previous versions of WoT, even if it seems that some of it works. Wargaming adds or removes data items for almost each version, so using structures from a previous version for decompiling data might work, or only work for the first part of the data where the structure is unchanged. If a new item is added at the top of the structure and you use an old one, all data will be skewed one position.  

    Exactly and that's why I said you can realize this by looking at the data produced and try to fix it with dummy fields.

    Anyway if there is a better approach, I will be more than pleased to wait for its implementation.

  • Stan Lee - 19.11.2020

    Perhaps add a tool for the user to be able to make a log of the battle result manually for analysis.

    and/or

    A manual battle result checker that querys enexpected data to edit or delete.

  • Moordaemon - 19.11.2020

    Thank you. Version 0.28.0 works. Not everything, but some things do. I hope that the missing values will also come in another version.

    I cannot check whether the values are all correct. WN8 in the last game is in-game 2761. WOT Numbers says 2665.


  • LtHorst - 19.11.2020

    @BadButton: Great job, thx that is is working again. I am sure you will fix the minor issues as well soon :-)

  • Walzzzu - 19.11.2020

    @BadButton  Thanks for making this tool work again. I donated 10€, get a drink or something nice :)

  • Melimyu - 19.11.2020

    @BadButton : thanks for this job :)

  • mfezi - 19.11.2020

    There are a couple of folk that owe BB some beers!..... laughing

  • SupremeClicker (FKA BattleHook) - 19.11.2020

    with Wot numbers version 28.0 the battles are partially read, however in de battle results directory json files are kept with following message:

    "parser": {
            "message""Battle result cannot be read"
            "result""error"
  • Ghost59fr - 19.11.2020

    Thanks guys !! great job !!

  • BadButton - 20.11.2020
    Quoted: Walzzzu

    @BadButton  Thanks for making this tool work again. I donated 10€, get a drink or something nice :)

    I noticed it, thank's a lot! smile

  • oleGoat - 20.11.2020

    I would also like to thank you BadButton.. hope my donation helps you stay the course.

  • BadButton - 20.11.2020
    Quoted: D0ct0rDave
    Quoted: BadButton

    @D0ct0rDave: I don't think it is a good approach to reuse some of the structures from previous versions of WoT, even if it seems that some of it works. Wargaming adds or removes data items for almost each version, so using structures from a previous version for decompiling data might work, or only work for the first part of the data where the structure is unchanged. If a new item is added at the top of the structure and you use an old one, all data will be skewed one position.  

    Exactly and that's why I said you can realize this by looking at the data produced and try to fix it with dummy fields.

    Anyway if there is a better approach, I will be more than pleased to wait for its implementation.

    I will take closer look at your findings and suggestions, they are valuable in the search of finding a solution!

    If you can do any more investionations - or any others - it will defenetly help me.

    This is the approach I think might be best:

    1) Find the correct files from the latest WoT game client and isolate the classes, methods and structures needed to unpack the data.

    2) I hope that it will be possible to use these files as is, without having to manualy edit any of the structures or methods that is to be used. Files has normally reference to other files, and some of these are not needed for unpacking data. It is OK to comment out this part of the files, or just copy the content to be used into the file referencing it. This needs to be well documentet. 

    3) Modify the parser so it uses the new stuctures and methods to unpack and save as JSON.

    4) Create a step-by-step instruction so the same job can be done for next WoT version

    I still think that the new file "battle_results_common.py" introduced from version 1.10.1 is the one to use for getting the correct structures. In previously WoT versions the file "battle_results_shared.py" contained the main structures needed to unpack data, now this file is more or less reduced to nothing. 

    The file "DictPackers.py" has been the important file to use for the unpacking part. Previously the "battle_results_shared.py" had reference to DickPackers, and I used the method: "DictPacker.unpack" or the custom built "DictPacker.unpackWthoutChecksum" for unpacking data.  In latest version "battle_results_shared.py" has no longer reference to "DictPacker", but the new file "battle_results_common.py" has!

    However, I am not sure of anything when it comes to this. I normally develop using C#, Java and Javascript/JQuery. I don't have any experience with Python, and I have to admit that I don't really like it that much eiher... undecided

  • BadButton - 20.11.2020
    Quoted: oleGoat

    I would also like to thank you BadButton.. hope my donation helps you stay the course.

    Thank's so much mr oleGoat! If I remember correclty you have been here quote a while, I would guess at least 3 years  smile

  • BadButton - 20.11.2020
    Quoted: mfezi

    I have been dabbling with this issue with very little knowledge of Python or it's data structures. Since we are dealing with changes to the data structure with every new version of Wot, I decided to delve into the structure of the .dat files, understand how and what data is stored, and quickly identify structural changes from version to version.

    My little progrgram is pretty basic, but it allows one to view the data in a .dat file and quickly identify structural changes.

    For example, here is one tuple containing player data....

    Tuple tt2 - contains a dict of 30 IDs with associated list of 7 items including player nickname
    1 <type 'list'> 1030383238 [-1148173994, 'ClintonCat', 'ClintonCat', None, None, None, 2, None]
    2 <type 'list'> 1007578377 [-1148173994, 'RRtomk', 'RRtomk', 1000013246, 'HACKR', None, None, None]
    --------------------------

    I was wondering if anybody would find this useful?. If so, I can make the py script available.

    This looks very interesting! I would love it if you would share your script smile

  • mfezi - 20.11.2020
    Quoted: mfezi

    Here is an example of how one can compare data between different versions....

    https://i.imgur.com/omqQxW0.jpg

    Previously posted.....

  • mfezi - 20.11.2020
    Quoted: mfezi

    Here is a link to the above for anyone who may be interested....

    https://www.dropbox.com/sh/uqdpgkpbom8h1qb/AACRLKwotyqs_X7uuOuehSKZa?dl=0

    and here is the script....

  • BadButton - 20.11.2020
    Quoted: mfezi
    Quoted: mfezi

    Here is a link to the above for anyone who may be interested....

    https://www.dropbox.com/sh/uqdpgkpbom8h1qb/AACRLKwotyqs_X7uuOuehSKZa?dl=0

    and here is the script....

    Thanks' a lot! smile

  • BadButton - 21.11.2020

    Good news! I have now rewritten the battle parser, and it seems to work again.

    I decided to do a complete cleanup, so not much of the original code is remaining. It has taken me several days of work as I also had to improve my Python skills along the way undecided

    The parser was originally built by Phalynx to be used for uploading battle results to the vBAddict web server. He probably had his reasons for why he had made it the way it was made (at least i hope so), but it was hard to understand as nothing he had done was described in any way. I ended up reducing the code to less than half the size, and now the code is also explained with comments and instructions so others should be able to contribute. 

    If you are interested you can take a look here: https://bitbucket.org/BadButton/wot-battle-parser/src/master/versions/WoT_1.10.1.3/

    Since everything is reworked I need to do changes in Wot Numbers as data produced by the parser has a different layout now. It will be much easier to read the result now as I have made the content in the json file with better structure. 

    I hope to release a new Wot Numbers version soon!

  • BadButton - 21.11.2020  

    New version is released now, hopefully everything is back to normal.

    The battle result parser reading detailed battle results is only supporting random battles for now. Some more work is needed to support other battle types. Wargaming are now reporting slightly different data for each battle mode, I have so far found separate data structures for battle modes: "random", "event", "frontline", "ranked". I have only implemented for "random" so far.

  • mfezi - 21.11.2020
    Quoted: BadButton

    New version is released now, hopefully everything is back to normal.

    The battle result parser reading detailed battle results is only supporting random battles for now. Some more work is needed to support other battle types. Wargaming are now reporting slightly different data for each battle mode, I have so far found separate data structures for battle modes: 'random', 'event', 'frontline', 'ranked'. I have only implemented for 'random' so far.

    That's quite a job - well done! .....laughing

    Did my little script come in handy at all?

  • Moordaemon - 21.11.2020

    Thank you. 

    Only Random is ok.

  • BadButton - 21.11.2020
    Quoted: mfezi

    That's quite a job - well done! .....laughing

    Did my little script come in handy at all?

    Absolutely! Thanks a lot for your contribution sealedsealedsealed

  • Moordaemon - 21.11.2020

    I tested it 3 rounds in random. Works very well again. Thank you.
    I have not installed the BRR. Does the BRR have any influence on the results?

  • Rimsplitter - 21.11.2020

    Excellent work, BadButton and all those who helped.  What a relief to have Wot Numbers back!

  • BadButton - 21.11.2020
    Quoted: Nobody33

    I have not installed the BRR. Does the BRR have any influence on the results?

    No, the BRR mod just helps you getting the battle result without having to open the after battle stats ingame.

    If you stay in a battle to the end, the after battle stats pops up automatically in the game, the BRR mod has no function is these cases.

    If you get killed during a battle, and leaves the battle for starting a new game, the previous battle will probably be done while you are playing the new one. When you eventially return to the garage, you need to find the battle from the right bottom corner in WoT to pull up the results. That is when the battle results are created in WoT, and when this is done Wot Numbers are also able to fetch these results. If you install the BRR mod, it will force the battle results to be produced by WoT even if you do not do this, so it is a smart way of getting all battle results into Wot Numbers.

  • splashrun - 21.11.2020

    I somehow do not get the map, XP, credit results?

  • DuggieNZ - 21.11.2020
    Quoted: splashrun

    I somehow do not get the map, XP, credit results?

    having the same issue 

  • splashrun - 21.11.2020

    I mean, it works better than before, I see tanks wins and all, but no  extended results

    Badbutton, nobody33, you sure you are not using something else than the distribution?

  • Moordaemon - 22.11.2020
    Quoted: DuggieNZ
    Quoted: splashrun

    I somehow do not get the map, XP, credit results?

    having the same issue 

    I only have the current version 0.28.1 installed.
    See my result

  • Moordaemon - 22.11.2020
    Quoted: BadButton
    Quoted: Nobody33

    I have not installed the BRR. Does the BRR have any influence on the results?

    No, the BRR mod just helps you getting the battle result without having to open the after battle stats ingame.

    If you stay in a battle to the end, the after battle stats pops up automatically in the game, the BRR mod has no function is these cases.

    If you get killed during a battle, and leaves the battle for starting a new game, the previous battle will probably be done while you are playing the new one. When you eventially return to the garage, you need to find the battle from the right bottom corner in WoT to pull up the results. That is when the battle results are created in WoT, and when this is done Wot Numbers are also able to fetch these results. If you install the BRR mod, it will force the battle results to be produced by WoT even if you do not do this, so it is a smart way of getting all battle results into Wot Numbers.

    Thanks for this Information

  • BadButton - 22.11.2020

    For those of you having problems: please check the the log file.

  • splashrun - 22.11.2020

    [EDITED BY BadButton: Removed non relevant part of log]


    22/11/2020 00:38:15     > > IronPython output:

    ### WoT Battle Result to Json - version 1.10.1.3 ###
    Time: 2020-11-22 00:38:15.273000
    Encoding: ascii - mbcs
    Starting to process file: C:\***\Wot Numbers\BattleResult\3041873538687767.dat
    Successfully validated object: common (found 18 data items)
    Detected battle mode: Random
    Successfully validated object: private.account (found 47 data items)
    Successfully validated object: private.vehicle (found 207 data items)
    Successfully validated object: players (found 8 data items)
    Successfully validated object: players.result (found 11 data items)
    Successfully validated object: players.vehicle (found 71 data items)
    Exception: set([14145, 61249]) is not JSON serializable
    Traceback (most recent call last):
    TypeError: set([14145, 61249]) is not JSON serializable


    22/11/2020 00:38:15     > > > Deleted faulty battle DAT-file: C:\***\Wot Numbers\BattleResult\3041873538687767.dat
    22/11/2020 00:38:15     > Start looking for converted json battle files
    22/11/2020 00:38:15     > > Battle file analyze terminated for file: C:\***\Wot Numbers\BattleResult\3041873538687767.json

    {
    22/11/2020 00:38:15 ### EXCEPTION ###
       Source:          Newtonsoft.Json
       TargetSite:      Newtonsoft.Json.Linq.JObject Load(Newtonsoft.Json.JsonReader, Newtonsoft.Json.Linq.JsonLoadSettings)
       Data:            System.Collections.ListDictionaryInternal
       Message:         Error reading JObject from JsonReader. Path '', line 0, position 0.
       Stack Trace:
       at Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)
       at Newtonsoft.Json.Linq.JObject.Parse(String json, JsonLoadSettings settings)
       at WinApp.Code.Battle2json.<RunBattleResultRead>d__10.MoveNext()
       Details:
       Battle result file analyze process terminated due to faulty file structure or content
    }


  • splashrun - 22.11.2020

    Faulty file structure?

  • DuggieNZ - 22.11.2020

    the SEA server Hong Kong results work  but when I play ANZ server the results dont work

    The 2 battles that don't show map & XP is played on the ANZ server 

    Its not picking up the results if you leave the battle before it finishes,  BRR doesn't seem to be working and when I click on get new battle results  it doesn't fill in the missing data

  • Feuerfuchs_ - 22.11.2020

    Hello al helping on this!

    Thanks for bringing the major numbers back into WOT numbers!

    BRgds, Feuerfuchs

  • BadButton - 22.11.2020

    Thanks for the log file, this is the critical part:

    Exception: set([14145, 61249]) is not JSON serializable

    I have already fixed one of these set[] values returned by the client, the code part dumping data as json refuses this as a valiud json value. I will try to add a generic method handling all of these.

    I'll try to fix it asap.

  • ChiefR - 23.11.2020

    BB, I would like to thank you and your team, to include everyone on this thread that helped for getting this back to an operational status, now i can remove a MOD pack I was running that was causing lag.

    ChiefR

  • LtHorst - 24.11.2020

    everything looks good now, thank you.

  • splashrun - 24.11.2020

    Funny, it DID recognize de t-28. none of the others

    EDIT: it is the only game I played solo, the others have all been with a clanmember, or 2

    So, it does not parse platoons

  • DuggieNZ - 25.11.2020

    [EDITED BY BadButtin: Please don't upload your complete log file, extract what you think is relevant - don't think anyone gonna read thousands of log lines... removed most of it]



    25/11/2020 6:07:29     > Start looking for converted json battle files
    25/11/2020 6:07:29     > > Battle file analyze terminated for file: C:\Users\dad\AppData\Roaming\Wot Numbers\BattleResult\4801379906150815.json

    {
    25/11/2020 6:07:29 ### EXCEPTION ###
       Source:          mscorlib
       TargetSite:      Int32 ParseInt32(System.String, System.Globalization.NumberStyles, System.Globalization.NumberFormatInfo)
       Data:            System.Collections.ListDictionaryInternal
       Message:         Value was either too large or too small for an Int32.
       Stack Trace:
       at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
       at WinApp.Code.Battle2json.<RunBattleResultRead>d__10.MoveNext()
       Details:
       Battle result file analyze process terminated due to faulty file structure or content
    }


    25/11/2020 6:07:29     > > Deleted faulty JSON file: C:\Users\dad\AppData\Roaming\Wot Numbers\BattleResult\4801379906150815.json
    25/11/2020 6:07:33    // Automatically fetch new battles stopped
    25/11/2020 6:07:40    // Automatically fetch new battles started

  • splashrun - 25.11.2020

    wow, that almost broke the webserver. But did you play platoons or solo? Since on my PC it only fails to parse platoon battles...

  • SupremeClicker (FKA BattleHook) - 25.11.2020

    fgs, why post people a whole file if you can just share a link ? this must be the cause of the website being offline for some considerable long time. this should not be possible.

  • DuggieNZ - 25.11.2020

    oops my bad :(

    thats solo

  • BadButton - 25.11.2020
    Quoted: SupremeClicker (FKA BattleHook)

    fgs, why post people a whole file if you can just share a link ? this must be the cause of the website being offline for some considerable long time. this should not be possible.

    Agree about not posting a complete logfile, but it was not what broke the server. It was probably due to the weeks of non working Wot Numbers. The site has a scheduler that every night recalculate battle results uploaded to the server. A lot of unparseble results existed and was qued for processing. Took me a while to understand it and to get remote control of the web server, as the CPU was spinning on 100% trying to recalculate WN8 using invalid data result tongue-out

    I finally managed to stop the web server, and cleaned the queue, and I also just archived all previous battle results and started with an empty battle data table. I have around 8 000 000 battles now on storage played the last 3 years undecided

  • BadButton - 25.11.2020

    Released new version with a fix, hopefully fixing problem for non-solo battles.

  • BadButton - 25.11.2020

    This thread is getting very long, so I am closing for new replies now. Please create a new topic if any more problems pops up.

    Thanks' a lot to everyone for helping, beeing patient and for giving positive feedback.

    You are a great community!!!!

    BR
    BadButton

Close