Jump to content Jump to content

F1 2020 UDP Specification


Recommended Posts

  • Codemasters Staff

It's expected to be available once the 2021 forum opens up. I believe this will be tomorrow. 

You could try this link and keep hitting F5 until it works! 

 

  • Haha 1
Link to post
Share on other sites

Good morning guys, 

I'd want to ask sorry in advanced for my ignorance, i'm not a programmer. I'm looking for find the method to receive the datas and read it from the game because i'd like to prepare a system to organize some 'intelligent' automatic live streaming. Specially i'm interested about the live time in to the multiplayer race.

Now i don't know where i have to start. I just found a program that capture the UDP date but i don't know how i can decoding it. I use Mac pc. In attached the file about the datas i receive. I will be very grateful to each good soul that will decide to help a simple 'rookie' in this fascinating but complex world!

Schermata 2021-07-17 alle 09.01.05.png

Link to post
Share on other sites

Hi Joebel81 - at the end of this journey, you will no longer be able to say "I'm not a programmer" because to achieve what you want, you will need to write a program or two to catch and slice the data how you want and deliver it to a UI you will build. 

There are distinct areas - the first is capturing udp and converting it into human readable data. For this, you should probably use someone else's work. Try one of these maybe

https://www.npmjs.com/package/f1-telemetry-client

https://pypi.org/project/f1-2020-telemetry/

The first is node js, the second is python and you can find others by googling f1 202x telemetry udp client. 

With that up and running, you will have data. Lots and lots of data. You need to slice it up and extract the data points that you want. Remember that events are reported 20 times a second. Aggregation is super important because no one can read data of that frequency. 

Once you have the structures you want, you need a way to display the info. You say you want the live time in a multiplayer race, but how is that displayed, on what device etc? Personally, I can't do anything else while I am driving - certainly not taking my eyes off the screen and focusing on something else. Even the radio buttons are too much for me 😊

By the end, you will have an app and you will have programming knowledge. If this is all overwhelming, then quickly search for someone else's app and pay them some money. Don't expect it to be free because it's a lot of work building something like this. 

My app was a journey during which first I learned more python and then I learned javascript from zero. It is built for me and displays what I wanted to see. That's all this is really - it's a vehicle for learning a whole bunch of stuff, if you pardon the pun 😁

Link to post
Share on other sites

First of all let me say very thanks for your time you dedicated to me. What have to do whit npmjs or pypi program? i see just some code but i don't know how can use it. Please could you tell me 🙏?

I'd like to explain you what is into my mind and i will if i will reach some good result. 

Thank you man!

Link to post
Share on other sites
45 minutes ago, Joebel81 said:

What have to do whit npmjs or pypi program? i see just some code but i don't know how can use

Google is your friend. Trial and error is the way forward. Install python mac or install node js mac. You are going to have so many questions, but if you know what to ask, you can usually find the answers.

Link to post
Share on other sites

yes i agree with you , the problem is that i don't no where part of the world I'm turned 🙂

I installed Node Js and I used the command in to the Terminal ...  

npm install f1-telemetry-client

It seems works because it creates 4 folders in to my main directory. After that i tried to used the command 'npm run start' but the result is like a picture.

Please i feel that i'm so close to the solutions but i need another your support! after that i will consider you my best friend than Google 😇 

 

Schermata 2021-07-18 alle 01.08.39.png

Link to post
Share on other sites

If you see under "Usage", there is some code. Try pasting that into a new file and save it as something like start.js

Then back in the terminal, run the program you created using the command "node start.js"

If your game is active and the udp config is standard amd working, you should start to see the packet data logged on screen. If you do, congrats, you are now officially a programmer!

Now you need to figure out how to handle that data. Try changing console.log in this section to direct the packet to a function where you decide what to do with it.

client.on(PACKETS.event, console.log);
Link to post
Share on other sites

my friend i'm starting to feel the smell of the victory but not yet it happened .... 

i did what you said but let me shoe you what received 

why? believe me , i don't know minimally  what i'm doing 😅

Schermata 2021-07-18 alle 08.06.57.png

Link to post
Share on other sites

Hi Guys, 

There seem to be a strange issue with the "SSTA" event in Time Trial... The "SSTA" event is suppose to be sent at the start of the session although in time trial it is sent when you quit the session, just after the "SSEND" event.... 

Wich is a bit problematic when your app is waiting for the start event and receives it at the the end xD

Thanks for the help,

Regards

Wolfgang

Link to post
Share on other sites
  • 2 months later...
On 5/17/2020 at 4:18 PM, Hoo said:

m_yaw

Hi! It seems yaw doesn't correspond to where the car is facing in world coordinates but it's +90 degrees from that. I.e. if the car is facing North, 90 degrees, m_yaw value given by the API will be 180 degrees (well, in radians but same value). Does anyone know why it's the case? If I understand correctly, yaw should point to where car is facing.

Link to post
Share on other sites

Any progress on the multiplayer 'player' name issue?

It is absolutely nonsense that we dont get that data through telemetry, while it can be seen on the screen and easily processable. It adds absolutely nothing to saving the user identity.

Also it's just a username, not a first-lastname with address or something. 

Please get us the usernames otherwise this telemetry is useless.

Link to post
Share on other sites
  • 1 month later...

Also please put the corner cutting setting into the telemetry (strict vs regular).

Also please make the

m_currentLapInvalid

Flag always populated, even if 'corner cutting stringency' is turned off. (just please give us the state of this corner cutting setting!)

 

It's impossible to measure laptimes if we want to know whether the lap is valid or not with a third party software if the user turns of the corner cutting stringency. Thank you!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...