[REL] rFactor2 Log Analyzer ver. 2. With offline and league Championship Manager

Is this happening when you select any log file in selector or just this one? Is there an error message in cmd window after you select log file in Results Viewer?

Other possible reason for this - r2la did not find you driver name in selected log file. In other words, your driver name in log file is not the same as a driver name r2la found in rF2 files on first start.

When I look at your screenshot of v.2.2.000, I see by html elements styling, that it uses old app.css file. I don't quite understand how it is possible. You did not just put new version files over old ones? That is not how you should update r2la. You only can unzip new version to new separate folder and start it from scratch. Read included help files in archive for more on this.
Or if you did this correctly, press CTRL+F5 in browser, to reload css files in browser cache.

You can look yourself or send me your rF2 Log Analyzer ver. 2.2.000-x64\web2py\r2la_start_form.log file by PM. It will be more clear what player name r2la is searching for.
 
Last edited:
Matthew Overton, by overall race order. I would potentially need to make even bigger update to make championship classes proper separate entities for stuff like this (I mean, they are separate right now for class championship tables. But stuff like class stats, class best laps, etc, will require rewriting a lot of core code from scratch). Don't know if I ever do that.
 
Last edited:
Updated to rF2 Log Analyzer ver. 2.2.000-x64

  • From now on DEDI Competitions are saved to r2la_settings.json file automatically. No need to export/import them from separate r2la_competitions.json. You can still import your old r2la_competitions.json file on Options page.
  • Simplified r2la startup form. Added widget that shows in real time if r2la found right contents for a root path that user is entering.
  • Completely new Options page.
    • Options are now categorized to separate subpages.
    • 'Options - Import' page now has a widget that shows state of r2la_settings.json file.
    • 'Options - Tracks' has 'Track connections' form and 'Set track countries' widget.
    • Subpages for 'General', 'Car Identifiers', 'Log Directories', 'Language' and 'JavaScript' options.
    • Subpages for 'Session Reports' and 'Track Records' customization options.
    • Most options changes are saved to r2la_settings.json file automatically and are imported on r2la update.
  • Major improvements to session reports with driver swaps:
    • Race sessions with driver swaps are marked with "swaps" icon in Results Viewer selector.
    • Session reports with driver swaps automatically show Team Name as main name and all team drives listed underneath.
    • Race Results table now correctly shows team`s Qualifying times for logs with swaps.
    • 'Qual Time' and 'Best Lap' columns now show specific driver name that set that time for logs with swaps.
    • 'Session Best sectors' tables now show specific driver name that set that sector time for logs with swaps.
    • 'Race fastest laps' tables now shows correct team and driver names and specific driver name that set that time for races with driver swaps.
    • 'Pit Stops Summary' table now shows driver names, that were swapped at pit stop.
    • Added new table for races with driver swaps - 'Driver Stints' ('Swaps' tab). Shows all driver stints per team, stint duration, drivers best and average times in stint, driver overall driving time.
    • Drivers that were driving in Qualy are no longer included as DNS in Race Reports if they are driving in the race as part of the team.
  • Improved Track Records page design:
    • Changes to columns order and cell data formatting. Moved menu button for every record row to last column.
    • Added menu button in top right corner with customization options.
    • Added options to toggle table columns for 'Car Id', 'Car Type', 'Car Class', 'Team Name', 'Category', 'Server Name', 'Session', 'Fuel', 'Laps'.
    • 'Time' and 'Gap' columns are now optionally highlighted.
    • Redesigned Track Stats widget.
  • Improved and simplified DEDI Competitions Create/Edit form. Better default values. Most parameters now require to be turned On with checkbox to match their value. Most of the time you only need to provide Track Name and combination of Category, CarType, CarClass, TeamName to create a Competition.
  • Added "Create Competition for this xml" option to Results Viewer Utils drop-down menu. It opens Create Competition page with values already filled in with corresponding values of selected log file.
  • Removed old part of DEDI Competitions where users could upload their results to r2la DEDI.
  • Added multiple options to customize Session Reports tables:
    • Toggle columns in report tables: 'Car Number', 'Team', 'Car'.
    • Toggle columns in Race Results table only: 'Position Change', 'Qual Time'.
    • An option to show Team Name under Driver Name in report tables.
    • An option to add user images in Team and Car columns alongside text or instead of text. Put png images into rF2 Log Analyzer ver. x\web2py\applications\r2la\static\images\tables folder. Image filenames should match corresponding report column cell value. Replace all non-alphanumeric characters and spaces in filenames with _ (underscore) symbol.
    • An option to add one or two separate user image columns. Possible sources for this image file names are 'Category', 'CarType', 'CarClass', 'TeamName', 'CarId', 'Driver Name'.
    • Use browser DevTools to see image file names and css classes that can be used to customize styling in app.css file.
  • Added to Live Timing an option to add one or two separate user image columns. Turn it On/Off in rF2 Log Analyzer ver. x\web2py\applications\r2la\live_timing_settings.json file. Json settings names are "show_img_column1" (set to 0 or 1), "show_img_column2" (set to 0 or 1), "img_column1_source" (set to "driver", "class", "vehicle" or "vehicle_with_num"), "img_column2_source" (set to "driver", "class", "vehicle" or "vehicle_with_num"). Put png images into rF2 Log Analyzer ver. x\web2py\applications\r2la\static\images\tables folder. Image filenames should match corresponding source cell value. Replace all non-alphanumeric characters and spaces in filenames with _ (underscore) symbol.
  • Improved Championships page UI.
  • Added to Championships an option "Show column with custom images in Driver and Team Standings". Put png images into rF2 Log Analyzer ver. x\web2py\applications\r2la\static\images\tables folder. Image filenames should match corresponding Driver Name or Team Name cell value. Replace all non-alphanumeric characters and spaces in filenames with _ (underscore) symbol.
  • Better text formatting for Car Class and Tire Compound badges. Now shows full first word of multi-word class or compound name. Full name visible with mouse-over tooltip.
  • Better formatting for Driver Aids in tables. Now represented as badges (with one-two capital letters for most used Aids such as 'Blip', 'Clutch', 'Lift', 'AI', etc).
  • Redesigned 'Incidents/Chat' tab conents in Session Reports. Better 'Vehicle Contacts', 'Penalties' and 'Chat' tables. Removed Qualy Incidents/Chat from Race reports.
  • Changed session result header design in Session Reports.
  • Fixed numerous errors in UI. Multiple changes to improve UI consistency and readability.
  • Added screenshots to r2la Help page. Saved it as static mhtml file and put it in r2la root folder.
  • Added new Time Trials manager for non-DEDI version (optional).
    • Time Trials are available for non-DEDI mode only. Its a way to compare your multiple race runs of the same distance on the same track. Cars might be different on every run. Time Trial is structured similar to championship. You can create several events with different tracks in one Time Trial. Then add Race logs to event.
    • Conditions when adding log files to event are: xml file must contain driver with a name matching the one you provided when creating Time Trial, and all Race runs for event must have the same length in laps and done on the same track.
    • For example, you can create Time Trial with "Endurance TT" name and add your player name. Then create several events with names of tracks, like "Spa", "Imola", etc. Then run several races at Spa offline, with or without AI, with the same or different cars, but all races 10 laps long. Then add all this race logs to Spa Time Trial event you created. You will see Results and Laps tables on event page, where you can easily compare overall run time, best lap times, sectors, top speed (for LMU), fuel and tire wear, consistency between race runs.
That's a great update of the best tool for rF2 league hosts! Many thanks for your contribution @Nibo!
 
I've managed to get SSL working with my installation- I was wondering what steps others may have taken to force https? or redirect port 80 to 443 ?

Edit: Instead of force https redirect- to keep myself going I've configured to have both 80 and 443 interfaces open with the following command in the livetiming.bat

Code:
start web2py.exe -a '' --interfaces "x.x.x.x:80;x.x.x.x:443:privkey.key:cert.crt"

obviously replacing x.x.x.x with your r2la server ip address and privkey.key and cert.crt with the filename of your private key and certificate file you upload into your web2py folder.
 
Last edited:
Matthew Overton, by overall race order. I would potentially need to make even bigger update to make championship classes proper separate entities for stuff like this (I mean, they are separate right now for class championship tables. But stuff like class stats, class best laps, etc, will require rewriting a lot of core code from scratch). Don't know if I ever do that.
Got it, thanks.

We have a series for which drivers are not always in one car with 'swaps', but can also be in races with each in their own car. Right now the drivers are not each receiving points in a 'swap' race, which is obviously affecting the standings. Can this capability be added to the app?
 
Practically no. This is the hardest part to do, theoretically might be possible after total rewrite of core r2la parts. For champs with swaps team tables work fine, but drivers only take last driver name that drove that car for points in championship table. You can use manual points correction to add some missing points for drivers like this.
 
Practically no. This is the hardest part to do, theoretically might be possible after total rewrite of core r2la parts. For champs with swaps team tables work fine, but drivers only take last driver name that drove that car for points in championship table. You can use manual points correction to add some missing points for drivers like this.
Thanks for the quick reply Nibo.
 
Practically no. This is the hardest part to do, theoretically might be possible after total rewrite of core r2la parts. For champs with swaps team tables work fine, but drivers only take last driver name that drove that car for points in championship table. You can use manual points correction to add some missing points for drivers like this.

Hello Nibo, thanks for the help. Can you please specify how can we add the points to the drivers with manual override while they aren't listed for that round? Previously, we got around that because drivers that were in the session but didn't finish the race were listed as "DNS". So we could apply points to these entries. But right now with everything being listed as one entry under only 1 driver (the one who finished) points of those drivers have disappeared - even though they were manually overwritten. Again only the last driver got the points, the rest got a blank box:

View attachment upload_2024-7-21_17-2-45.png

Thanks for any help or suggestions you may have.
 
gangstorm, ufff... I did not think of that when I removed them, I thought it was not looking right and removed them. Still, that is only drivers that were driving in Qualy and not finishing stint in the race. There are also drivers that are not driving in Qualy and not driving last stint - they were not in the tables before and not in the tables now.

I would not want to roll back to including Qualy drivers as DNS, honestly. I think for now your option is to manually add "fake" <driver> blocks with that driver names to the end of Race xml files. Probably best to do this to "cloned" files, to not mess up the original.
Insert <driver> block(s) like this at the end of the file, after last </driver> tag and before </Race> tag:
Code:
<Driver>
<Name>New Driver Name</Name>
<Connected>1</Connected>
<VehName>copy value from team car here</VehName>
<Category>copy value from team car here</Category>
<CarType>copy value from team car here</CarType>
<CarClass>copy value from team car here</CarClass>
<CarNumber>copy value from team car here</CarNumber>
<TeamName>copy value from team car here</TeamName>
<isPlayer>0</isPlayer>
<ServerScored>1</ServerScored>
<GridPos>number of drivers in log file +1 (this new one)</GridPos>
<Position>number of drivers in log file +1 (this new one)</Position>
<Laps>0</Laps>
<Pitstops>0</Pitstops>
<FinishStatus>DNF</FinishStatus>
<DNFReason>DNF</DNFReason>
</Driver>

Copy values from driver's team car where I marked. GridPos and Position must be integer, number of drivers in log +1, i.e. if you have 17 drivers and adding this one, then his GridPos and Position must be 18.

I will look if I can implement adding new drivers to cloned log files in r2la's editor. But I can not promise.
 
gangstorm, ufff... I did not think of that when I removed them, I thought it was not looking right and removed them. Still, that is only drivers that were driving in Qualy and not finishing stint in the race. There are also drivers that are not driving in Qualy and not driving last stint - they were not in the tables before and not in the tables now.

I would not want to roll back to including Qualy drivers as DNS, honestly. I think for now your option is to manually add "fake" <driver> blocks with that driver names to the end of Race xml files. Probably best to do this to "cloned" files, to not mess up the original.
Insert <driver> block(s) like this at the end of the file, after last </driver> tag and before </Race> tag:
Code:
<Driver>
<Name>New Driver Name</Name>
<Connected>1</Connected>
<VehName>copy value from team car here</VehName>
<Category>copy value from team car here</Category>
<CarType>copy value from team car here</CarType>
<CarClass>copy value from team car here</CarClass>
<CarNumber>copy value from team car here</CarNumber>
<TeamName>copy value from team car here</TeamName>
<isPlayer>0</isPlayer>
<ServerScored>1</ServerScored>
<GridPos>number of drivers in log file +1 (this new one)</GridPos>
<Position>number of drivers in log file +1 (this new one)</Position>
<Laps>0</Laps>
<Pitstops>0</Pitstops>
<FinishStatus>DNF</FinishStatus>
<DNFReason>DNF</DNFReason>
</Driver>

Copy values from driver's team car where I marked. GridPos and Position must be integer, number of drivers in log +1, i.e. if you have 17 drivers and adding this one, then his GridPos and Position must be 18.

I will look if I can implement adding new drivers to cloned log files in r2la's editor. But I can not promise.

Thank you VERY much Nibo! That worked.. a bit of PITA to do, but at least it's a workaround for this season! Thanks again!!
 
Is it possible to also activate the sector times on the records screen, as happens in live timing?
Thank you very much for your work Nibo
 
There is no option for that. I would need to save sector times to db for every record and I thought before that would be not optimal for performance. Maybe I'll add it in the future, but can not promise.
 
Hi @Nibo , I've got a new PC today and tried using the newest version of Log Analyzer since the new update came out. However the program closes immediately with command prompt flashing up for a split second (screenshot below, was tough to get ). The version from my old PC (2.058.39) works fine. Maybe you have an idea on what's going on?
And thank you for the work!
 

Attachments

That's web2py framework error. Looks like it happens when it scans for available IPs before showing UI setup window. Maybe something is unusual in your PC or network config. Maybe some non standard characters somewhere, on one forum somebody wrote about characters in PC name, but I don't know.

You can try to bypass that setup window. Open your r2la.bat file in text editor and make it look like this:
Code:
cd web2py
start web2py.exe -a password -i 127.0.0.1 -p 8000

Save and run r2la.bat.

All web2py command line options are listed here - http://web2py.com/books/default/chapter/29/04/the-core?search=command+line#Command-line-options
 
Hi Nibo !
Great update, thanks again for your work ! :)

2 little questions :
- Custom images : great addition ! I use it to insert flags for the drivers, it looks good ! However, custom images do not show in exported html standings. I use "export championship tables only".

- How can I make the total points scored by drivers/teams (overall and in classes) show in bold characters ? I would like this figure to stand out from other columns.
 
- Custom images : great addition ! I use it to insert flags for the drivers, it looks good ! However, custom images do not show in exported html standings. I use "export championship tables only".

Unfortunately I found no way (no technical solution) to embed custom images to exported html file reports.

- How can I make the total points scored by drivers/teams (overall and in classes) show in bold characters ? I would like this figure to stand out from other columns.

Add this lines to rF2 Log Analyzer ver. 2.2.000-x64\web2py\applications\r2la\static\css\app.css file:
Code:
.driver_standings td:nth-last-child(1) {
    font-weight: 700;
}

.team_standings td:nth-last-child(1) {
    font-weight: 700;
}

Where number in "nth-last-child(1)" is index of column that you want to apply to, counting from right to left. So for last column its 1, for second to last its 2, etc.
Press CTRL+F5 in browser after that to pick up new app.css file.

UPD. Corrected code part. Now should work.
 
Last edited:
Thanks for your reply !

Too bad for the custom images not being exported :( Let's hope you can find a way at some point !

For the points sum in bold :
I use the points sum column on the left side (sorry, I did not mention it), so the code you provided actually makes the last result of the season show in bold. Having different number of races from one season to another, I cannot use a code counting from right, as the figure will change. How can I write it counting from left ?
 
"nth-last-child" - for right to left,
"nth-child" - for left to right.

Try:
Code:
.driver_standings td:nth-child(3) {
    font-weight: 700;
}

.team_standings td:nth-child(3) {
    font-weight: 700;
}
 
Back
Top