Jump to content

You're browsing the 2004-2023 VATSIM Forums archive. All content is preserved in a read-only fashion.
For the latest forum posts, please visit https://forum.vatsim.net.

Need to find something? Use the Google search below.

New VATSIM Dataserver


Aidan Stevens
 Share

Recommended Posts

Aidan Stevens
Posted
Posted

We've heard your requests, and we understand that the current, colon-delimited datafile has been a pain to deal with and acts as a barrier to entrance for many new developers. As such, we have rewritten the dataserver which comes with a brand new JSON file that includes a 1:1 field mapping with the colon-delimited file. Documentation for this new file can be found here. This is officially v1.0 and is now considered in production.

We are also doing our best to embrace open-source and community involvement with our technology, so you can find the code for the new dataserver on our GitHub, here. Please feel free to create issues and open pull requests.

Please note that this does not mean we are deprecating the old file! We will continue to maintain that file for years to come to ensure that all of the current VATSIM tools you know and love continue to function properly.
Please see the latest tech blog post for an update on the legacy data feed.

Thanks for reading, and I hope you enjoy!

Regards,

  • Like 7
  • Thanks 4
Link to comment
Share on other sites

  • Brant Marshall featured this topic
  • Board of Governors
Gunnar Lindahl
Posted
Posted

Great work team - thank you!

 

GUNNAR LINDAHL 
## [email protected]
Facebook Twitter Instagram
VATSIM Logo
Link to comment
Share on other sites

Luke Kolin
Posted
Posted (edited)

Is there any metadata in the feed as to when it was generated, or is it real-time?

Cheers!

Luke

PS: Do you support TLS on the data server?

Edited by Luke Kolin

... I spawn hundreds of children a day. They are daemons because they are easier to kill. The first four remain stubbornly alive despite my (and their) best efforts.

... Normal in my household makes you a member of a visible minority.

Link to comment
Share on other sites

Mateusz Zymla
Posted
Posted

Would love to know it as well, if it's live, or at least close-to-real (as previous data txt distributed is basically too old for some real-time managing apps), it's a game-changer.

Mateusz Zymla - 1131338

VATSIMer since 2009, IRL pilot rated.

Link to comment
Share on other sites

Nick Harasym
Posted
Posted
4 hours ago, Mateusz Zymla said:

Would love to know it as well, if it's live, or at least close-to-real (as previous data txt distributed is basically too old for some real-time managing apps), it's a game-changer.

Maybe Kafka will be a thing, more info shortly???

  • Like 1
Nick Harasym
VATSIM Senior Developer
Team Lead, Infrastructure
## [email protected]
Facebook Twitter Instagram
VATSIM Logo
Link to comment
Share on other sites

Mateusz Zymla
Posted
Posted
9 hours ago, Nick Harasym said:

Maybe Kafka will be a thing, more info shortly???

any further reading for now 😉 ?

Mateusz Zymla - 1131338

VATSIMer since 2009, IRL pilot rated.

Link to comment
Share on other sites

Nick Harasym
Posted
Posted
15 minutes ago, Mateusz Zymla said:

any further reading for now 😉 ?

Basically, write a consumer client for a Kafka server and you will be able to consume a real time feed of data shortly. 

Most languages already have support for Kafka https://cwiki.apache.org/confluence/display/KAFKA/Clients

Nick Harasym
VATSIM Senior Developer
Team Lead, Infrastructure
## [email protected]
Facebook Twitter Instagram
VATSIM Logo
Link to comment
Share on other sites

Andrew Ogden
Posted
Posted (edited)

Here's an open source one I've purpose written if you're interested for now: https://github.com/andrewogden1678/VATMap_Kafka

Edited by Andrew Ogden

Andrew Ogden
Gander Oceanic OCA Chief
Vancouver FIR Senior Instructor

Visit us: https://ganderoceanic.ca
Contact: [email protected] 

CZQO LogoCZVR Logo

Link to comment
Share on other sites

Nick Harasym
Posted
Posted

The above example works however it was written for our "closed beta" of the Kafka feed. Building up the consumer will be the same however the data will change slightly. 

Nick Harasym
VATSIM Senior Developer
Team Lead, Infrastructure
## [email protected]
Facebook Twitter Instagram
VATSIM Logo
Link to comment
Share on other sites

Mateusz Zymla
Posted
Posted (edited)

Yeah, we are thinking about introducing an A-CDM plugin/software/website (not decided yet), and for now on there are no publicly available any complete soft for that, so we would be forced to extract data from EuroScope. We don't know how we'd like it to look like, but extracting data directly from VATSIM data servers would make our life easier for sure 😉

Edited by Mateusz Zymla

Mateusz Zymla - 1131338

VATSIMer since 2009, IRL pilot rated.

Link to comment
Share on other sites

Luke Kolin
Posted
Posted
3 hours ago, Nick Harasym said:

The above example works however it was written for our "closed beta" of the Kafka feed. Building up the consumer will be the same however the data will change slightly. 

Is it too late to get access to this?

Cheers!

Luke

... I spawn hundreds of children a day. They are daemons because they are easier to kill. The first four remain stubbornly alive despite my (and their) best efforts.

... Normal in my household makes you a member of a visible minority.

Link to comment
Share on other sites

Luis Henrique
Posted
Posted

Thank you so much!

Just a random simmer...

Link to comment
Share on other sites

Nick Harasym
Posted
Posted

  

22 hours ago, Luke Kolin said:

Is it too late to get access to this?

Cheers!

Luke

 

For the current Kafka offer that is floating out around there, yes we won't be giving credentials for it till we have the production one ready.

Nick Harasym
VATSIM Senior Developer
Team Lead, Infrastructure
## [email protected]
Facebook Twitter Instagram
VATSIM Logo
Link to comment
Share on other sites

Luke Kolin
Posted
Posted

Thanks. Any chance we can get an 'effective date' field in the data server JSON feed?

Cheers!

... I spawn hundreds of children a day. They are daemons because they are easier to kill. The first four remain stubbornly alive despite my (and their) best efforts.

... Normal in my household makes you a member of a visible minority.

Link to comment
Share on other sites

Mario Trunz
Posted
Posted

Is there a way we can get the last 10-15 flights based on the VATSIM User ID?

meteoNautics
We are a community that provides tools for Global Flight Simulation Operations
meteonautics.com

Link to comment
Share on other sites

Jason Cochran
Posted
Posted

+1 for Kafka. Very nice, guys.

Though we have struggled with what seems to be higher than normal CPU consumption of the brokers, we are currently using Kafka at scale in a very large enterprise... and it's super dependable and mostly runs itself.

Link to comment
Share on other sites

  • 3 weeks later...
Martijn Rammeloo
Posted
Posted

Is there something going wrong with the Charset?

Image

Link to comment
Share on other sites

Matt Bozwood-Davies
Posted
Posted
On 4/19/2020 at 12:04 AM, Luke Kolin said:

Any chance we can get an 'effective date' field in the data server JSON feed?

This was pushed up in a new version the other day with a non-breaking change. There is a new top-level bject "general" which contains the following properties

  • version - incremental changes
  • reload - not sure what this was used for in the txt file but we left it there for similarity
  • update - same format as the txt timestamp
  • update_timestamp - UTC timestamp iso format
  • connected_clients
  • unique_users
"general": {
  "version": 1,
  "reload": 1,
  "update": "20200524002549",
  "update_timestamp": "2020-05-24T00:25:49.9636563Z",
  "connected_clients": 1168,
  "unique_users": 1105
}

---

On 4/26/2020 at 8:14 PM, Mario Trunz said:

Is there a way we can get the last 10-15 flights based on the VATSIM User ID?

Please see the API for this: 

 

Link to comment
Share on other sites

Luke Kolin
Posted
Posted

Fantastic - thank you!

Cheers

Luke

... I spawn hundreds of children a day. They are daemons because they are easier to kill. The first four remain stubbornly alive despite my (and their) best efforts.

... Normal in my household makes you a member of a visible minority.

Link to comment
Share on other sites

  • 2 weeks later...
Martijn Rammeloo
Posted
Posted (edited)

@Aidan StevensThe datafeed (JSON) seems to be serving outdated data.

spacer.png

Screenshot was taken seconds ago, 1833Z

Edited by Martijn Rammeloo
Link to comment
Share on other sites

  • 1 month later...
Joshua Channin
Posted
Posted (edited)

Is it intended that the resource is blocked by CORS for client side javascript requests as an example? "Access to fetch at 'http://cluster.data.vatsim.net/vatsim-data.json' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled."

@Aidan Stevens

Edited by Joshua Channin
Link to comment
Share on other sites

  • 1 month later...
Joshua Channin
Posted
Posted
Link to comment
Share on other sites

Nestor Perez
Posted
Posted

Hey Joshua, what would be the usecase for us to allow CORS requests? I think we’d rather have all requests proxied (and cached) through each application’s server; thus reducing the final load and cost of VATSIM’s free-to-use services.

Me.

Link to comment
Share on other sites

Joshua Channin
Posted
Posted (edited)

That makes sense Nestor. Mostly wanted to confirm the behavior was intended. I do think from a developer advocacy level, this restricts working with VATSIM to those developers able and willing to support their frontend client with an application server caching the data rather than a frontend client only and the caching occurs at the VATSIM level. But all things considered with VATSIM's free-to-use services as you mentioned, I concur with your thoughts.

Edited by Joshua Channin
Link to comment
Share on other sites

Nestor Perez
Posted
Posted

Forgot to add: If there is a legitimate usecase for which it is the only option available, I'm sure everyone in the team is looking forward to learn more about it 🙂

Me.

Link to comment
Share on other sites

  • Matt Bozwood-Davies unfeatured this topic
 Share