Telemetry Interface (BETA)

Welcome to the new TML-Studios Community! Please read through the Community Rules and Guidelines and Tips & Tricks. Have fun!
  • Right, so I have looked into the telemetry and it seems great. I press a button and if I refresh the browser it updates the JSON data so show the relevant information.


    My next task is going to be to see if I can create some sort of program that can collect this data and display it nicely.

  • Right, so I have looked into the telemetry and it seems great. I press a button and if I refresh the browser it updates the JSON data so show the relevant information.


    My next task is going to be to see if I can create some sort of program that can collect this data and display it nicely.

    can you show how you did it by video ?

  • What is this exactly? I didn't get it. PS: I don't join the Beta tests.

    The interface allow us players to access values such as current gear and speed limit. The information can be shown on the phone by creating an application and more, check out this blog post about how telemetry is used in ETS2:

    https://blog.scssoft.com/2015/…l-side-telemetry-sdk.html



    I don't know this, I started doing new research. I'm doing research on Big Data.:|

    I don't know if this is helpful, but if you know some programming then here is an example of how to extract JSON information from Fernbus (extracting information about current gear) written in Java:

    https://www.codepile.net/pile/ZrXd9BrB

  • From the brief look that I have had, you cannot make changes to the game from the JSON data. However, I am yet to fully understand the complete working of it.


    Currently, I am able to get the data out of the game and just read it. I shows things like stops, passengers (how many and capacity of bus), what is on/off (lights, WIFI, WC)


    I hope to be able to use this information and get it to display the information in a neat form. Maybe being able to see the phone from in game on your own phone maybe.


    And if I can find out how the input part works, I potentially make the buttons work from another device.


    I don't know what is possible or my own capabilities, but I will see what I can do.


    As for showing how to access the data. I will create a simple guide tomorrow.

  • thank you, it looks like interesting and beautiful things will come out. Waiting Impatiently.:)

  • Hi !

    I gave a try to the new access however it seems that data is cut in the middle after targetGear, I tried to restart the game with no luck,
    but changing the game language to english solved it (probably because english is definitely more compact than french and makes json string shorter)

    Code
    1. ...... ,"TargetGear":0,"GearC



    A little additionnal question :D
    - What is the refresh rate of the data ? I usually poll games at 60fps, but not sure if it is usefull here

  • This Bug will be fixed in the next update.

    The data is refreshed every frame but currently the HTTP interface has an issue so it will take 200ms to get an answer.

  • Mathias Amazing thanks !

    I've continued experimenting with the api, i had a few small issue :
    - Keep alive support, the server does not supports keep-alive, which leads pretty fast to free socket exhaustion. I had to force close all sockets before the time_wait delay as they can't be reused. I have a workaround for this but it forces me to go socket level to avoid issues.

    - Speed ;) , I could not find current speed in the vehicle data, I have location but the vehicle packet has no timestamp which prevents any client side computation.
    - Timestamp : A good way to handle the refresh rate and let consumer make accurate computations when required to to add a millisecond accurate timestamp to each api entry.
    - I've seen heavy discussions about suspensions, in order to create some bassshakers (buttkicker ...) feedback it would be interresting to add suspension velocity


    Hope that this feedbacks will help ;)

    Nicolas

  • The Speed will be available in the next update. Also i've added a timestamp in the HTTP header and enabled keep alive support. I think suspension data would be possible to.