=FEW=Revolves Posted March 3, 2021 Posted March 3, 2021 (edited) ======================================================= IL-2 Stats Mod Bundle: Disco + Tanks + SplitRankings + Global Aircraft Stats ======================================================= Bundle compiled by: =FEW=Revolves This is an IL-2 stats mod compilation consisting of the following four mods (the first two made by CountZero, the latter two made by me and Enigma89): Download here: https://github.com/FGlazov/IL2Stats_Enhancements/archive/refs/tags/Bundle_1.10.7.zip IL-2 stats is a website designed by =FB=Vaal and and =FB=Islay, which is used to track statistics on most IL-2 dedicated servers. This bundle version is designed to work with version 1.2.78 of IL-2 stats. Disconnect mod version: 1.73 + Tanks disconnect/exit 1.0.1 Tank mod version: 3.9.1 Enhancements mod version : 2.53 Global Aircraft Stats version : 1.5.4 Note that if you wish to run the disconnect mod and split ranking mod together (without tanks), you don't need any special bundle! The two mods are compatible as is, just install both of them over each other. Global Aircraft stats also works with the other mods with some minor adjustments, check its readme for details. --------------------------------------------------------------------------------- If you notice any bugs or have some feedback, please don't hesitate to say something here Old versions of this bundle can be found on the SplitRanking's GitHub page:https://github.com/FGlazov/IL2Stats_SplitRankingsMod/releases My IL2 stats mod projects havea todo page here: https://trello.com/b/sjDEvV2v Edited December 23, 2023 by =FEW=Revolves New version 5 2
CountZero Posted March 3, 2021 Posted March 3, 2021 Thanks for putting all together, its good to have all at one place it makes it easyer for server hosts to use. 4
=FEW=Revolves Posted March 3, 2021 Author Posted March 3, 2021 If you've downloaded version 1.0, make sure to update to 1.0.1 (first post updated). Due to a small oversight, the SplitRankings mod wasn't actually loading in! 1
=FEW=Revolves Posted March 8, 2021 Author Posted March 8, 2021 Just a heads up: Version 1.0.1 and 1.0 gave 500 errors when someone tried to view the virtual life of a pilot (not always, but in most cases). It's fixed in Version 1.0.2. So be sure to update if you've got the old version installed. 1
=FEW=Revolves Posted March 19, 2021 Author Posted March 19, 2021 Version 1.1.0 of the bundle is out! It now includes the new Global Aircraft stats mod. 1
=FEW=Revolves Posted March 21, 2021 Author Posted March 21, 2021 (edited) New version 1.1.2, which includes some bug fixes from Global Aircraft Stats. Mainly relevant if you've got AI planes on your server - kills by turret gunners on AI planes were affecting killboard and Elo stats. (kills on AI planes without a turret were not being counted) The new version makes all killboard kills player-only. Edited March 21, 2021 by =FEW=Revolves
=FEW=Revolves Posted March 24, 2021 Author Posted March 24, 2021 I've released version 1.2.0 of the bundle, which includes CountZero's latest update to the tank mod (version 2.9.1). Previously, you couldn't see what you damaged in a tank sortie. With this update you can see the targets you've damaged in a sortie. See CountZero's post for more details.
=FEW=Revolves Posted April 11, 2021 Author Posted April 11, 2021 (edited) Version 1.3.0 is out. Includes many changes from my other two mods, and a bug fix for CountZero's tank mod! Warning Server admins: The changes to the aircraft stats mod means it will take up more space in your DB, you may wish to change how much you retroactively compute. See the aircraft stats thread for more info. To update: You need to run update.cmd after pasting over the src/ Edited April 12, 2021 by =FEW=Revolves
CountZero Posted April 11, 2021 Posted April 11, 2021 I like new adition that displays ammo and cal type hits, i remenber before i used to spend time looking at dmg% when i tryed to guess what type gun hit me or enemy, this is cool thing to see displayd now. 1
=FEW=Revolves Posted April 17, 2021 Author Posted April 17, 2021 Version 1.4.0 is out! A minor feature update which includes new modules for to scoring. I've also added some changes here which are exclusive to the bundle. Essentially I've added all the new things I've done for the pilot sortie page, and added them into the tankmen sortie page. Here's an example:
=FEW=Revolves Posted April 22, 2021 Author Posted April 22, 2021 (edited) Version 1.4.2 is out, which has updated the bundle to the latest release of IL2 Stats (1.2.50). To update, paste over the src/ after updating to 1.2.50. You need to adjust your config if you're updating from before version 1.3.0. I.e. configure the modules you want in IL-2 Stats enhancements, details in the readme. Also, you'll need to run update.cmd if you're coming from before 1.3.0 Edited April 22, 2021 by =FEW=Revolves
=FEW=Revolves Posted April 22, 2021 Author Posted April 22, 2021 Version 1.4.3 is out, which fixes a bug with the elo calculation introduced in version 1.3.0 of the bundle (version 1.2.0 of Global Aircraft Stats) Releases since 1.3.0 both counted turret kills twice towards Elo, and twice in aircraft killboards. Note that this bug affects any buckets which were touched by retroactive computation - old sorties were revisited in to calculate the player buckets. Old data unfortunately can't be repaired from my side :( - what's calculated is calculated. If you've got a database backup before you installed a version since 1.3.0 you can replace your current DB with the backup and have IL-2 stats reparse all the sorties since you installed 1.3.0
super-truite Posted April 23, 2021 Posted April 23, 2021 I have a bug during update: C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\src>"../.venv/Scripts/python.exe" manage.py migrate --noinput --verbosity 0 Mod [mod_stats_by_aircraft] added to INSTALLED_APPS Mod [mod_rating_by_type] added to INSTALLED_APPS [mod_rating_by_type] WARNING: No module selected. No modded content will be displayed! Traceback (most recent call last): File "manage.py", line 7, in <module> execute_from_command_line(sys.argv) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line utility.execute() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 356, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv self.execute(*args, **cmd_options) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 330, in execute output = self.handle(*args, **options) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\commands\migrate.py", line 83, in handle executor = MigrationExecutor(connection, self.migration_progress_callback) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\executor.py", line 20, in __init__ self.loader = MigrationLoader(self.connection) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 52, in __init__ self.build_graph() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 275, in build_graph raise exc File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 245, in build_graph self.graph.validate_consistency() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 261, in validate_consistency [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)] File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 261, in <listcomp> [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)] File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 104, in raise_error raise NodeNotFoundError(self.error_message, self.key, origin=self.origin) django.db.migrations.exceptions.NodeNotFoundError: Migration mod_rating_by_type.0001_initial dependencies reference nonexistent parent node ('stats', '0035_score_ai_value') 1
=FEW=Revolves Posted April 23, 2021 Author Posted April 23, 2021 (edited) 1 minute ago, super-truite said: I have a bug during update: C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\src>"../.venv/Scripts/python.exe" manage.py migrate --noinput --verbosity 0 Mod [mod_stats_by_aircraft] added to INSTALLED_APPS Mod [mod_rating_by_type] added to INSTALLED_APPS [mod_rating_by_type] WARNING: No module selected. No modded content will be displayed! Traceback (most recent call last): File "manage.py", line 7, in <module> execute_from_command_line(sys.argv) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line utility.execute() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 356, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv self.execute(*args, **cmd_options) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 330, in execute output = self.handle(*args, **options) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\commands\migrate.py", line 83, in handle executor = MigrationExecutor(connection, self.migration_progress_callback) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\executor.py", line 20, in __init__ self.loader = MigrationLoader(self.connection) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 52, in __init__ self.build_graph() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 275, in build_graph raise exc File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 245, in build_graph self.graph.validate_consistency() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 261, in validate_consistency [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)] File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 261, in <listcomp> [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)] File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 104, in raise_error raise NodeNotFoundError(self.error_message, self.key, origin=self.origin) django.db.migrations.exceptions.NodeNotFoundError: Migration mod_rating_by_type.0001_initial dependencies reference nonexistent parent node ('stats', '0035_score_ai_value') You need to update to version 1.2.50 of IL2 stats first. Also, take a look at the IL-2 stats enhancements mod readme and thread - if you just want split rankings as before, then you need to add the following line into your config.ini under stats modules = split_ranking But you can activate more stuff if you desire. I'd suggest at least ammo_breakdown as well, i.e. modules = split_rankings, ammo_breakdown. Edited April 23, 2021 by =FEW=Revolves 1
super-truite Posted April 23, 2021 Posted April 23, 2021 I thought I did. Will try that again. Is it needed to do a fresh il2 stats install first and then a bundle install ? What I did was: 1) update il2 stats 2) copy paste src/ from the bundle 3) run update.cmd again 1
=FEW=Revolves Posted April 23, 2021 Author Posted April 23, 2021 (edited) Something seems to have gone wrong the the il2 stats update - the update process can't find something that is in the latest version. It's trying to find the file il2_stats/src/stats/migrations/0035_score_ai_value.py (introduced in 1.2.49 if I recall correctly) You can try copying over the src/ from the 1.2.50 version into your il2 stats folder (just be sure to backup your conf.ini), and then paste over the bundle, and run update.cmd afterwards. Edited April 23, 2021 by =FEW=Revolves 1
super-truite Posted April 23, 2021 Posted April 23, 2021 I get this when running update.cd: C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50\il2_stats>".venv/Scripts/python.exe" -m pip install -U --quiet -r requirements.txt The system cannot find the path specified. Not clear what path is causing troubles 1
=FEW=Revolves Posted April 23, 2021 Author Posted April 23, 2021 Hmm, if you've just done a fresh install you need to run the install.cmd and not the update.cmd It might be trying to find the Python virtual environment, which is located inside il2_stats/.venv - this gets setup with the install.cmd 1
super-truite Posted April 24, 2021 Posted April 24, 2021 indeed, I went back to reinstall it from scratch. Now the stat.cmd works and can parse mission logs. Trying to add the bundle now. Now I get some infinite recursion when running stats.cmd after the copy/pasting of drc/ and running update.cmd: File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 208, in update_bonus_score if not module_active(MODULE_ADJUSTABLE_BONUSES_AND_PENALTIES): RecursionError: maximum recursion depth exceeded But I might have done something silly before. I get this warning during the update: C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src>"../.venv/Scripts/python.exe" manage.py collectstatic --noinput --verbosity 0 Mod [mod_stats_by_aircraft] added to INSTALLED_APPS Mod [mod_rating_by_type] added to INSTALLED_APPS [mod_rating_by_type] WARNING: No module selected. No modded content will be displayed! My config.ini is the following: [stats] mission_report_delete = false mission_report_backup_days = 31 inactive_player_days = 7 new_tour_by_month = true win_by_score = true win_score_min = 2000 win_score_ratio = 1.25 sortie_min_time = 0 skin_id = 1 mods = mod_rating_by_type, mod_stats_by_aircraft sortie_disco_min_time = 0 sortie_damage_disco_time = 120 retro_compute_for_last_tours=10 1
=FEW=Revolves Posted April 24, 2021 Author Posted April 24, 2021 (edited) 45 minutes ago, super-truite said: indeed, I went back to reinstall it from scratch. Now the stat.cmd works and can parse mission logs. Trying to add the bundle now. Now I get some infinite recursion when running stats.cmd after the copy/pasting of drc/ and running update.cmd: File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score old_stats_whore.update_bonus_score(new_sortie) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 208, in update_bonus_score if not module_active(MODULE_ADJUSTABLE_BONUSES_AND_PENALTIES): RecursionError: maximum recursion depth exceeded Ah that's a bug on my end, I will fix and publish an update in half an hour or so. This happens if you don't have adjustable_bonuses_and_penalties module selected. 45 minutes ago, super-truite said: But I might have done something silly before. I get this warning during the update: C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src>"../.venv/Scripts/python.exe" manage.py collectstatic --noinput --verbosity 0 Mod [mod_stats_by_aircraft] added to INSTALLED_APPS Mod [mod_rating_by_type] added to INSTALLED_APPS [mod_rating_by_type] WARNING: No module selected. No modded content will be displayed! My config.ini is the following: [stats] mission_report_delete = false mission_report_backup_days = 31 inactive_player_days = 7 new_tour_by_month = true win_by_score = true win_score_min = 2000 win_score_ratio = 1.25 sortie_min_time = 0 skin_id = 1 mods = mod_rating_by_type, mod_stats_by_aircraft sortie_disco_min_time = 0 sortie_damage_disco_time = 120 retro_compute_for_last_tours=10 Yes there was a change in what was previously the SplitRankings mod. If you only want split rankings, then you need to add the line modules = split_rankings under [stats]. However you can activate more modules depending on the features you want. Checkout the thread of IL-Stats Mod enhancements for more details on what you can activate. Personally, I think ammo breakdown is pretty nice and can fit on all servers. So you could instead add the line modules = split_rankings, ammo_breakdown EDIT: Update is out! You just need to copy over the src of the bundle over your current install @super_truite. No need to run update.cmd (or you can just use the version you already have if you want the adjustable bonuses and penalties module) Edited April 24, 2021 by =FEW=Revolves 1
super-truite Posted April 24, 2021 Posted April 24, 2021 thx. I finally got some log files processed , but I got an error with the ammobreakdown module: [2021.04.24 06:25:18] missionReport(2021-02-26_09-35-03)[0] - processing new report [2021.04.24 06:25:18] unexpected error Traceback (most recent call last): File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle stats_whore.main() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main stats_whore(m_report_file=m_report_file) File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner return func(*args, **kwds) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 159, in stats_whore m_report.processing(files=m_report_files) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mission_report\report.py", line 117, in processing self.events_handlers[atype_id](**data) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\report.py", line 23, in event_hit record_hits(target, attacker, ammo_db) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\report.py", line 67, in record_hits ammo_breakdown[LAST_TURRET_ACCOUNT] = attacker.parent.sortie.account_id AttributeError: 'NoneType' object has no attribute 'account_id' [2021.04.24 06:25:18] Lock 75777584 released on C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\file.lock Traceback (most recent call last): File "manage.py", line 7, in <module> execute_from_command_line(sys.argv) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line utility.execute() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 356, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv self.execute(*args, **cmd_options) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 330, in execute output = self.handle(*args, **options) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle stats_whore.main() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main stats_whore(m_report_file=m_report_file) File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner return func(*args, **kwds) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 159, in stats_whore m_report.processing(files=m_report_files) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mission_report\report.py", line 117, in processing self.events_handlers[atype_id](**data) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\report.py", line 23, in event_hit record_hits(target, attacker, ammo_db) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\report.py", line 67, in record_hits ammo_breakdown[LAST_TURRET_ACCOUNT] = attacker.parent.sortie.account_id AttributeError: 'NoneType' object has no attribute 'account_id' 1
=FEW=Revolves Posted April 24, 2021 Author Posted April 24, 2021 Ah my bad! I'm guessing you have AI bombers/attackers on your server, which I didn't have in my test dataset :< I've updated with a fix, just copy over src and no need to run update.cmd
super-truite Posted April 24, 2021 Posted April 24, 2021 Yeah I tend to have everything you could imagine on my server . Even when deactivating the ammo_breakdown mode, I still run into an issue I already saw before: [2021.04.24 07:10:49] unexpected error Traceback (most recent call last): File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle stats_whore.main() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main stats_whore(m_report_file=m_report_file) File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner return func(*args, **kwds) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 369, in stats_whore and event['attacker'].parent.sortie): AttributeError: 'NoneType' object has no attribute 'sortie' [2021.04.24 07:10:49] Lock 76039728 released on C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\file.lock Traceback (most recent call last): File "manage.py", line 7, in <module> execute_from_command_line(sys.argv) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line utility.execute() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 356, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv self.execute(*args, **cmd_options) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 330, in execute output = self.handle(*args, **options) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle stats_whore.main() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main stats_whore(m_report_file=m_report_file) File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner return func(*args, **kwds) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 369, in stats_whore and event['attacker'].parent.sortie): AttributeError: 'NoneType' object has no attribute 'sortie' wouldn't it be better to do a try/except and then use the logging module or just prints to provide detailed debugging info about the problem ? Most errors I see with the il2stats are rare errors that happens because of some rare events that was not taken into account. This way, the code would still run and parse all the logs
=FEW=Revolves Posted April 24, 2021 Author Posted April 24, 2021 (edited) 33 minutes ago, super-truite said: Yeah I tend to have everything you could imagine on my server . Even when deactivating the ammo_breakdown mode, I still run into an issue I already saw before: [2021.04.24 07:10:49] unexpected error Traceback (most recent call last): File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle stats_whore.main() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main stats_whore(m_report_file=m_report_file) File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner return func(*args, **kwds) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 369, in stats_whore and event['attacker'].parent.sortie): AttributeError: 'NoneType' object has no attribute 'sortie' [2021.04.24 07:10:49] Lock 76039728 released on C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\file.lock Traceback (most recent call last): File "manage.py", line 7, in <module> execute_from_command_line(sys.argv) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line utility.execute() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 356, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv self.execute(*args, **cmd_options) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 330, in execute output = self.handle(*args, **options) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle stats_whore.main() File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main stats_whore(m_report_file=m_report_file) File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner return func(*args, **kwds) File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 369, in stats_whore and event['attacker'].parent.sortie): AttributeError: 'NoneType' object has no attribute 'sortie' wouldn't it be better to do a try/except and then use the logging module or just prints to provide detailed debugging info about the problem ? Most errors I see with the il2stats are rare errors that happens because of some rare events that was not taken into account. This way, the code would still run and parse all the logs Hey super-truite, I've updated the mod bundle with a fix. Problem was due to an update with the tank mod. Hopefully it works now :< (ammo breakdowns should work too). Just copy over src/, no need to run update.cmd I get your point, and it's frustrating having to whack-a-mole issues like this. Problem with using try/except is it's hard to tell where to place all the try/except blocks. Ideally it would skip over a sortie, or its sortie logs, or just throw out all the information that it can't work with. The problem is one would need to place try/except blocks in a lot of places in the code, and it's difficult to reason where exactly this would be good. For example, try/expecting in the wrong place might result in an object not being saved to DB, which is referenced by another object, and this would cause the stats process to hang anyways. Can I suggest an alternative? If you could send me the logs from your server from a few days, I can add them to my test-set. That way I'll be able to handle any edge cases during development before doing a release. Edited April 24, 2021 by =FEW=Revolves 1
super-truite Posted April 24, 2021 Posted April 24, 2021 (edited) I understand, Yes I can give you the latest logs (with AA Gaz trucks to add more potential exceptions ) logs_advance_and_secure.zip Edited April 24, 2021 by super-truite 1
=FEW=Revolves Posted April 24, 2021 Author Posted April 24, 2021 5 minutes ago, super-truite said: I understand, Yes can give you the latest logs (with AA Gaz trucks to add more potential exceptions ) logs_advance_and_secure.zip 1.03 MB · 0 downloads Many thanks! I've just tested it with this config: [stats] mission_report_delete = false mission_report_backup_days = 31 inactive_player_days = 6000 new_tour_by_month = true win_by_score = true win_score_min = 2000 win_score_ratio = 1.25 sortie_min_time = 0 skin_id = 1 mods = mod_rating_by_type, mod_stats_by_aircraft modules = split_rankings, ammo_breakdown, ironman_stats, flight_time_bonus, undamaged_bailout_penalty As well as modules = split_rankings, ammo_breakdown and modules = split_rankings, ammo_breakdown, adjustable_bonuses_penalties and the current version was able to parse the two days you sent! You should be good to go :) 1
super-truite Posted April 24, 2021 Posted April 24, 2021 (edited) great news! If I see some older files that break it, I will send it to you. Edit: Looks good so far! I will to reset the db and parse every files again to find you some nice exceptions Edited April 24, 2021 by super-truite
=FEW=Revolves Posted April 28, 2021 Author Posted April 28, 2021 Released a bug fix version of the mod bundle. Any kills by aircraft turret were being doubled in the aircraft killbords. Also, the Elo gained from an aircraft turret killing another aircraft was double what it should be. Unfortunately I can't fix old data here, it's only fixed for newer versions.
=FEW=Revolves Posted April 28, 2021 Author Posted April 28, 2021 (edited) Yet another minor computation bug fixed in 1.4.11. Retroactively computed deaths/aircraft lost to aa/accident in global aircraft stats were doubled. This update fixes that issue. In addition, it will recompute those two stats. To update: You need to run update.cmd after pasting over the src/ Edited April 28, 2021 by =FEW=Revolves
=FEW=Revolves Posted April 29, 2021 Author Posted April 29, 2021 Just released a minor feature update - version 1.5.0 It now includes separate bonuses/penalties for tank sorties when using adjustable bonuses and penalties module. To update: You need to run update.cmd after pasting over the src/
=FEW=Revolves Posted May 5, 2021 Author Posted May 5, 2021 Bug fix version 1.5.1 released, which includes bug fixes from enhancements and global aircraft stats. Ironman rankings should work significantly faster now on big data sets (it taking over 5s on combat box, should be under 1s now), as well as a couple bugs fixed in the ironman rankings (don't show dead players best streaks, instead show current streaks). The global aircraft stats mod will now also recompute Elo/Aircraft killboards data which was corrupted in previous, buggy releases. To update: You need to run update.cmd after pasting over the src/ 1
=FEW=Revolves Posted June 1, 2021 Author Posted June 1, 2021 Version 1.5.3 released, which now works with 1.2.53, which is required for servers with the Typhoon. To update: Install version 1.2.53 of il2 stats and then copy over this mod bundle. You need to run update.cmd.
=FEW=Revolves Posted June 10, 2021 Author Posted June 10, 2021 Small bug fix update 1.5.4 which includes some missing bug fixes from version 1.2.53, updates the bundle to version 1.2.54 of il2 stats, and merges in changes from the latest tank mod.
=FEW=Revolves Posted June 19, 2021 Author Posted June 19, 2021 Happy to announce a pretty big update (1.6.0)! This new bundle includes the updates which I just released for enhancements and global aircraft stats - personas and a new table showing the best pilots of a single aircraft being the highlight. To update: You need to run update.cmd after pasting over the src/ If you have split rankings: This update also introduces retroactive computations of split rankings using the parameter retroactive_compute_for_last_tours. Check the readme for more details. By default the last 10 tours will be retroactively computed.
=FEW=Revolves Posted July 3, 2021 Author Posted July 3, 2021 (edited) Version 1.6.2 released which fixes quite a few bugs present in 1.6.1 and 1.60, some 500 error messages, and some unresponsive buttons (some links didn't work). Also includes an update to the latest version of the tank mod, and now all aircraft modifications/payloads are in - so the with/without bombs, with/without upgraded engiens filters for all aircraft should work now (does not work retroactively), thanks CountZero for putting in the data :) To update: You need to run update.cmd or import_csv.cmd after pasting over the src/ Edited July 3, 2021 by =FEW=Revolves 1
=AD=uumembwa Posted July 27, 2021 Posted July 27, 2021 (edited) Thank you, all involved in creation, for great work to integrate stats - it is the way to integrate players, pilots and tankmens, play all together with grace and happines? I install this bundle to stats on my Action server, no errors in the logs for now. Edited July 27, 2021 by NHK295M 1
=FEW=Revolves Posted July 28, 2021 Author Posted July 28, 2021 Thanks for the kind words NHk295M, also good to know that the install can still be done purely from the readme
=FEW=Revolves Posted August 12, 2021 Author Posted August 12, 2021 OK another update is live (1.7.0), contains the latest changes from aircraft stats and tank mods. To update: IMPORTANT: You need to copy over the requirements.txt and requirements.in into your il2-stats folder included into your zip, in addition to copying over the src/. This update required the use of some standard python math librareis (numpy, scikit, scipy). You need to run update.cmd after doing the previous two steps. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now