Difference between revisions of "Friend Services"
Jump to navigation
Jump to search
Steveice10 (talk | contribs) |
DaniElectra (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: | + | | [[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: | + | | [[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: | + | | [[FRDU:IsIncludedInFriendList|IsIncludedInFriendList]] |
|- | |- | ||
| 0x001C0042 | | 0x001C0042 | ||
− | | [[FRDU: | + | | [[FRDU:UnscrambleLocalFriendCode|UnscrambleLocalFriendCode]] |
|- | |- | ||
| 0x001D0002 | | 0x001D0002 | ||
− | | [[FRDU: | + | | [[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 | ||
|} | |} |
Latest revision as of 18:09, 28 September 2023
Friend Service "frd:u"[edit]
"frd:n"[edit]
Command Header | Description |
---|---|
0x00010000 | GetHandleOfNdmStatusChangedEvent |
0x00020000 | Resume |
0x00030040 | SuspendAsync |
0x00040000 | QueryStatus |
"frd:a"[edit]
This contains a similar (probably the same) command handler from 0x0001.... to 0x002F.... as them in frd:u. In addition, it also contains
Command Header | Description |
---|---|
0x04010100 | CreateLocalAccount |
0x04020040 | ? |
0x04030040 | SetLocalAccountId |
0x04040000 | ? |
0x04050000 | Used in creating the user Mii. No cmdbuff parameters. |
0x04060042 | AddFriendOnline |
0x04070D80 | AddFriendOffline |
0x040802C0 | ? |
0x04090100 | RemoveFriend |
0x040A0100 | UpdatePlayingGame |
0x040B00C0 | UpdatePreferences |
0x040C0800 | UpdateMii |
0x040D0100 | UpdateFavoriteGame |
0x040E0040 | UpdateNcPrincipalId |
0x040F... | UpdateComment |
0x04100000 | ? |
HTTPS Requests[edit]
Trusted RootCAs[edit]
No RootCertChain(s) are used. For the nasc site, friends-module uses HTTPC:AddDefaultCert with the following certIDs: 0x1, 0x2, and 0x3.
Server Types[edit]
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.
Official servers only support the letters L, C, S, D, I, T, J or U.
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 |