Author Topic: Web service API for replacement master server tracker  (Read 837 times)

Legacy_SkywingvL

  • Full Member
  • ***
  • Posts: 115
  • Karma: +0/-0
Web service API for replacement master server tracker
« on: December 27, 2012, 09:43:53 pm »


               I've made available a master server tracker that manages periodically obtaining status information from a known server list and making it available through simple SOAP web service requests.

The tracker handles all of the details involved in retrieving data from servers, managing aging out of servers that have gone offline from the current online server list, protocol differences between NWN2 and NWN1, etc.

If you're interested in using the API, http://api.mst.valha...erServerAPI.svc is the API endpoint.  The WSDL describing the API is linked from that page.  The API monitors both NWN2 and NWN1 servers.  Clients of the API are responsible for validating the contents of data, which is passed through from end servers, as appropriate for their environment (e.g. performing entity escaping).

Source code for the backend infrastructure for the web service API and server tracker can be found here: https://github.com/S.../nwn2dev-public .  This source file describes the public API methods and data types: https://github.com/S...terServerAPI.cs

Individual game servers can redirect nwmaster.bioware.com communications to replacement master server listeners in order to be listed in the master server tracker automatically, using these endpoints:

NWN1: nwn1.mst.valhallalegends.com
NWN2: nwn2.mst.valhallalegends.com

NWN2 server admins are strongly encouraged to install the latest NWNX4 xp_bugfix plugin, which automatically sends a copy of master server messages to nwn2.mst.valhallalegends.com for automatic server listing (http://www.nwnx.org/...opic.php?t=1086).

There is no corresponding NWNX2 plugin for NWN1 yet available; if someone would be up to the task of backporting the xp_bugfix changes (relatively simple) to NWNX2, I'd be grateful for the assistance.  As a stopgap, you can either a) use the RegisterPendingServers API method to register an ip/port with the tracker, or 'B)' redirect nwmaster.bioware.com to nwn1.mst.valhallalegends.com.  All master server auth requests are passed through as succeeded so there is no change in account auth status from doing this.

There are a variety of frontends and clients for the web service API today:

http://www.nwnlist.com
http://www.isleclost...stnwns2html.cgi
http://www.isleclost...stnwns1html.cgi

Additionally, the NWN2 Client Extension uses the web service API to completely replace the old server browser backend with one powered by the new tracker infrastructure, which restores the in-game server browser for users using the CE.  (http://social.biowar...1/index/3116438)

In principle, this could be replicated for NWN1 if someone is willing to take on the work.
               
               

               


                     Modifié par SkywingvL, 29 décembre 2012 - 04:18 .