Network Protocol/Server/gpsp.gs.nintendowifi.net

From Custom Mario Kart
< Network Protocol‎ | Server
Revision as of 22:40, 9 August 2016 by Wiimm (talk | contribs)
Jump to navigation Jump to search

Server gpsp.gs.nintendowifi.net

Client and server communicate using the PARAM-STRING protocol. The server is listening at TCP port 29901. This server translates profile ids into user nicks.

Parameters

Here is a list of found parameters for further analysis: param-of-server-gpsp.list (35 KB text file)

Protocol Parameters
Name Sender Param
Type
Description
final both empty Last parameter of a parameter list. One or more parameter lists may follow.
gamename client string For MKWii it's always "mariokartwii"
namespaceid client integer Only value 16 seen yet.
numopids client integer Number of profile ids in parameter opids. (usually 0 – 32).
o server profile id The following uniquenick is the translated nick of this player. The series is sorted by this profile id.
oldone server empty Abbreviation for »others list done«. It marks the end of the o and uniquenick sequence.
opids client profile id profile ids separated by an "|". Generally all profile ids of the friends list are send. If there is no entry in the list, opids contains a single "0".
otherslist both empty Header of the otherslist list.
profileid client profile id profile id of the questioner.
sesskey client integer Session-ID
uniquenick server user nick This is the translated nick based on the profile id of the previous o parameter.

Parameter Lists

Only one parameter list has been found yet. The name of the first parameter is used as caption. See PARAM-STRING for the protocol and the naming convention.

otherslist

The client sends a list with profile ids to the server to translate them into user nicks:

      otherslist =
         sesskey = 210997796
       profileid = 302594991
        numopids = 3
           opids = 469604577|447214276|354860031
     namespaceid = 16
        gamename = mariokartwii
           final /

The parameters sesskey and numopids are ignored by the server.

The server answers with a sequence of o+uniquenick pairs; one pair for each requested id of opids. The usage of the nick names is not clear yet. The list is sorted by the profile ids of the parameter o. Parameter oldone terminates the sequence.

      otherslist =
               o = 354860031
      uniquenick = 4anbjhi1jRMCJ23ioucc
               o = 447214276
      uniquenick = 7dkt0p6gtRMCJ2ljh72h
               o = 469604577
      uniquenick = 7hl05oif6RMCJ142q65e
          oldone =
           final /

Server Tests

Here are some notes after direct tests with the server:

  • The server ignores the parameters sesskey and numopids and just replies one nick for each profile id in opids .
  • Server answers only contain nicks for friends of profileid (clients profile id). So the server must know the friend lists of all players.
  • The returned nick list is sorted by the o parameters. Numerical sort is used (pid 20 is before pid 100).
  • After opening the connection, only one query is possible. To get more nicks, the connection must be closed and re-opened again.

Other Servers

Template:MKWii Servers

Related Topics

Template:MKWii Network Protocol