Difference between revisions of "Network Protocol/Server"

From Custom Mario Kart
Jump to navigation Jump to search
m
Line 55: Line 55:
  
 
This protocol is also used by the other Wii games and DS/DSi Games, only the gamename in some records changes.
 
This protocol is also used by the other Wii games and DS/DSi Games, only the gamename in some records changes.
 +
 +
While logging in, there is an SSL communication with naswii.nintendowifi.net.
 +
 +
There is base64 encoded information:
 +
 +
Wii to Nintendo:
 +
 +
<pre>action=login
 +
gsbrcd=RMCJ2leohni Any nickname?
 +
userid=1786673827498 Any ID, but not the friend code or profile / user id
 +
ingamesn= n o  n a m e Any nickname / Mii name?
 +
sdkver=001000 Always binary "8" for MKWii
 +
gamecd=RMCE ID4 of Game
 +
makercd=01 last two digits of ID6
 +
unitcd=1 ?
 +
macadr=0017ab2923be The MAC-Adress of the Wii
 +
lang=01 Maybe a language code ?
 +
devtime=140228160425 Unix timestamp of wii time
 +
csnum=LU519608598 Wii S/N
 +
cfc=7615213554627182 Any code, maybe wii friend code
 +
region=01 Any region identifier</pre>
 +
 +
Nintendo to Wii:
 +
 +
<pre>challenge=687TF0EG Any challenge
 +
locator=gamespy.com ?
 +
retry=0 count of retries
 +
returncd=00 ?
 +
token=... Same token as during LOGIN
 +
datetime=20140228210452 Server date/time in format YYYYMMDDhhmmss</pre>

Revision as of 08:10, 3 March 2014

Details about the communication with the N-servers:

List of Records
Name Record ID Length n-server Description
ERROR < \error\ ? ? Error record sent if there was any error.
CONNECT > 0x0900 18 248 Requesting a login challenge (while connecting to WFC).
> LOGIN_CHALLENGE \lc\1\ 38 242 N-server answers with challenge.
LOGIN > \login\ 365 242 Wii solves the challenge and logs in at the WFC.
> LOGGED_IN \lc\2\ ? 242 Server accepted solved Challenge and returns Sessionkey and User-IDs.
LOGOUT > \logout\ 32 242 Logout from WFC.
OTHERSLIST \otherslist\ ? 241 Sending current friend list to N-servers and receiving an list with nicknames.
> PROFILEID \pi\ 229 242 Sent by Nintendo if this is the first time connecting to WFC. Returns PID, UID and an signature.
RACESTATUS > localip0 ? 242 Status packet, send each minute during connection to WFC and during online races. Contains information about number of players, own IPs and own Ports
> FRIEND \bm\100\ 39 + status 242 N-Server returns information about friends. One to ten friends per packet. Is also sent if friend comes online and contains his IP and (later) his Port.
ADDBUDDY > \addbuddy\ x * 65 242 ?
? > \ka\ 11 242 Status packet send each 2 minutes
? > mariokartwii 159 247 Unknown Record containing PID (profile id) and a few keywords.
> ? \bm\1\ ? 242 Friend-Record with crypted message.
STATUS > \status\ ? 242 ?
> ? \lt\ 35 242 Sent each 4 minutes. ?

This protocol is also used by the other Wii games and DS/DSi Games, only the gamename in some records changes.

While logging in, there is an SSL communication with naswii.nintendowifi.net.

There is base64 encoded information:

Wii to Nintendo:

action=login
gsbrcd=RMCJ2leohni	Any nickname?
userid=1786673827498	Any ID, but not the friend code or profile / user id
ingamesn= n o   n a m e	Any nickname / Mii name?
sdkver=001000		Always binary "8" for MKWii
gamecd=RMCE		ID4 of Game
makercd=01		last two digits of ID6
unitcd=1		?
macadr=0017ab2923be	The MAC-Adress of the Wii
lang=01			Maybe a language code ?
devtime=140228160425	Unix timestamp of wii time
csnum=LU519608598	Wii S/N
cfc=7615213554627182	Any code, maybe wii friend code
region=01		Any region identifier

Nintendo to Wii:

challenge=687TF0EG	Any challenge
locator=gamespy.com	?
retry=0			count of retries
returncd=00		?
token=...		Same token as during LOGIN
datetime=20140228210452	Server date/time in format YYYYMMDDhhmmss