ACC Results Companion

Misc ACC Results Companion 1.24.8

Login or Register an account to download this content
I can't seem to figure it out. Upon launch the configure menu pops up and imediately says "bradcasting.json file doesn't exist" but I go where the file should be and in fact does exist and is a .json file not a .txt file... I'm guessing this is why it doesn't show me any results

Check that ARC is pointing at the correct data folder for ACC
1658496731922.png

This should be <My Documents>\Assetto Corsa Competizione\. If it is pointing to the wrong place, correct this.

If it is pointing to the correct place, check the file does exist... ie

<My Documents>\Assetto Corsa Competizione\Config\broadcasting.json

Note, ARC will try to create it, if it doesn't exist.

If the folder/file does exist, then ARC can't read it.
  • Check ARC isn't blocked from reading the folder in anti-virus/firewall
    • If it is, add an exception/permit it
  • If the folder is on OneDrive (or any other cloud based file caching service), check the folder is tagged as always available rather that on demand (ARC won't be able to read the file unless it is available locally
 
Hi @Doug Duthie - just a thought. Had you consider creating an app on iOS or Android where it could sync lap times from the desktop version to the app? Because many times you'd be chatting with people on Discord or wherever and we ask what lap times you're doing on a specific track. We don't always remember so it would be handy to have it on the phone so we can pull it up.
 
Hi @Doug Duthie - just a thought. Had you consider creating an app on iOS or Android where it could sync lap times from the desktop version to the app? Because many times you'd be chatting with people on Discord or wherever and we ask what lap times you're doing on a specific track. We don't always remember so it would be handy to have it on the phone so we can pull it up.
It's not a priority I'm afraid as mobile apps aren't really my thing.

If I get time, I'll expose a REST api if anyone else if interested in building something to consume the data
 
Hi Doug,
I want to report a (admittedly) minor bug:
Since a few versions double clicking on a driver in the final standings of a session jumps to "all cars" but not filtered for that driver. So I'm not looking at their laps specifically, but all laps of all drivers. If I double click on that driver in that view as well, it does filter for that driver like I initially wanted. A while ago this worked directly from the final standings view.

It's a bit annoying for races with larger grids to scroll through the lists twice to find the driver I'm looking for.
 
Last edited:
Hi Doug,
I want to report a (admittedly) minor bug:
Since a few versions double clicking on a driver in the final standings of a session jumps to "all cars" but not filtered for that driver. So I'm not looking at their laps specifically, but all laps of all drivers. If I double click on that driver in that view as well, it does filter for that driver like I initially wanted. A while ago this worked directly from the final standings view.

It's a bit annoying for races with larger grids to scroll through the lists twice to find the driver I'm looking for.
I see...it works properly for the player but not other drivers.

I'll look into it
 
Hello friend! The app is awesome!
Can you please tell me if it is possible to upload lap data to google docs online?
I use the app exclusively for my team's server work.
Or is such a feature planned in the future)?
 
Hi Doug,
the double clicking works as again as expected!

not sure what you're other bug fix contains:
"BUGFIX: Post race penalties weren't refreshed correctly"
But I just had a race where the driver ahead got a DT for track warnings in the second to last lap or even the last and didn't serve it. So it was applied as post race time penalty, which moved him from 2nd to 3rd. ARC still shows him in 2nd though.

edit: And just now ARC started to hang and the window freezes when selecting a different tab or session.
Did this a few times and now it'S running normal again. The log shows that block of errors for a few times in the last minutes:

Code:
[00000061-00.1|01.6] 2022-07-31 21:58:14 ERROR LoggingSQLiteCommand.ExecuteReader : SELECT IFNULL(p.reason, ''), p.penalty, p.penalty_value, p.violation_in_lap, p.cleared_in_lap, d.driver_first_name, d.driver_last_name, d.driver_short_name, p.car_id FROM penalties p INNER JOIN session_drivers d ON p.session_id=d.session_id AND p.car_id=d.car_id AND p.driver_index=d.driver_id WHERE p.session_id=@session_id
        @session_id=88730373-eb3a-4335-ae24-5dc860077387
[0000002F-00.1|01.6] 2022-07-31 21:58:14 ERROR LoggingSQLiteCommand.ExecuteReader : SELECT DISTINCT l.session_id, s.track_id, l.car_model_id, l.lap_number, l.lap_time, l.sector1_time, l.sector2_time, l.sector3_time, l.sector4_time, l.fuel, l.timestamp, l.flags, l.car_id, c.race_number,  IFNULL(c.team_name, ''), d.driver_first_name,  d.driver_last_name, d.driver_short_name, l.position, l.penalty, IFNULL(l.status, ""), IFNULL(l.rain_tyres, -1), IFNULL(l.tyre_pressure_fl, -1.0), IFNULL(l.tyre_pressure_fr, -1.0), IFNULL(l.tyre_pressure_rl, -1.0), IFNULL(l.tyre_pressure_rr, -1.0), IFNULL(l.tyre_temp_fl, -1.0), IFNULL(l.tyre_temp_fr, -1.0), IFNULL(l.tyre_temp_rl, -1.0), IFNULL(l.tyre_temp_rr, -1.0), IFNULL(l.gap_time, -1), IFNULL(s.is_online, 0), IFNULL(l.ecu_mode, -1), IFNULL(l.max_speed, -1), IFNULL(l.peak_accel_time, -1), IFNULL(l.peak_accel_dist, -1), IFNULL(l.accel_zone_min_speed, -1), IFNULL(l.accel_zone_max_speed, -1), IFNULL(l.peak_acceleration, -1), IFNULL(l.damage_front, 0), IFNULL(l.damage_rear, 0), IFNULL(l.damage_centre, 0), IFNULL(l.damage_left, 0), IFNULL(l.damage_right, 0), IFNULL(l.air_temp, 0), IFNULL(l.road_temp, 0),  IFNULL(d.category, 255), IFNULL(d.nationality, 0), IFNULL(c.cup_category, ''), IFNULL(l.lap_type, 0), IFNULL(a.num_accidents, 0), IFNULL(l.real_timestamp, -1),IFNULL(l.lap_completed_timestamp, -1), IFNULL(l.lap_zero_timestamp, -1), IFNULL(l.broadcast_position, 0), IFNULL(l.position_start_lap, 0), IFNULL(l.fuel_start_lap, -10), IFNULL(l.wind_speed, 0), IFNULL(l.wind_direction, 0), IFNULL(d.moniker, ''), IFNULL(d.player_name, ''), IFNULL(l.brake_bias, 0),  IFNULL(l.tyre_set, -1), IFNULL(l.track_grip_status, -1), IFNULL(l.rain_intensity, -1), IFNULL(s.dry_tyre_name, ''), IFNULL(s.wet_tyre_name, ''), IFNULL(l.suspension_damage_fl, 0), IFNULL(l.suspension_damage_fr, 0), IFNULL(l.suspension_damage_rl, 0), IFNULL(l.suspension_damage_rr, 0), CAST(IFNULL(d.driver_player_id, '0') AS TEXT), d.driver_id,  IFNULL(l.brake_temp_fl, 0), IFNULL(l.brake_temp_fr, 0), IFNULL(l.brake_temp_rl, 0), IFNULL(l.brake_temp_rr, 0), IFNULL(l.brake_compound_f, 0), IFNULL(l.brake_compound_f, 0)    FROM session_def AS s INNER JOIN laps AS l ON s.season_id=l.session_id INNER JOIN session_cars c ON l.session_id=c.session_id AND l.car_id=c.car_id INNER JOIN session_drivers d ON l.session_id=d.session_id AND l.car_id=d.car_id AND l.driver_id=d.driver_id LEFT OUTER JOIN (SELECT COUNT(*) as num_accidents, session_id, car_id, lap_number FROM session_accidents GROUP BY session_id, car_id, lap_number) a ON l.session_id=a.session_id AND l.car_id=a.car_id AND l.lap_number=a.lap_number WHERE l.session_id=@sessionId AND (c.race_number=@raceNumber OR (l.car_id=0 and s.player_race_number is null) OR (l.car_id>1000 AND s.is_online=1 AND s.recorded_by='SHM') OR (s.recorded_by='BULK')) ORDER BY l.lap_number, l.position ASC
        @sessionId=13415958-9848-4481-9c2d-44b0ccf0c3bf
        @raceNumber=37
[00000061-00.1|01.6] 2022-07-31 21:58:14 ERROR ResultsDB.error : Exception getting penalties for session 88730373-eb3a-4335-ae24-5dc860077387 and car -1 : database is locked
database is locked
[0000002F-00.1|01.6] 2022-07-31 21:58:14 ERROR ResultsDB.error : Error reading lap details database is locked
database is locked
 
Last edited:
Hi Doug,
the double clicking works as again as expected!

not sure what you're other bug fix contains:
"BUGFIX: Post race penalties weren't refreshed correctly"
But I just had a race where the driver ahead got a DT for track warnings in the second to last lap or even the last and didn't serve it. So it was applied as post race time penalty, which moved him from 2nd to 3rd. ARC still shows him in 2nd though.

edit: And just now ARC started to hang and the window freezes when selecting a different tab or session.
Did this a few times and now it'S running normal again. The log shows that block of errors for a few times in the last minutes:

Code:
[00000061-00.1|01.6] 2022-07-31 21:58:14 ERROR LoggingSQLiteCommand.ExecuteReader : SELECT IFNULL(p.reason, ''), p.penalty, p.penalty_value, p.violation_in_lap, p.cleared_in_lap, d.driver_first_name, d.driver_last_name, d.driver_short_name, p.car_id FROM penalties p INNER JOIN session_drivers d ON p.session_id=d.session_id AND p.car_id=d.car_id AND p.driver_index=d.driver_id WHERE p.session_id=@session_id
        @session_id=88730373-eb3a-4335-ae24-5dc860077387
[0000002F-00.1|01.6] 2022-07-31 21:58:14 ERROR LoggingSQLiteCommand.ExecuteReader : SELECT DISTINCT l.session_id, s.track_id, l.car_model_id, l.lap_number, l.lap_time, l.sector1_time, l.sector2_time, l.sector3_time, l.sector4_time, l.fuel, l.timestamp, l.flags, l.car_id, c.race_number,  IFNULL(c.team_name, ''), d.driver_first_name,  d.driver_last_name, d.driver_short_name, l.position, l.penalty, IFNULL(l.status, ""), IFNULL(l.rain_tyres, -1), IFNULL(l.tyre_pressure_fl, -1.0), IFNULL(l.tyre_pressure_fr, -1.0), IFNULL(l.tyre_pressure_rl, -1.0), IFNULL(l.tyre_pressure_rr, -1.0), IFNULL(l.tyre_temp_fl, -1.0), IFNULL(l.tyre_temp_fr, -1.0), IFNULL(l.tyre_temp_rl, -1.0), IFNULL(l.tyre_temp_rr, -1.0), IFNULL(l.gap_time, -1), IFNULL(s.is_online, 0), IFNULL(l.ecu_mode, -1), IFNULL(l.max_speed, -1), IFNULL(l.peak_accel_time, -1), IFNULL(l.peak_accel_dist, -1), IFNULL(l.accel_zone_min_speed, -1), IFNULL(l.accel_zone_max_speed, -1), IFNULL(l.peak_acceleration, -1), IFNULL(l.damage_front, 0), IFNULL(l.damage_rear, 0), IFNULL(l.damage_centre, 0), IFNULL(l.damage_left, 0), IFNULL(l.damage_right, 0), IFNULL(l.air_temp, 0), IFNULL(l.road_temp, 0),  IFNULL(d.category, 255), IFNULL(d.nationality, 0), IFNULL(c.cup_category, ''), IFNULL(l.lap_type, 0), IFNULL(a.num_accidents, 0), IFNULL(l.real_timestamp, -1),IFNULL(l.lap_completed_timestamp, -1), IFNULL(l.lap_zero_timestamp, -1), IFNULL(l.broadcast_position, 0), IFNULL(l.position_start_lap, 0), IFNULL(l.fuel_start_lap, -10), IFNULL(l.wind_speed, 0), IFNULL(l.wind_direction, 0), IFNULL(d.moniker, ''), IFNULL(d.player_name, ''), IFNULL(l.brake_bias, 0),  IFNULL(l.tyre_set, -1), IFNULL(l.track_grip_status, -1), IFNULL(l.rain_intensity, -1), IFNULL(s.dry_tyre_name, ''), IFNULL(s.wet_tyre_name, ''), IFNULL(l.suspension_damage_fl, 0), IFNULL(l.suspension_damage_fr, 0), IFNULL(l.suspension_damage_rl, 0), IFNULL(l.suspension_damage_rr, 0), CAST(IFNULL(d.driver_player_id, '0') AS TEXT), d.driver_id,  IFNULL(l.brake_temp_fl, 0), IFNULL(l.brake_temp_fr, 0), IFNULL(l.brake_temp_rl, 0), IFNULL(l.brake_temp_rr, 0), IFNULL(l.brake_compound_f, 0), IFNULL(l.brake_compound_f, 0)    FROM session_def AS s INNER JOIN laps AS l ON s.season_id=l.session_id INNER JOIN session_cars c ON l.session_id=c.session_id AND l.car_id=c.car_id INNER JOIN session_drivers d ON l.session_id=d.session_id AND l.car_id=d.car_id AND l.driver_id=d.driver_id LEFT OUTER JOIN (SELECT COUNT(*) as num_accidents, session_id, car_id, lap_number FROM session_accidents GROUP BY session_id, car_id, lap_number) a ON l.session_id=a.session_id AND l.car_id=a.car_id AND l.lap_number=a.lap_number WHERE l.session_id=@sessionId AND (c.race_number=@raceNumber OR (l.car_id=0 and s.player_race_number is null) OR (l.car_id>1000 AND s.is_online=1 AND s.recorded_by='SHM') OR (s.recorded_by='BULK')) ORDER BY l.lap_number, l.position ASC
        @sessionId=13415958-9848-4481-9c2d-44b0ccf0c3bf
        @raceNumber=37
[00000061-00.1|01.6] 2022-07-31 21:58:14 ERROR ResultsDB.error : Exception getting penalties for session 88730373-eb3a-4335-ae24-5dc860077387 and car -1 : database is locked
database is locked
[0000002F-00.1|01.6] 2022-07-31 21:58:14 ERROR ResultsDB.error : Error reading lap details database is locked
database is locked
Penalties aren't automatic - ACC doesn't report them on the UDP interface. You can add them manually though. Press F1 to bring up the help and look at Session Page->Lap details View->Penalties.

Database locked errors are just a symptom of the database I'm using...if a long write occurs, reads are locked until the writes complete. The "big" writes are processing leaderboard updates (when ARC starts) and on session completion. I've moved some of the more common read operations to being asynchronous so these errors are less frequent. However, they may still occur causing a freeze for a short period. When the UI unfreezes, you should be able to continue normally. As time allows, I intend to move more of the read operations to being asynchronous to stop UI freezes
 
I'm having a bit of an odd problem. I have not changed the window dimensions for ARC for quite a long time. The other day I decided to drag the bottom a bit lower, and the right edge a bit more to the right, to better use the screen while still leaving some other apps uncovered.

Since then, the application sometimes shows up on the wrong screen (I have 2 displays) or even if it is on the correct screen, the dimensions that are not what I want, or its in the wrong position (it will end up half way down the screen and much of the app is off screen.

I have to manually move/resize it every time I open it. Anything I might be able to do to get it to retain the window size and position?
 
Last edited:
I'm having a bit of an odd problem. I have not changed the window dimensions for ARC for quite a long time. The other day I decided to drag the bottom a bit lower, and the right edge a bit more to the right, to better use the screen while still leaving some other apps uncovered.

Since then, the application sometimes shows up on the wrong screen (I have 2 displays) or even if it is on the correct screen, the dimensions that are not what I want, or its in the wrong position (it will end up half way down the screen and much of the app is off screen.

I have to manually move/resize it every time I open it. Anything I might be able to do to get it to retain the window size and position?
I'm guessing the mechanism so ensure the main window isn't in a bar position (it wants at least some of the title bar visible to allow you to drag it somewhere else) isn't working correctly.

Can you drag ARC to your desired position, then close it. Re-open and then export diagnostics (preferably try it so the issue is repeated). Can you let me know the resolutions of your screens (the resolutions in Windows, not the native resolutions) and where the screens are in relation to each other.

Thanks
 
Hi Doug,
I have a small request. Could you add other years for the US tracks please ? It's because, basically, this year is related to BOP. And if I use a GT4, then the BOP is from 2019 and for the jaguar G3, the BOP is from 2018, etc.... Don't bother to try to detect them automatically, the current "change track year" menu is enough.
Thanks in advance and sorry for begging.
 
Hi Doug,
I have a small request. Could you add other years for the US tracks please ? It's because, basically, this year is related to BOP. And if I use a GT4, then the BOP is from 2019 and for the jaguar G3, the BOP is from 2018, etc.... Don't bother to try to detect them automatically, the current "change track year" menu is enough.
Thanks in advance and sorry for begging.
Shouldn't be a problem.

From what you are saying, do you think all tracks need all years? ie Brands Hatch is currently (2018/2019) whereas only tracks with surface differences between these years are differentiated at the moment. It isn't a problem splitting them, as long as it makes sense to do so
 
Currently in ACC, performance of cars are related to a chosen year (2018,2019,2020) or a chosen serie (GT challenge, british GT). These series can be simplified into a 2021 BOP.
And when you choose the 'BOP' (year or serie), it is automatically linked to a resurfaced track if any.
So, I think that each year should be present, to reflect each BOP within the track name.

But to avoid too much modifications, perhaps that previous state could be left as is (track with 2018/2019 status) because there is no way to differentiate previous records and to sort them correctly.
You know, even Kunos doesn't know how to handle all these differences and the leaderboard in game doesn't contain year anymore :)
Let's go simple by adding year to US tracks.
 
Last edited:
Currently in ACC, performance of cars are related to a chosen year (2018,2019,2020) or a chosen serie (GT challenge, british GT). These series can be simplified into a 2021 BOP.
And when you choose the 'BOP' (year or serie), it is automatically linked to a resurfaced track if any.
So, I think that each year should be present, to reflect each BOP within the track name.

But to avoid too much modifications, perhaps that previous state could be left as is (track with 2018/2019 status) because there is no way to differentiate previous records and to sort them correctly.
You know, even Kunos doesn't know how to handle all these differences and the leaderboard in game doesn't contain year anymore :)
Let's go simple by adding year to US tracks.
OK - will do
 

Latest News

Do you prefer licensed hardware?

  • Yes for me it is vital

  • Yes, but only if it's a manufacturer I like

  • Yes, but only if the price is right

  • No, a generic wheel is fine

  • No, I would be ok with a replica


Results are only viewable after voting.
Back
Top