Friend Services
Revision as of 21:27, 12 December 2024 by TimmSkiller (talk | contribs)
Friend Service "frd:u"
"frd:n"
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
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
Trusted RootCAs
No RootCertChain(s) are used. For the nasc site, friends-module uses HTTPC:AddDefaultCert with the following certIDs: 0x1, 0x2, and 0x3.
Types
FriendKey
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Principal ID |
0x4 | 0x4 | padding |
0x8 | 0x8 | Friend Code |
GameKey
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | u64, Title ID |
0x8 | 0x2 | u16, Title Version |
0xA | 0x6 | Unused padding. |
Presence
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | u32 JoinAvailabilityFlag |
0x4 | 0x4 | u32 MatchmakeSystemType |
0x8 | 0x4 | u32 JoinGameID |
0xC | 0x4 | u32 JoinGameMode |
0x10 | 0x4 | u32 OwnerPrincipalID |
0x14 | 0x4 | u32 JoinGroupID |
0x18 | 0x14 | u8 ApplicationArg[20] |
0x2C | 0x100 | u16 GameModeDescription[128] |
Mii Data
Offset | Size | Description |
---|---|---|
0x0 | 0x1 | bool, ProfanityFlag |
0x1 | 0x1 | Mii character set |
0x2 | 0x1 | bool, DirtyFlag |
0x3 | 0x1 | padding |
0x4 | 0x5C | Mii data |
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.
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 |