Difference between revisions of "Online Play"

From 3dbrew
Jump to navigation Jump to search
Line 77: Line 77:
 
Content-Type: text/plain;charset=ISO-8859-1
 
Content-Type: text/plain;charset=ISO-8859-1
 
Content-Length: 252
 
Content-Length: 252
Date: Tue, 01 Jan 2021 09:20:55 GMT
+
Date: Fri, 01 Jan 2021 09:20:55 GMT
 
Server: Nintendo Wii (http)
 
Server: Nintendo Wii (http)
 
</pre>
 
</pre>
 
Body:
 
Body:
 
<pre>
 
<pre>
locator=MzQuMjExLjIzNS4xMzU6NjAwMDA*&retry=MA**&returncd=MDAx&token=<Token for authentication on the game server>
+
locator=MzQuMjExLjIzNS4xMzU6NjAwMDA*&retry=MA**&returncd=MDAx&token=<Token for authentication on the game server>&datetime=MjAyMTAxMDEwOTIwNTU*
 
</pre>
 
</pre>
 
{| border=1
 
{| border=1
Line 94: Line 94:
 
|-
 
|-
 
|token|| || || Token for authentication on the game server. This token cannot be verified by the Nintendo 3DS
 
|token|| || || Token for authentication on the game server. This token cannot be verified by the Nintendo 3DS
 +
|-
 +
|datetime||MjAyMTAxMDEwOTIwNTU*||20210101092055||
 
|}
 
|}

Revision as of 14:59, 5 January 2021

Online Play is a functionality of the Nintendo 3DS to play games online with other people.

Connection

First a connection to nasc.nintendowifi.net is established and the resource /ac is requested with the POST method to get the actual address of the game server and a ticket for authentication on the game server.
A typical request to nasc.nintendowifi.net/ac has this format:

Header:

POST https://nasc.nintendowifi.net/ac HTTP/1.1
Host: nasc.nintendowifi.net
X-GameId: 00003200
User-Agent: CTR FPD/000F
Content-Type: application/x-www-form-urlencoded
Content-Type: application/x-www-form-urlencoded
Content-Length: 841

Body:

gameid=MDAwMDMyMDA%2A&sdkver=MDAwMDAw&titleid=MDAwNDAxMzAwMDAwMzIwMg%2A%2A&gamecd=LS0tLQ%2A%2A&gamever=MDAxNA%2A%2A&mediatype=MA%2A%2A&makercd=MDA%2A&unitcd=Mg%2A%2A&macadr=MTEyMjMzNDQ1NTY2&bssid=MTEyMjMzYWFiYmNj&apinfo=MDQ6MDAwMDAwMDAwMA%2A%2A&fcdcert=<base64 encoded fcdcert>&devname=<base64 encoded name of the console (utf-16)>&servertype=TDE%2A&fpdver=MDAwRg%2A%2A&devtime=MjEwMTAxMjAyNjAx&lang=MDE%2A&region=MDI%2A&csnum=<base64 encoded serial number of the 3DS system wihtout check number>&uidhmac=<base64 encoded of ?>&userid=<base64 encoded Nex [[Principal ID]]>&action=TE9HSU4%2A&ingamesn=
Key Value Value decoded Notes
gameid MDAwMDMyMDA* 00003200
sdkver MDAwMDAw 000000
titleid MDAwNDAxMzAwMDAwMzIwMg** 0004013000003202
gamecd LS0tLQ** ----
gamever MDAxNA** 0014
mediatype MA** 0
makercd MDA* 00
unitcd Mg** 2
macadr MTEyMjMzNDQ1NTY2 112233445566 MAC address of the console. Only the digits
bssid MTEyMjMzYWFiYmNj 112233aabbcc
apinfo MDQ6MDAwMDAwMDAwMA** 04:0000000000
fcdcert
devname Name of the console in UTF-16
servertype TDE* L1
fpdver MDAwRg** 000F
devtime MjEwMTAxMDkyMDMx 210101092031
lang MDE* 01
region MDE* 01
csnum Q0VGMTIzNDU2Nzg* CEF12345678 Serial number of the device without the check digit
uidhmac MGFmODZmYmQ* 0af86fbd
userid MTIzNDU2Nzg5MA** 1234567890 Nex Principal ID
action TE9HSU4* LOGIN
ingamesn empty empty

Typical response to the above request:

Header:

HTTP/1.1 200 OK
NODE: pd42wfiap02
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 252
Date: Fri, 01 Jan 2021 09:20:55 GMT
Server: Nintendo Wii (http)

Body:

locator=MzQuMjExLjIzNS4xMzU6NjAwMDA*&retry=MA**&returncd=MDAx&token=<Token for authentication on the game server>&datetime=MjAyMTAxMDEwOTIwNTU*
Key Value Value decoded Notes
locator MzQuMjExLjIzNS4xMzU6NjAwMDA* 34.211.235.135:60000 IP address and port of the game server
retry MA** 0
returncd MDAx 001
token Token for authentication on the game server. This token cannot be verified by the Nintendo 3DS
datetime MjAyMTAxMDEwOTIwNTU* 20210101092055