Friend Services: Difference between revisions

Steveice10 (talk | contribs)
Add more FRD commands
(16 intermediate revisions by 9 users not shown)
Line 8: Line 8:
| 0x00010000
| 0x00010000
| [[FRDU:HasLoggedIn|HasLoggedIn]]
| [[FRDU:HasLoggedIn|HasLoggedIn]]
|-
| 0x00020000
| [[FRDU:IsOnline|IsOnline]]
|-
|-
| 0x00030002
| 0x00030002
Line 16: Line 19:
|-
|-
| 0x00050000
| 0x00050000
| [[FRDU:GetFriendKey|GetFriendKey]]
| [[FRDU:GetMyFriendKey|GetMyFriendKey]]
|-
|-
| 0x00060000
| 0x00060000
Line 29: Line 32:
| 0x00090000
| 0x00090000
| [[FRDU:GetMyScreenName|GetMyScreenName]]
| [[FRDU:GetMyScreenName|GetMyScreenName]]
|-
| 0x000A0000
| [[FRDU:GetMyMii|GetMyMii]]
|-
| 0x000B0000
| [[FRDU:GetMyLocalAccountId|GetMyLocalAccountId]]
|-
| 0x000C0000
| [[FRDU:GetMyPlayingGame|GetMyPlayingGame]]
|-
| 0x000D0000
| [[FRDU:GetMyFavoriteGame|GetMyFavoriteGame]]
|-
| 0x000E0000
| [[FRDU:GetMyNcPrincipalId|GetMyNcPrincipalId]]
|-
|-
| 0x000F0000
| 0x000F0000
Line 34: Line 52:
|-
|-
| 0x00100040
| 0x00100040
| [[FRDU:GetPassword|GetPassword]]
| [[FRDU:GetMyPassword|GetMyPassword]]
|-
|-
| 0x00110080
| 0x00110080
| [[FRDU:GetFriendKeyList|GetFriendKeyList]]
| [[FRDU:GetFriendKeyList|GetFriendKeyList]]
|-
| 0x00120042
| [[FRDU:GetFriendPresence|GetFriendPresence]]
|-
|-
| 0x00130142
| 0x00130142
| ????
| [[FRDU:GetFriendScreenName|GetFriendScreenName]]
|-
|-
| 0x00140044
| 0x00140044
| ????
| [[FRDU:GetFriendMii|GetFriendMii]]
|-
|-
| 0x00150042
| 0x00150042
| ????
| [[FRDU:GetFriendProfile|GetFriendProfile]]
|-
| 0x00160042
| [[FRDU:GetFriendRelationship|GetFriendRelationship]]
|-
| 0x00170042
| [[FRDU:GetFriendAttributeFlags|GetFriendAttributeFlags]]
|-
| 0x00180044
| [[FRDU:GetFriendPlayingGame|GetFriendPlayingGame]]
|-
|-
| 0x00190042
| 0x00190042
Line 55: Line 85:
|-
|-
| 0x001B0080
| 0x001B0080
| [[FRDU:IsOnFriendList|IsOnFriendList]]
| [[FRDU:IsIncludedInFriendList|IsIncludedInFriendList]]
|-
|-
| 0x001C0042
| 0x001C0042
| [[FRDU:DecodeLocalFriendCode|DecodeLocalFriendCode]]
| [[FRDU:UnscrambleLocalFriendCode|UnscrambleLocalFriendCode]]
|-
|-
| 0x001D0002
| 0x001D0002
| [[FRDU:SetCurrentlyPlayingText|SetCurrentlyPlayingText]]
| [[FRDU:UpdateGameModeDescription|UpdateGameModeDescription]]
|-
| 0x001E02C2
| [[FRDU:UpdateGameMode|UpdateGameMode]]
|-
| 0x001F0042
| [[FRDU:SendInvitation|SendInvitation]]
|-
| 0x00200002
| [[FRDU:AttachToEventNotification|AttachToEventNotification]]
|-
| 0x00210040
| [[FRDU:SetNotificationMask|SetNotificationMask]]
|-
| 0x00220040
| [[FRDU:GetEventNotification|GetEventNotification]]
|-
|-
| 0x00230000
| 0x00230000
| [[FRDU:GetLastResponseResult|GetLastResponseResult]]
| [[FRDU:GetLastResponseResult|GetLastResponseResult]]
|-
| 0x00240040
| [[FRDU:PrincipalIdToFriendCode|PrincipalIdToFriendCode]]
|-
| 0x00250080
| [[FRDU:FriendCodeToPrincipalId|FriendCodeToPrincipalId]]
|-
| 0x00260080
| [[FRDU:IsValidFriendCode|IsValidFriendCode]]
|-
|-
| 0x00270040
| 0x00270040
Line 80: Line 134:
| 0x002B0000
| 0x002B0000
| [[FRDU:GetServiceLocatorData|GetServiceLocatorData]]
| [[FRDU:GetServiceLocatorData|GetServiceLocatorData]]
|-
| 0x002C0002
| [[FRDU:DetectNatProperties|DetectNatProperties]]
|-
| 0x002D0000
| [[FRDU:GetNatProperties|GetNatProperties]]
|-
| 0x002E0000
| [[FRDU:GetServerTimeInterval|GetServerTimeInterval]]
|-
| 0x002F0040
| [[FRDU:AllowHalfAwake|AllowHalfAwake]]
|-
| 0x00300000
| [[FRDU:GetServerTypes|GetServerTypes]]
|-
| 0x00310082
| [[FRDU:GetFriendComment|GetFriendComment]]
|-
|-
| 0x00320042
| 0x00320042
| [[FRDU:SetClientSdkVersion|SetClientSdkVersion]]
| [[FRDU:SetClientSdkVersion|SetClientSdkVersion]]
|-
| 0x00330000
| [[FRDU:GetMyApproachContext|GetMyApproachContext]]
|-
| 0x00340046
| [[FRDU:AddFriendWithApproach|AddFriendWithApproach]]
|-
| 0x00350082
| [[FRDU:DecryptApproachContext|DecryptApproachContext]]
|-
| 0x00360000
| [[FRDU:GetExtendedNatProperties|GetExtendedNatProperties]]
|}
= "frd:n" =
{| class="wikitable" border="1"
|-
!  Command Header
!  Description
|-
| 0x00010000
| GetHandleOfNdmStatusChangedEvent
|-
| 0x00020000
| Resume
|-
| 0x00030040
| SuspendAsync
|-
| 0x00040000
| QueryStatus
|}
= "frd:a" =
This contains a similar (probably the same) command handler from 0x0001.... to 0x002F.... as them in frd:u. In addition, it also contains
{| class="wikitable" border="1"
|-
!  Command Header
!  Description
|-
| 0x04010100
| [[FRDA:CreateLocalAccount|CreateLocalAccount]]
|-
| 0x04020040
| ?
|-
| 0x04030040
| [[FRDA:SetLocalAccountId|SetLocalAccountId]]
|-
| 0x04040000
| ?
|-
| 0x04050000
| Used in creating the user Mii. No cmdbuff parameters.
|-
| 0x04060042
| [[FRDA:AddFriendOnline|AddFriendOnline]]
|-
| 0x04070D80
| AddFriendOffline
|-
| 0x040802C0
| ?
|-
| 0x04090100
| [[FRDA:RemoveFriend|RemoveFriend]]
|-
| 0x040A0100
| UpdatePlayingGame
|-
| 0x040B00C0
| UpdatePreferences
|-
| 0x040C0800
| [[FRDA:UpdateMii|UpdateMii]]
|-
| 0x040D0100
| UpdateFavoriteGame
|-
| 0x040E0040
| UpdateNcPrincipalId
|-
| 0x040F...
| UpdateComment
|-
| 0x04100000
| ?
|}
=HTTPS Requests=
==Trusted RootCAs==
No RootCertChain(s) are used. For the nasc site, friends-module uses [[HTTPC:AddDefaultCert]] with the following certIDs: 0x1, 0x2, and 0x3.
= Server Types =
The server type is stored internally as a combination of two values, the first value represents the server type letter and the second value is the number that follows it. For example, the production server type is "L1", so the first value is 0 and the second value is 1.
[https://github.com/kinnay/NintendoClients/wiki/Hpp-Server Official servers] only support the letters L, C, S, D, I, T, J or U.
{| class="wikitable" border="1"
|-
!  Value
!  Server Type Letter
|-
| 0
| L
|-
| 1
| C
|-
| 2
| S
|-
| 3
| D
|-
| 4
| I
|-
| 5
| T
|-
| 6
| U (fallback to default value)
|-
| 7
| J
|-
| 8
| X
|-
| 9
| A
|-
| 10
| B
|-
| 11
| C
|-
| 12
| D
|-
| 13
| E
|-
| 14
| F
|-
| 15
| G
|-
| 16
| H
|-
| 17
| I
|-
| 18
| J
|-
| 19
| K
|-
| 20
| L
|-
| 21
| M
|-
| 22
| N
|-
| 23
| O
|-
| 24
| P
|-
| 25
| Q
|-
| >=26
| U
|}
|}