2,733
edits
Red Leader (talk | contribs) (Repo templates and WP links) |
|||
Line 1: | Line 1: | ||
== Status == | == Status == | ||
Torsten created a branch | Torsten created a branch {{flightgear source|b=topics/mpdiscovery-via-dns|t=branch}} with a first implementation - just in case somebody might want to have a look. It does contain full lookup of a server list by checking the SRV records and each server's properties via TXT records with name=value text and value being a b64 encoded JSON string. It does not /yet/ contain a "is-online" check.<ref>{{cite web | ||
|url = https://sourceforge.net/p/flightgear/mailman/message/35482909/ | |url = https://sourceforge.net/p/flightgear/mailman/message/35482909/ | ||
|title = <nowiki> Re: [Flightgear-devel] Proposal for storing the mp server | |title = <nowiki> Re: [Flightgear-devel] Proposal for storing the mp server | ||
Line 22: | Line 22: | ||
== Usage of DNS within FlightGear == | == Usage of DNS within FlightGear == | ||
The {{wikipedia|Domain Name System}} (DNS) is being used within FlightGear to look up resources providing several services. Its use started with release [[Changelog 2016.2|2016.2.1]] as an experimental feature to resolve the location of the [[TerraSync]] servers. | |||
This page documents the used services in detail<ref>{{cite web | This page documents the used services in detail<ref>{{cite web | ||
|url = https://sourceforge.net/p/flightgear/mailman/message/35483751/ | |url = https://sourceforge.net/p/flightgear/mailman/message/35483751/ | ||
Line 49: | Line 49: | ||
=== TerraSync === | === TerraSync === | ||
The TerraSync client queries {{Wikipedia|NAPTR record}} | The TerraSync client queries {{Wikipedia|NAPTR record|NAPTR records}} for the DNS name <code>terrasync.flightgear.org</code>. As of version 2016.4, the configured entries are: | ||
* terrasync.flightgear.org. IN NAPTR 100 100 "U" "ws20" "!^.*$!http://flightgear.sourceforge.net/scenery!" . | * terrasync.flightgear.org. IN NAPTR 100 100 "U" "ws20" "!^.*$!http://flightgear.sourceforge.net/scenery!" . | ||
* terrasync.flightgear.org. IN NAPTR 100 50 "U" "ws20" "!^.*$!http://fgfs.goneabitbursar.com/terrascenery!" . | * terrasync.flightgear.org. IN NAPTR 100 50 "U" "ws20" "!^.*$!http://fgfs.goneabitbursar.com/terrascenery!" . | ||
Line 62: | Line 62: | ||
* The remaining entries are filtered for those with the lowest preference. (both other entries survive this filter) | * The remaining entries are filtered for those with the lowest preference. (both other entries survive this filter) | ||
* a random entry from the remaining list is picked for the entire session of FlightGear. | * a random entry from the remaining list is picked for the entire session of FlightGear. | ||
This is implemented in <code>SGTerraSync::WorkerThread::run()</code> | This is implemented in <code>SGTerraSync::WorkerThread::run()</code> {{simgear source|simgear/scene/tsync/terrasync.cxx|l=441|t=here}}. | ||
The property /sim/terrasync/http-server can be set to user defined URL pointing to the location of a custom TerraSync server e.g. <code>http://myterrasync.org/custom-scenery</code>. | The property /sim/terrasync/http-server can be set to user defined URL pointing to the location of a custom TerraSync server e.g. <code>http://myterrasync.org/custom-scenery</code>. | ||
Line 68: | Line 68: | ||
=== Multiplayer === | === Multiplayer === | ||
The multiplayer client queries {{Wikipedia|SRV record}} | The multiplayer client queries {{Wikipedia|SRV record|SRV records}} for a list of multiplayer servers and {{Wikipedia|TXT record|TXT records}} on each server for detailed information about the server. | ||
The SRV record for a multiplayer server looks like this: | The SRV record for a multiplayer server looks like this: |