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. AL612

    AL612 Rookie

    I think it's better to reverse this, and use the udp data's session status info as it has much more status detail. Think this came up in the thread somewhere before. But as you know it only loads at the same time as the shared page files.

    I've not looked at multiplayer, does the shared page files not contain normal data once the server hands control of the car to the game client?
     
  2. Doug Duthie

    Doug Duthie Hardcore Simmer

    @TheBigO / @expor / @AL612
    Thanks for your responses. As the whole architecture of my app is driven by shared memory changes, I think I'm going to have to at least try to carry on in the same vein. In think what I'll do is if I see any change in SHM (static) an the status is ACC_OFF, I'll treat it as a possible spectator/non-driver stint and attempt a UDPconnection and see how that goes.

    If that doesn't work, I'll have to turn it all upside down.

    A few comments that it is better to use the UDP status info. I was under the impression (at least when I started playing with the UDP interface a long time ago), that a UDP session was tied to an ACC session (live race, spectator or replay). Once the ACC session ended, the broadcast session was stale. If a new ACC session started, you'd have to request a new UDP session. Is this not the case any more?
     
  3. expor

    expor Gamer

    If a session ends (leave server, pause in single-player for example) indeed the UDP connection is closed, or rather no more data is sent. I added a heartbeat on the real time update and if I didn't get it for a certain amount of time I send a disconnect message (to clean up acc registration) to be sure, and request a new connection. This is repeated until the game accepts my registration, allowing the user to keep the app opened at all times.
     
    Doug Duthie likes this.
  4. Mattze

    Mattze Gamer

    Recently I've also been looking a bit at the UDP interface. Is there a way to synchronize the data from the broadcast API with that of the shared memory? For example, are the carIds from the shared memory the same as those in the entry list of the broadcast API?
     
  5. expor

    expor Gamer

    I haven't checked that but the UDP interface is interval based, whereas you can read the shared memory whenever you want. Synchronizing it (i.e. exactly at the same interval) will be difficult if we don't know how the UDP interface works in detail. But running similar intervals on both UDP and shared memory should give you quite synchronized data, depending on your usecase. Personally I use the shared memory on top of the UDP interface. The UDP interface runs only at 2 seconds interval for me, just like the shared memory, so it doesn't come too narrow on timing :).
     
  6. Doug Duthie

    Doug Duthie Hardcore Simmer

    Yes, the carIds match. As @expor says, you can harvest information from both but bear in mind shared memory is real time (more or less) but UDP would appear to be (at least for some things) asynchronous. IIRC some information is interval based (eg car info at a point in time) and other information is event based (entry list updates, accidents etc). I've never tried seeing if the interval based information is in sync between SHM and UDP or if there is a lag - I guess it would be easy to reconcile (compare car positions at a point in time)
     
    Mattze likes this.
  7. Iko Rein

    Iko Rein Racer

    Has anyone looked at the FinalFFB value and what it should be and what the value really means. Is it nm or some other value?

    I started playing around with the wheel settings and thought this can be a nice way to detect possible clipping in the FFB. With quick testing, I get values ranging from -1.6 to 2.8 (in Monza, using TS-PC Racer), so my initial assumption of max % of possible forces was thrown out immediately.

    Has anyone any insight on the FinalFFB value from physics packet?

    Cheers.
     
  8. Paul Revival

    Paul Revival Rookie

    Hey guys :) Can you help me a bit? I wonder how to detect if player is "in garage \ in options \ somewhere else behind Esc-menu" now? Not only in pause or in setup window but "not in action" at all ? I'm developing an overlays-app and I'd like to hide overlays while player pushed "Esc" and until he pushed "Continue". Thank you all :) btw you can check out armamentario_com - that's my app!!
     
  9. Mattze

    Mattze Gamer

    Unfortunately never, as far as I know. At the beginning of the session you can detect via the SessionPhase variable from the broadcasting API whether session has started or not. But when the player resets the car to garage via menu, the session will still continue. Another idea would be the EnginRunning flag, but this fails if the player uses auto-start engine. I've solved this issue by combining the variables SessionPhase and InPitlane so that I can tell when the player is "on track". If someone finds a better solution, let me know.
     
  10. Ryan Rennoir

    Ryan Rennoir Gamer

    Why penalty enum is wrong ?
    If I get dsq for driving in the wrong way I get 22 instead of the 18 in the doc and the code example
     
  11. dippa

    dippa Rookie

    Is there any way to parse a replay file (.rpy) ?
    Sadly, I have not found any information at all about it online.

    What is the file structure of these files? Or are we not allowed to parse those files?
     
  12. Does anyone know if shock velocity (damper velocity) is available in the ACC shared memory? It doesn't appear to be, but some people claim to have that data in Motec for histograms.
     
  13. TheBigO

    TheBigO Racer

    Looks like MoTeC is a different thing, since these files are written seperately.
     
  14. Zeraxx

    Zeraxx Racer

    Damper Speed is not, but Damper Position is, if you take the derivative of your Damper Position values you'll end up with Damper Speeds.
     
  15. OK - so they are calculating it, and not getting it directly from the API. Thanks.
     
  16. No idea, but I intend to play around with it sometime soon. Anybody else on the thread here know what to expect from it? A bit of settings-changing should show approx what range to expect, and that should be enough to find some kind of usable/known data values from it.

    The shared-memory has a "packet-id" field, which indicates the revision of the SHM data that has been pushed. There's a user-defined setting for FFB Hz, I wouldn't be surprised if the SHM updates are at FFB rate. (Makes sense from a code POV, a high-prio thread is running/calculating these things to provide feedback to user - copying a ~800 byte physics update message to SHM won't take long. At that point, the packet-id is also updated.

    My point is, reading the SHM data "whenever you want" won't give accurate/good results; interpreting it via the packet-id count (and perhaps offsetting it in time based on the packet-id rate) will give much more accurate results.
     
  17. Following up to previous message - had a look here just now, it seems pretty clearly to be -1.0 to +1.0, with - being "turning left" force feedback, and + values being turning right (so steering pushing to left). I'm pretty sure the value here is being plotted in the HUD's "FF" slider-gauge value.
    To be clear, the value I've investigated here is the "SHM.physics.finalFF" value. Its range is -1.0 to +1.0 float32.

    I'm reading it from a ACC SHM wrapper in the Rust language (my own bindings). I'm not sure how you're accesssing values, but if there's values wildly astray, then its likely a bug in how the SHM is being read. If you have *loads* of clipping, and the values range from -1.6 to +2.8, then that kinda maps OK too, but you'll want to reduce the gain in the FFB section *a lot* (~2x?) to get those FFB values in check.

    Or setup the car with less caster, because caster causes FFB.
     
  18. Festa_PWR

    Festa_PWR Alien

    Apologies if this has been asked before. Had a quick look through and couldnt see anything besides what is in the shared mem PDF. Further apologies for what might be a n00b question.

    For the forecast info, there are 6 levels of 'rain' (0-5), which is fine.

    But my question is, how would you display the below increasing and decreasing values, as they all just show as heavy rain and no way to distinguish.
    Is there a sum of 2 forecast values to show if it will increase or decrease or are these displays something that we cannot currently get from the shared memory yet?

    upload_2021-11-1_12-54-10.png
     
  19. Alienfish360

    Alienfish360 Racer

    Unsure if you're aware, but Cylance via Virus Total are flagging SharedMemoryACCS.zip as malicious.

    SharedMemoryExample.exe is flagged by both SecureAge APEX and MaxSecure as malicious (MaxSecure shows it as a Trojan)
     
  20. Iko Rein

    Iko Rein Racer

    If I recall correctly, the way the example reads input keys (using GetAsyncKeyState?) is often tagged as a virus/trojan by those less commonly used AV tools. For my SHMEM-to-UDP relay for my Telemetry Tool I rewrote the key reading part, and the virus warnings went away.

    Cheers.
     
    Doug Duthie likes this.
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 Multiplayer ACC dedicated server race start hangs, but only on Nordshleife Apr 13, 2024
ACC Troubleshooting Access violation on game startup . The UE4-AC2 game has crashed Apr 11, 2024
ACC Multiplayer ACC Server Setting Apr 7, 2024
ACC Troubleshooting RealtimeCarUpdate.Heading/Yaw removed from ACC Broadcast UDP in favor of WorldPosZ/Elevation? Apr 4, 2024
ACC Multiplayer Missing information in ACC Server Admin Handbook Version 1.10.0 Apr 3, 2024
ACC Physics ACC inconsistensies should be addressed for the future of the game. (Ex: Braking mechanics & tracks) Apr 3, 2024
ACC PS4/PS5/XB1/XBX/S General Discussions ACC chrashed started Race in carriere modus Apr 2, 2024
Bug reports acc fov bug Apr 2, 2024
ACC Troubleshooting ACC 1.10.0 crash Nurb Nordschleife Apr 1, 2024
ACC PS4/PS5/XB1/XBX/S General Discussions ACC Will it get cross party not just cross play on consoles? Mar 23, 2024
ACC Physics Does ACC not implement real life braking mechanics?(Need some insights on this recent youtube video) Mar 16, 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