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

From Custom Mario Kart
< MKWii Network Protocol‎ | Server(Redirected from GPSP)
Jump to: navigation, 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

Nintendo's Servers for Mario Kart Wii
DNS Name IP Address Port Protocol Description
gamestats.gs.nintendowifi.net
mariokartwii.gamestats.gs.nintendowifi.net
69.10.30.240 29920 N/A These are looked up, but never used.
gamestats2.gs.nintendowifi.net
mariokartwii.gamestats2.gs.nintendowifi.net
69.10.30.234 N/A TCP These are looked up, but never used.
gpcm.gs.nintendowifi.net 69.10.30.242 29900 TCP This connection is used to manage friends and to inform about one's status.
gpsp.gs.nintendowifi.net 69.10.30.241 29901 TCP The server exchanges profile ids into user nicks.
mariokartwii.available.gs.nintendowifi.net
mariokartwii.master.gs.nintendowifi.net
69.10.30.248 27900 UDP See pages
mariokartwii.ms19.gs.nintendowifi.net 69.10.30.247 28910 TCP This server handles database requests for online matchmaking.
mariokartwii.natneg1.gs.nintendowifi.net 69.10.30.254 27901 UDP NAT NEGotiation is a way to bypass NAT and firewalls.
mariokartwii.natneg2.gs.nintendowifi.net 69.10.30.253 27901 UDP NAT NEGotiation is a way to bypass NAT and firewalls.
mariokartwii.natneg3.gs.nintendowifi.net 69.10.30.252 27901 UDP NAT NEGotiation is a way to bypass NAT and firewalls.
mariokartwii.sake.gs.nintendowifi.net 69.10.24.119 443 TCP/HTTP(S) This server handles Mii exchange and Ghost up/downloads
naswii.nintendowifi.net 192.195.204.143
69.25.139.143
443 TCP/HTTP(S) The authority DNS server delivers randomly both IP addresses with a TTL (time to live) of 30s to support a kind of load balancing.
mariokartwii.race.gs.nintendowifi.net 69.10.24.125 443 TCP/HTTP(S) This server is used for time trial / competition leaderboards and the actual competition distribution.

Related Topics