1. Do you need support for Assetto Corsa Competizione? Please use the proper forum below and ALWAYS zip and attach the WHOLE "Logs" folder in your c:\users\*youruser*\AppData\Local\AC2\Saved. The "AppData" folder is hidden by default, check "Hidden items" in your Windows view properties. If you report a crash, ALWAYS zip and attach the WHOLE "Crashes" folder in the same directory. Do not post "I have the same issue" in an existing thread with a game crash, always open your own thread. Do not PM developers and staff members for personal troubleshooting and support.
  2. As part of our continuous maintenance and improvements to Assetto Corsa Competizione we will be releasing small updates on a regular basis during the esports season which might not go through the usual announcement process detailing the changes until a later version update where these changes will be listed retrospectively.
  3. If ACC doesn't start with an error or the executable is missing, please add your entire Steam directory to the exceptions in your antivirus software, run a Steam integrity check or reinstall the game altogether. Make sure you add the User/Documents/Assetto Corsa Competizione folder to your antivirus/Defender exceptions and exclude it from any file sharing app (GDrive, OneDrive or Dropbox)! The Corsair iCue software is also known to conflict with Input Device initialization, if the game does not start up and you have such devices, please try disabling the iCue software and try again. [file:unknown] [line: 95] secure crt: invalid error is a sign of antivirus interference, while [Pak chunk signing mismatch on chunk] indicates a corrupted installation that requires game file verification.
  4. When reporting an issue with saved games, please always zip and attach your entire User/Documents/Assetto Corsa Competizione/Savegame folder, along with the logs and the crash folder (when reporting related to a crash).

DOCS ACC Shared Memory Documentation

Discussion in 'ACC Blog' started by Fernando Barbarossa, Aug 28, 2019.

  1. Malc2169

    Malc2169 Gamer

    Don't stop there - make the whole of the setup accessible from Shared Memory please! Endless possibilities might follow!
     
  2. TheBigO

    TheBigO Racer

  3. Hornet-Wing

    Hornet-Wing Rookie

    Just like TheBigO, I'm currently using keyboard shortcuts and macros to control the pitstop MFD to alter fuel, tyre pressures and repair. The ideal scenario would be if we could control the pitstop setup externally via shared memory, udp or more specific keyboard shortcuts. Alternatively, it would be great to see the state of the pitstop MFD page in shared memory.

    To make using macros more accurate it would be great to have:
    Whether "Change Tyres" is selected
    Compound Dry/Wet
    Whether "Change Brakes" is selected
    Whether "Suspension" is selected
    Whether "Bodywork" is selected

    As an extension it would be awesome to see:
    Pit Strategy Number
    Currently Selected Tyre Set
    Time Requred for Stop

    Thanks!
     
    artishock and TheBigO like this.
  4. Doug Duthie

    Doug Duthie Hardcore Simmer

    Ah - I see the issue now. Imola is the only circuit that is capitalised in shared memory and inconsistent with the track code in the server results. I lower case all track codes to make them consistent. As it turns out, in Turkish, lowercase of "I" isn't "i"
     
  5. Holger Gunkel

    Holger Gunkel Rookie

    @ Doug Duthie - Hi, Even I stumbled on same idea: Really in Turkish the pairs of letters are "ı" and "I" but "i" and "İ"!!!
     
  6. Doug Duthie

    Doug Duthie Hardcore Simmer

    Yes...I guess I should be using invariant culture, or possibly English when I lower case the tracks
     
  7. Holger Gunkel

    Holger Gunkel Rookie

    I've got some strange behaviour of the "gear" channel!

    The idea is, to track in Shared Memory those Channels, what's related to user actions while driving, those like changes of ECU Map or ABS while driving. - Every time, when parameter changes I log the new value recording a time stamp.
    My aim, to add a time related Math 2D channel for several parameters to MoTeC extension file.

    So, "gear" is already present in MoTeC Workspace, and it's changing same in steps, that's why I decided to log it for a proof of my results.

    I have a beep on every record for testing that thing while driving. - 1st I noted of getting 2 beeps on every gearshift!!! - Checking my log I found somthing like this:
    Code:
    TimeStamp;Gear;
    65318;1;
    88877;2;
    105851;1; <--?!?
    105902;3;
    107365;1; <--?!?
    107417;4;
    109552;1; <--?!?
    109604;5;
    113225;1; <--?!?
    113326;4;
    113860;3;
    114912;2;
    117544;1; <--?!?
    117596;3;
    119600;1; <--?!?
    119650;4;
    122891;1; <--?!?
    122942;5;
    125569;1; <--?!?
    125620;6;
    128522;5;
    128852;1; <--?!?
    128954;4;
    131188;3;
    134488;1; <--?!?
    134539;4;
    136544;1; <--?!?
    136595;5;
    139011;1; <--?!?
    139541;2;
    142354;1; <--?!?
    142405;3;
    Can me someone tell what happens????
     
  8. CDN_Hammer

    CDN_Hammer Rookie

    Can anyone point me to how to access the data about cars around the player? Specifically the "car left / car right / three wide" data would be helpful. Thanks in advance.
     
  9. expor

    expor Gamer

    Isn't gear offset by 1, because 0 is reverse? And then gear 1 is neutral? In which case you see the shifts as neutral, and then the resulting gear? I haven't tested this but I believe that's how the gears are logged.
     
    Neilski likes this.
  10. expor

    expor Gamer

    Maybe you can use the spline position to determine if a car is within a certain distance, and then the x, y, z coordinates to figure out where exactly related to player car they are.
     
  11. CDN_Hammer

    CDN_Hammer Rookie

    I can confirm that "0" is reverse, "1" is neutral etc.
     
  12. CDN_Hammer

    CDN_Hammer Rookie

    Thanks for the direction. I'll look into it. iRacing had a flag in the sdk that was easy to access, I was hoping there was something similar.
    Cheers.
     
  13. CDN_Hammer

    CDN_Hammer Rookie

    Perhaps this would be a good time to ask if the 'car left / right' data could be added to the physics output? It could be setup in the same way as the flags, with enumeration for car left, car right, two cars left, two cars right, car left and right.
    (Please Please Please!) :)
     
  14. Mattze

    Mattze Gamer

    1 is neutral gear. During shifting, the gear briefly jumps to neutral like an H-shifter.
    If you shift very fast, the sampling rate of the shared memory isn't high enough to register every disengagement, I guess. Therefore, neutral gear isn't tracked with every gear change.
    Another explanation could be that it has something to do with the automatic double-clutch. I'm not an expert, but your example shows that it only occurs during upshifts.
     
  15. Holger Gunkel

    Holger Gunkel Rookie

    Thx to @all
    Yes, I've seen the offset before, because there isn't a 7th gear in vehicle.
    That's what I couldn't understand, thank you.

    Now I do it with a filter for the briefly jumps to neutral and corrected the offset:
    Code:
    if (pf->gear == 1) { if (p_gear !=  1) p_gear = 1; else p_gear = 666;}
    if (p_gear != pf->gear) csvStream << tstamp << ';' << pf->gear - 1 << endl;
    p_gear = pf->gear;
    ... records just the 2nd sample when gearshift is going neutral!
     
    Last edited: Apr 29, 2021
  16. Iko Rein

    Iko Rein Gamer

    In my tool I collect all kinds of statistics, like GearShifts and with ACC I was getting double the real value, but not quite. I noticed the 'go via Neutral' by looking at the Gear trace, so I had coded in a test for ACC for the GearShifts

    Code:
    //Gear normalized -1 is R, 0 is N, rest as it should be
    if(prevGear != curGear && curGear > 0) {gearShifts++;}
    And this works with ACC, but e.g with PC2/AMS2 there is an issue that the gear values reported might have one extra value, so 5 to 4 gear change might be reported as 5 --> 0 --> 1 --> 4. And that adds extra complexity for checking if the change is valid. There checking clutch status is one extra info, but is not valid in all cases, so must be used with care. Oh, the joys/challenges of supporting many games.

    Cheers.
     
  17. CDN_Hammer

    CDN_Hammer Rookie

    Is there an official channel to request additions to the shared memory file (or is this it with tagging of Mr. Ferrum)?
     
  18. Doug Duthie

    Doug Duthie Hardcore Simmer

    A question for all...

    I use a mechanism to automatically detect new ACC sessions to decide when to open a broadcast session and start recording. Firstly it looks to see if session information has changed - ie any of the following
    • static.numberOfsessions
    • static.numberOfCars
    • static.track
    • static.carModel
    • static.isOnline
    and the graphic.Status is ACC_LIVE

    No this is all fine there the player is driving, but doesn't work if the driver is in a team and isn't in the first stint (ie he is just watching the first driver until the change). In this case, graphic.status would appear to be ACC_OFF, with a few other oddities
    • graphic.session is ACC_PRACTICE (not ACC_RACE) - is this just because it is 0/unset?
    • static.isOnline is 0 rather than 1
    • static.numCars is 1 - not the number of cars in the race
    Note: The above could be incorrect - I'm just trying to see what diagnostics I have from another users recording.

    So, the question is, how can I reliably detect the session is running in this case. If there something else in shared memory that tells me a new session has started?

    Thanks
     
  19. TheBigO

    TheBigO Racer

    As far as I know, is that the shared memory data is almost useless in a team race. Only the first stint gives reliable data, if you are the first driver. Something, that is a problem for my virtual race engineer as well.
     
  20. expor

    expor Gamer

    Detecting new sessions is horrible :(. I use the following, and only from broadcast API;
    • SessionId does not equal previous SessionId
    • SessionEndTime is higher than previous SessionEndTime (with a small margin)
    I could not find any other useful data, other than number of sessions in the shared memory. In my case all drivers are connected to the backend so when a driverswap is done the next driver automatically starts sending shared memory to the server. However for your app I think you can only rely on the UDP stream. It would be so helpful if each session has its own GUID...
     
Similar Threads
Forum Title Date
ACC Physics Differentiate AC and ACC Shared Memory With Different Naming. Jan 3, 2024
ACC Troubleshooting ACC Shared Memory: AC version still reports 1.7 Apr 19, 2023
ACC Troubleshooting ACC Shared Memory Example Apr 23, 2020
Programming Language - Apps - GUI Themes Shared Memory or UDP Reference for ACC ? Sep 13, 2018
ACC PS4/PS5/XB1/XBX/S General Discussions ACC Will it get cross party not just cross play on consoles? Saturday at 3:02 PM
ACC Physics Does ACC not implement real life braking mechanics?(Need some insights on this recent youtube video) Mar 16, 2024
ACC Multiplayer Communicating with accServer.exe (previously acRemoteServerUDP) Mar 14, 2024
Multiplayer Bugs & Issues Time of Day adjustment on AC Server Maker stuck at 8:00-18:00 even though I have full version ACCM Mar 2, 2024
ACC Screenshots & Videos ACC on PC with Controller | Race Element /ps5 controller activate triggers Feb 28, 2024
ACC Tools ACC will not recognise my Elgato steamdeck Feb 15, 2024
Bug reports ACC Restrictor parameter Feb 7, 2024
ACC Online Leagues / Championships room ACC Official Server higher requirement Jan 30, 2024
ACC Online Leagues / Championships room ACC LEAGUE AUSTRALIA Jan 29, 2024
ACC Tools ACC Time Trial Jan 24, 2024
ACC Troubleshooting ACC me funciona mal Jan 17, 2024

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice