Overview of GT7 Telemetry Software

  • Thread starter snimat
  • 182 comments
  • 57,376 views
Ok, when changing the ports to 33339 and 33340, telemetry is received whith GT Sport, but unfortunately en ecxeption occurs, saying "unpack requires a buffer of 296 bytes". I need to investigate further.
Idea is to play GT Sport with rig and a PSVR1 :-)
 
You need to change the port and as well the crypto key for GT Sport.

KEY_GT7 = b'Simulator Interface Packet GT7 ver 0.0'
KEY_GTS = b'Simulator Interface Packet ver 0.0'

Now it is running :-)
 
Does telemetry give live intervals ? Annoyed it still not implemented in VR. So would it be technically possible to use text to speech every lap or every minute for intervals to leader / front and behind ?
 
Does telemetry give live intervals ? Annoyed it still not implemented in VR. So would it be technically possible to use text to speech every lap or every minute for intervals to leader / front and behind ?
no live intervals or any information on other cars on track is in the data coming from the game.
 
Obviously I am missing something. Trying to run gt7dashboard.
A few minor glitches before the server would start, those are included with resolutions for the sake of completeness.
I know it is a little choppy but the board message editor REALLY doesn't like the terminal log and I was pasting things in one line at a time to
try and figure out the problem.


Linux thinkstation 6.1.0-21 Debian 6.1.90-1

./run.sh

error: externally-managed-environment

sudo apt install python3.11-venv
python3 -m venv .venv
source .venv/bin/activate

./run.sh

Running setup.py install for salsa20 ... error

error: subprocess-exited-with-error

sudo apt install python-dev

sudo ufw disable

./run.sh


2024-06-19 03:37:41,323 Starting Bokeh server version 3.2.2 (running on Tornado 6.4.1)

2024-06-19 03:37:41,512 User authentication hooks NOT provided (default user enabled)

2024-06-19 03:37:41,515 Bokeh app running at: http://localhost:5006/gt7dashboard-main

2024-06-19 03:37:41,515 Starting Bokeh server with process id: 15662


Drove a few laps, but nothing.

That is all there is. No other windows or change in display, nothing in terminal.

PS5 and workstation are both wired and in the same subnet.


Any help would be appreciated.
 
Hi,
as in gt7dashboard is a carID used (and a car csv with the name of each car), I would like to have the weight of the car (for each carID).
Is a list of all car weights somewhere available ?
Does someone know ?
 
Hi,
as in gt7dashboard is a carID used (and a car csv with the name of each car), I would like to have the weight of the car (for each carID).
Is a list of all car weights somewhere available ?
Does someone know ?
There are several car data lists online, like this and this.

There's also an old database (from 2022) you can save in .csv format here
 
Last edited:
snc
CoachDave released telemetry for gt7 with subscription plan $4.99 / month or $49.00 / year
I watched his demo video, the app looks pretty good. Nothing revolutionary, just very well made and integrated.
 
I'm pretty confident that Delta simply takes the output of https://github.com/vthinsel/GT7Proxy and displays it in a pretty page.

Being labeled as a "first-ever-tool" is pretty misleading if not disregarding any of the existing prior work. I don't have access to the files but hopefully someone can confirm this.
Agree with the "first-ever", but there is for sure a lot of work done presentation-wise. But indeed there has been tools like this available for GT7 for a while now – in various levels of complexity and data analysis.

One thing I was wondering about though; it says "Tyre pressures", but AFAIK we never found anything related to that in the telemetry data, right? It's possible of course that it hides somewhere in the undocumented data fields, but I would think we'd have found that by now if it did.

With regard to my own work (EzioDash included), I've been doing most of the "unique features" in various tests, like track detection, track maps, sector times, stint tracking and so on – as have others. But hey, if it helps anyone and you want to part with $49/year, I'd say go for it! 😄
 
Agree with the "first-ever", but there is for sure a lot of work done presentation-wise. But indeed there has been tools like this available for GT7 for a while now – in various levels of complexity and data analysis.

One thing I was wondering about though; it says "Tyre pressures", but AFAIK we never found anything related to that in the telemetry data, right? It's possible of course that it hides somewhere in the undocumented data fields, but I would think we'd have found that by now if it did.

With regard to my own work (EzioDash included), I've been doing most of the "unique features" in various tests, like track detection, track maps, sector times, stint tracking and so on – as have others. But hey, if it helps anyone and you want to part with $49/year, I'd say go for it! 😄
There is no tyre pressure in gt7 from what Kaz said in some interview ;d Maybe its some kind of interpolation based on tyre temps if that even make sense.
 
snc
There is no tyre pressure in gt7 from what Kaz said in some interview ;d Maybe its some kind of interpolation based on tyre temps if that even make sense.
Kinda sounds more like they forgot to remove that line, and it's a remainder from some other game like ACC or something. If they try to interpolate, I would seriously not trust the data too much 😂
 
I'm pretty confident that Delta simply takes the output of https://github.com/vthinsel/GT7Proxy and displays it in a pretty page.

Being labeled as a "first-ever-tool" is pretty misleading if not disregarding any of the existing prior work. I don't have access to the files but hopefully someone can confirm this.
Our tech is completely custom built, we don't use any open source tools or listeners. We've done this so that we can 1) control the entire flow and 2) it gives us flexibility on features.

Coach Dave has a team of full time developers working on Delta across multiple sim racing titles. All of it custom built from the ground up.
 
Our tech is completely custom built, we don't use any open source tools or listeners. We've done this so that we can 1) control the entire flow and 2) it gives us flexibility on features.

Coach Dave has a team of full time developers working on Delta across multiple sim racing titles. All of it custom built from the ground up.
Does that mean that you are not using the telemetry from the game by talking to ports 33739 and 33740?
 
Does that mean that you are not using the telemetry from the game by talking to ports 33739 and 33740?
We use those ports but interpret the data with our own custom code.

It’s the same case for ACC, LMU, and iRacing. All custom built interpreters.
 
Our tech is completely custom built, we don't use any open source tools or listeners.
That unfortunately doesn't appear to be quite correct:

explorer_Ckb9WkG0Ym.png



This repository appears to not have any license at all, and as per github:
You're under no obligation to choose a license. However, without a license, the default copyright laws apply, meaning that you retain all rights to your source code and no one may reproduce, distribute, or create derivative works from your work.
 
That unfortunately doesn't appear to be quite correct:

View attachment 1387024


This repository appears to not have any license at all, and as per github:
Hey, lead dev on Delta here to address your concern.

Salsa20 is a cipher, and a well documented one, it's is the only way to read the data from the game and not patented (just like the one you have in your PDTools repository actually! https://github.com/Nenkai/PDTools/b...7322e185679f38f/PDTools.Crypto/Salsa20.cs#L26).

Also, the parser is just a tiny file using binary-parser over the binary data to handle reading the packets into a workable format (JSON) - I'd rather use that than do it manually like we do in iRacing for example. It's quite common to use. We do the exact same thing for our rf2/LMU support if you wish to take a look as you're diving into our code as we speak.

Happy to answer any other questions or concerns you have. To clarify, outside of literally just grabbing the data from the UDP socket, which can only be done one way, we've written everything from scratch. How we handle connections, how we track the game state, that's all proprietary and our IP. During research phase we investigated what other things were on the market, and none were doing what we needed, hence a complete from-the-bottom build.
 
Hey, lead dev on Delta here to address your concern.

Salsa20 is a cipher, and a well documented one, it's is the only way to read the data from the game and not patented (just like the one you have in your PDTools repository actually! https://github.com/Nenkai/PDTools/b...7322e185679f38f/PDTools.Crypto/Salsa20.cs#L26).

Also, the parser is just a tiny file using binary-parser over the binary data to handle reading the packets into a workable format (JSON) - I'd rather use that than do it manually like we do in iRacing for example. It's quite common to use. We do the exact same thing for our rf2/LMU support if you wish to take a look as you're diving into our code as we speak.

Happy to answer any other questions or concerns you have. To clarify, outside of literally just grabbing the data from the UDP socket, which can only be done one way, we've written everything from scratch. How we handle connections, how we track the game state, that's all proprietary and our IP. During research phase we investigated what other things were on the market, and none were doing what we needed, hence a complete from-the-bottom build.
I think there is one thing that is not well understood and should be well separated - understanding a mechanism/algorithm (whether it is Salsa20, or the simulator interface as a whole, or really, anything else) from a reference implementation which in this case is gt7-dash.

It is fair game to learn how it all works from existing projects, I mean, I wouldn't expect anyone to "just" figure out the decryption process, but copying implementations and source files (i've checked) from existing projects essentially turns this into a derivative.

Technically you don't have any rights to use any sort of code from gt7-dash, only viewing. Seeing as the repository is not licensed at all, I suggest reaching out to the author as for the licensing status, or alternatively, just implement it your own way.

More information here.
 
Last edited:
I think there is one thing that is not well understood and should be well separated - understanding a mechanism/algorithm (whether it is Salsa20, or the simulator interface as a whole, or really, anything else) from a reference implementation which in this case is gt7-dash.

It is fair game to learn how it all works from existing projects, I mean, I wouldn't expect anyone to "just" figure out the decryption process, but copying implementations and source files (i've checked) from existing projects essentially turns this into a derivative.

Technically you don't have any rights to use any sort of code from gt7-dash, only viewing. Seeing as the repository is not licensed at all, I suggest reaching out to the author as for the licensing status, or alternatively, just implement it your own way.

More information here.
Absolutely - if it wasn't for what's available right now, it would be a lot more difficult to figure out how to get data from the game - but that's not even 10% of the difficulty. Trust me we know! It was excruciating and time consuming to create what we have in Delta. For example how do you detect pit stops in all of the game modes in Gran Turismo 7, how do you get sector times, how do you tell what track you're on, how do you tell if you're in time trial vs a series of championship races, and how do you get all this without having to ask the user for an IP address? I couldn't find anything on those topics at all.

Your own repository (PDTools) inspired some of the work we've achieved - when I was first researching what was possible with GT7 telemetry. I had a good look into what you've produced to see what's possible. As a side note; it's a huge shame the Live Timing API is behind closed doors - maybe one day in the future they'll unlock this. But still, it doesn't really solve the problems we faced, but it is extraordinarily well documented and a hugely valuable resource for anyone else interested in GT7 data and Gran Turismo in general.

We share two things in common with gt7-dash (and literally any other GT7 telemetry app), and only two; Salsa20 deciphering, and binary parsing of the UDP data. Our source is not written in JavaScript, and it's not ripped and copied source files (you only see built/compiled/minified/obfuscated JavaScript code, as I'm sure you understand we don't want our actual source to be leaked).

Have you tried to use Delta yourself as of yet? I know you've been retired from GT for a while now, but seriously I'd be genuinely curious about your feedback, and I'd hope you'll see it's not just another app displaying the data onto a page, it does a whole lot more than simply read/display the data. You'd be hard pressed to find any other app that does exactly what we do currently, the closest thing would be gt7dashboard - which is a fantastic free option available for the telemetry - but it still doesn't do everything we do.
 
And how do you get all this without having to ask the user for an IP address? I couldn't find anything on those topics at all.
Literally 3 pages back: https://www.gtplanet.net/forum/threads/overview-of-gt7-telemetry-software.418011/post-14044980

As for the other questions, it's a combination of where and when certain events happen and the flags in the data. I rarely play GT anymore so haven't had the desire to actually finish the project in any way but a few of these questions are answered in the various threads when we were first unpacking the data a few years ago and the unanswered ones that I have wondered myself, I largely figured them out to my needs at least.
 
Quick question for you guys. Is it possible to see the data from other drivers in online races/lobbies? Seeing that gtws shows data for tyres, tyre usage and fuel consumption, I was wondering if this is accessible via telemetry. Thanks
 
Quick question for you guys. Is it possible to see the data from other drivers in online races/lobbies? Seeing that gtws shows data for tyres, tyre usage and fuel consumption, I was wondering if this is accessible via telemetry. Thanks
No, it’s unfortunately not possible. At least it’s not info that is in the telemetry.

There are ways to achieve similar things, but not publicly available on normal PSN accounts. There are some things only PD can access. At least in a usable manner.
 
No, it’s unfortunately not possible. At least it’s not info that is in the telemetry.

There are ways to achieve similar things, but not publicly available on normal PSN accounts. There are some things only PD can access. At least in a usable manner.
Thanks for the clarification.
 
@snimat: I just run accros you gt7dashboard and it looks very cool. Great stuff putting it togheter from both the backend and frontend side.

May I ask a question about how to use it in a specific usercase?

I have manually created a Json copy/pasting my best lap recorded live against Tidge lap recorded via replay.
The resultant Json file is well bigested by your app.

Now, taking Turn1 as example:
I see he is braking later
1727713942237.png


and this is also confirmed by the brake graph
1727713986764.png


but I also read somewhere that replay runs show some sort of delayed/filtered patterns for the braking.
Is this the case for your app?
Does this json created by me make sense, or should I create one with Tigd and mine lap both recorded as replay?

Thanks
 
zjn
@snimat: I just run accros you gt7dashboard and it looks very cool. Great stuff putting it togheter from both the backend and frontend side.

May I ask a question about how to use it in a specific usercase?

I have manually created a Json copy/pasting my best lap recorded live against Tidge lap recorded via replay.
The resultant Json file is well bigested by your app.

Now, taking Turn1 as example:
I see he is braking later
View attachment 1393348

and this is also confirmed by the brake graph
View attachment 1393349

but I also read somewhere that replay runs show some sort of delayed/filtered patterns for the braking.
Is this the case for your app?
Does this json created by me make sense, or should I create one with Tigd and mine lap both recorded as replay?

Thanks
I think I can answer this pretty simply with: don’t trust the replays for minute details. I don’t know exactly why it’s not a one to one replay, but it could be that they average out values and interpolate them when replaying. I do know, as you mention, that they differ.

Edit: don’t know if you can replicate it better if you compare against your own replay rather than live. Test it? 😄
 
Last edited:
Back