`GetFriendRecommendLineup` (CmdID 2985 in the checked-in Client 4.6.53 command table) serves current Prydwen team snapshots for Memory of Chaos, Pure Fiction, Apocalyptic Shadow, and Anomaly Arbitration. Each source slug is resolved through this Client's `resources/AvatarConfig.json`, with source-name aliases kept beside the snapshot. The AA response uses the Peak-lineup protocol variant and obtains Peak IDs from `ChallengePeakGroupConfig.json`; it does not embed the current game's IDs in the handler.
The bundled data is revision 4.6.2, collected 2026-10-14. Each mode retains its own challenge version/name because their cycles do not necessarily advance together. Data is processed from the MIT-licensed [LvlUrArti/MocDataProcessed dataset](https://huggingface.co/datasets/LvlUrArti/MocDataProcessed), which describes its contents as processed Prydwen data and requests credit to LvlUrArti.
Refresh all modes from the latest dataset snapshot with `python tools/update_prydwen_endgame_teams.py`. To refresh only one mode, use `--mode moc`, `--mode pf`, `--mode as`, or `--mode aa`. The updater selects the highest-ranked team whose four character slugs resolve against this Client's `AvatarConfig`; this avoids emitting avatar IDs that the running Client does not define.
Protocol limitation: `GetFriendRecommendLineupCsReq.type` is the obfuscated `JFNJKAPPNOF` enum in this Client's protobuf. The mapping 2=MoC, 3=PF, 4=AS, and 5=AA is an explicit implementation assumption; the checked-in schema does not reveal the enum names, and we do not have packet captures from each Client page to confirm those values. The mapping is centralized in `resources/PrydwenEndgameTeams.json`, and unknown values receive an empty response with the request context preserved instead of MoC data. The handler logs the received type/key to support Client-side verification. AA `key` matching also remains an assumption: known Peak resource IDs are matched directly, and otherwise the latest configured group is paired with the bundled current AA snapshot.
The response shapes follow the checked-in protobuf: the current three-stage MoC/PF/AS pages use `OJJJDPNOKHG.lineup_list`; AA uses `MJMGDLJAJCM` entries with `peak_id` and avatar lists. These server tests verify resource conversion and protobuf round trips; a successful build does not confirm the live Client accepted every mode's obfuscated route or UI response.