Forza Motorsport 7 'Data Out' feature details

Great work! Downloaded today and looks great!

Hi, I’ve loved your idea as I’m starting to work with python. However, it is not working for me. I have taken the IP Address with ipconfig (ipv4 Address), has chosen your example port (1123), then I do “python data2file.py 1123 outfile.tsv” and nothing happens. I hit Ctrl+C and nothing happens. Then, I close the window and only the head (row with names of columns) is written on the file.

Any help is appreciated. Thanks!

I ran a quick test on this, and, it work exactly as described by nettrom. Make sure to get data via Test Drive and/or Race!!! I ran about 1/4 lap and the output file had a lot of data available.

PRKid
.

2 Likes

Hi, I have ran a lot of laps in race while the program was running and nothing happened. But thanks for the help!

When are we getting more data such as Gear info ?

Very cool, have xb1 Forza and just installed Simhub on a old laptop, which serves up a web dashboard to my phone, would also like to see some more dashboard features added, eg gear, lap time etc.. great feature, nice work

Now it worked, but I had to output to another laptop…

Are there any specific units that things such as Velocity are given in?

I’m getting VelocityX, VelocityY and VelocityZ. I can see that in this world space Y is up and down so I’m going to ignore it. Getting the magnitude of the XZ vector with the following code.

Im driving in a straight line I can see my X and Y are near zero, and Z is 52. That is the same value as the speed value above so I believe the math is correct. I’m just confused what this means. I was testing in a NASCAR and keeping it in second gear. If I set my game to mph units I get around 117 display in game. If I set it to metric units I get 189. In both cases the speed variable from the UDP is around 52. Am I meant to multiple by something here?

EDIT: Wiring up my response I wondered what other measurements exist. It’s meters per second. Makes perfect sense.

I had this doubt too. Now I’m pretty sure it’s meters per second.

To me it seems that “EngineMaxRpm” is not the rpm of rev limiter, but the max rpm of the rev counter that is shown in the hud.

It was mentioned earlier that you have to use VelocityX and VelocityZ to get the velocity in meters per second. Multiplying that by 3.6 gets you kph.

I’ve thought about that too, but it’s not that either.

For example with vw corrado the EngineMaxRpm is 7950, hud show rpm gauge up to ~9000 and the rev limiter is around 7500
And for #7 Vantage GT3 it’s even more weird: EngineMaxRpm is 7450, hud shows up to 8000 and the limiter is around 7700.

Also pretty sure there was some car where current rpm didn’t match on data stream and in-game hud.

I’m working on a .NET Core solution.
For the moment, there’s just a simple console app, but I’m working on something bigger for web spectators.
There’s a lot of things to do, mainly some translation of data values (need to convert them to Gs, or kmph, etc.).

If you’re curious, it’s there :

2 Likes

That’s pretty cool! I know nothing of .Net, but I’ll keep a look on it.

Right now, I’m being able to plot real time graphics in python with the help of the routines by nettrom. However, I have to run 2 programs at same time because I couldn’t modify his program in order to plot animation while acquiring data. The timestamp is in milliseconds and displaced from zero. I can’t yet bring the timestamp to zero and animate at the same time. Probably, I can recover the circuit map from data, as I have already done this before in rFactor. The curvature can be obtained from data and the trajectory can be obtained from curvature.

1 Like

I’ve noticed it’s always wise to Quit Forza 7 and restart it before using the data out in a session else you might find it streams no data while you are racing.

1 Like

This may be a stupid question, but does Xbox support this? That is, can I have a PC on network listening and writing data from Xbox?

YES!
.

Sweeet! Thank you! This is awesome.

How can I link this data to something in my PC, like an overlay or something? Where do I need to start?

I finally got around to creating a client of my own. This is a native app for iOS (iPhone) written in objective-c. I really just did this for me, but since there don’t appear to be any dashboard apps for iOS I will go ahead and publish it to the app store once I clean a few things up.

It would definitely be nice to have the CarID mappings so we can do certain things based on make / model. Providing gear ratio and other info would allow more accurate shift light triggers. And, as everyone else has mentioned, tire wear, damage, fuel, etc. I think it would be a LOT more useful with that info. Very cool they did this though. I know FH4 is more of an arcade game but would be nice if it supported it as well.

Video footage here:

2 Likes

Hi

nice app !

I’m working on physical dashboard based on R-Pi / arduino for console, if it is not a secret how do you compute the speed ? I’m turning arround WheelRotationSpeed telemetry data (rad/s) but I’m not able to compute speed in kmh/mph without tires geometry ? Am I on wrong way or I miss something huge in telemetry data ?

so if you have a magic formula for speed calculation… :slight_smile:

Thanks and Regards.