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.
  2. FOR ASSETTO CORSA COMPETIZIONE: If you report issues with saved games, please always zip and attach your entire User/Documents/Assetto Corsa Competizione/Savegame folder!
  3. If your game executable is missing, please add your entire Steam directory to the exceptions in your antivirus software, then run a Steam integrity check or reinstall the game altogether.

Let's talk about broadcasting (programmer's thread)

Discussion in 'ACC General Discussions' started by Minolin, Dec 12, 2018.

  1. Doug Duthie

    Doug Duthie Simracer

    @Brado23
    Thanks for that - fingers crossed it's addressed in a forthcoming update
     
  2. BarneyKB

    BarneyKB Rookie

    Would love a guide for setting up the UDP connection for those (like me) who don't have experience with it. I'm trying to get this working in python but don't really know how :(

    A more detailed outline of what is actually being sent by the game via UDP, and what must be sent in response and how, would be ideal (in general terms, rather than just having the c# code to reference, which I don't really understand).

    Maybe it's just too advanced for me but yeah thought I'd give my input
     
  3. Toon Knapen

    Toon Knapen Gamer

    Indeed there is no BroadCastEvent on the green light been given but you can detect when the green light was given in the RealTimeUpdate once the SessionTime > 0
     
    Brado23 likes this.
  4. Toon Knapen

    Toon Knapen Gamer

    You can find the C# SDK in your steamapp folder, this is a good base to start from. For doing UDP, look in the socket module
     
  5. expor

    expor Gamer

    I'm working on an application, but I see strange behavior. When I connect and for example set an interval of 100ms everything works fine. If I disconnect (using the disconnect command) and reconnect it takes a while before I get the registration confirmation. Once received the data comes at expected intervals. If I repeat the process the connection confirmation takes even longer, and this increases as the number of (dis)connects continue.

    I tried setting the interval to 1000ms (1s) instead in which case I'm able to do about 5 reconnects before the connection confirmation starts to delay.

    I'm not really sure about how this is implemented, but based on the results I'm getting it feels like a connection is created per registration and data is being sent even if the client disconnected. This in turn results in slow behavior delaying new incoming connections.

    Anyone got any idea what is happening? Ideally I will only have one connection for the final application, but during development I stop and start my application a lot for testing. The only way to fix it now is to restart my ACC session, which seemingly restarts the broadcast server.

    Maybe important to add. I tried reproducing this with the provided SDK test client and the same occurs. Select 100ms interval, click connect. Select the created connection and select disconnect. Repeat the process. You will see after a few attempts it takes a long time for the connection to be registered!
     
    Last edited: May 11, 2020
  6. bartouze

    bartouze Gamer

    as we use it now in live stewarding in league it just give the lap ( wich is time demanding to go a ful lap in replay ).
    maybe we have set it up wrong . i have to try somes things to see :)
     
  7. bartouze

    bartouze Gamer

    do someone know the variable name who return car contact ?
     
  8. Toon Knapen

    Toon Knapen Gamer

    I have experienced the same. When trying to connect, I make it timeout if it still not connected after 5 s. and then try again. That helps sometimes. And once I can't connect anymore, I just quit and rejoin.
     
  9. bartouze

    bartouze Gamer

    where do you find that more specificaly please ? :)
     
  10. expor

    expor Gamer

    I feel like the disconnect command should have a payload with the connection id. There's no way ACC can know which client to stop sending data to without any payload in the disconnect request. I will see if it's possible to add this payload. Maybe an ACC developer (@Minolin?) can comment on the disconnect implementation?
     
  11. bartouze

    bartouze Gamer

    well i dived in and found some intresting thing .

    i want to make change on the cs files the ksBroadcastingTestClient.exe use.

    wich one are they in the sources ? do it even use them from there ? cant find even décompilating the DLL


    i mean i made change in some code in source\ksBroadcastingTestClient but it doesnt seems to change anything in the final exec , maybe because it is actualy allready compilated .


    can someone give me a hint on that pls ?
     
  12. mha

    mha Gamer

    Can I connect to my server to use the broadcast API or is it only available when running the ACC client?
     
  13. expor

    expor Gamer

    Only available via client. There is no server API (yet), hopefully still to come!
     
    mha likes this.
  14. Toon Knapen

    Toon Knapen Gamer

    You can find the SDK in the path `common\Assetto Corsa Competizione\sdk\broadcasting` in the steamapp folder
     
  15. RadstaR

    RadstaR Rookie

    No changes/fixes in 1.4 ? :(
     
  16. Brado23

    Brado23 Racer

    No change in 1.4. The only recent change is the Nationality and Autopilot updates in 1.3.11.
     
  17. Zeraxx

    Zeraxx Racer

    Devs told me they were aware of the issues reported here (no x,y position, etc) but they weren't able to get it fixed before 1.4, I asked if they had a tentative date and didn't hear back so could be back burner for awhile.
     
  18. Brado23

    Brado23 Racer

    Yeah I am pretty sure they are aware of our requests, so I'd say they will get to them when they have a bit more free time.

    That made me think of another.... Kunos, can we have an API into the database that stores all of the driver ratings and track statistics? Would be great during broadcasts to be able to bring up the stats of drivers (overall ratings, specific rating categories, Kms and hours done on specific tracks and best lap times) and potentially talk about them.
     
  19. Brado23

    Brado23 Racer

    Has anyone managed to fix the issue where cars that leave the server aren't removed from the entry list? If so, is it possible for you to your share solution?

    Problem is that a remove is never done from the Cars ObservableCollection when a car leaves the server, so they remain in the collection. _entryListCars in the broadcast DLL is always kept up to date as it is regularly refreshed and new car additions are triggered from this by Cars.Add in BroadcastingViewModel (MessageHandler_OnEntrylistUpdate), but there is never a compare of the _entryListCars List and the Cars ObservableCollection to ensure they are kept in sync when cars no longer exist in _entryListCars as they left the server or disconnected. I've been trying to think how to fix it but haven't come up with anything solid yet.
     
  20. expor

    expor Gamer

    I found the solution, add the connection id as payload to the unregister command. After this I managed to do many reconnects without any delays. I think it keeps all connections open until unregister is sent. The example in the SDK folder is also missing this payload!

    Code:
    binaryWriter.writeUInt8(constants.outboundMessageType.UNREGISTER_COMMAND_APPLICATION)
    binaryWriter.writeInt32(connectionId)
    
     
    Doopy, Toon Knapen, ZioYuri78 and 2 others like this.
Similar Threads
Forum Title Date
ACC Physics Let's talk about spins... Apr 2, 2021
ACC PS4 - XB1 General Discussions Let's talk multiplayer/online servers Jul 11, 2020
ACC General Discussions Let's talk about broadcasting (user's thread) Dec 12, 2018
Console Lounge Let's talk vote to kick Mar 18, 2017
Console Lounge Quick race weekend (let's talk abou it Vol.1) Feb 24, 2017
Chit Chat Room Let's talk Lotus 98T Feb 17, 2017
Console Lounge Porsche Cayman GT4 - Let's talk gearing Jan 16, 2017
Console Lounge Let's talk about rage quitters... Dec 9, 2016
Chit Chat Room 935/78 - Let's talk setup and driving Oct 30, 2016
Console Lounge Let's talk about braking Oct 6, 2016
Suggestions Let's talk weather (I am not asking for rain). Aug 15, 2016
Chit Chat Room Let's talk wheels...again. why not? Aug 27, 2014
ACC PS4 - XB1 General Discussions Let's do something, this is going to get ugly...(Servers) Aug 3, 2020
ACC General Discussions Let's get acquainted? Nov 28, 2019
ACC General Discussions POLL! Let's buy this game again every year to support Assetto Corsa guys! Jul 20, 2019

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