From 2083a8821ebfd816ff5027ded2473518f231aafa Mon Sep 17 00:00:00 2001 From: funman300 Date: Sat, 1 Aug 2026 20:48:03 -0700 Subject: [PATCH] =?UTF-8?q?fifa17-recon:=20SOLVED=20=E2=80=94=20real=20pla?= =?UTF-8?q?yer=20cards=20render=20offline?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A full 88-rated real FUT squad (Ronaldo/Messi/Suárez/Ramos/Kroos/Alba/ Hazard/Oblak/Alaba/Boateng) renders 100% offline, no EA servers. Mechanism: the definition fetch was unnecessary — FIFA has all player identity locally in dbdata.dll. The CLUB-SEARCH / Add-Player flow (GET /club?type=player&count=N, served by our /club route) makes FIFA resolve each item's assetId against its own local DB (real name/photo/ club/nation) and merge the rating/attributes our /club item carries, caching a real record in the CardsDb store. No idList fetch, no leaked data. Recipe: utas FUT_SQUAD_STEP=s3v0 -> /club serves the full XI; in FUT, Squads -> Add Player/search -> results render real -> add to slots. docs/CARD_SYSTEM.md updated with the SOLVED mechanism + recipe. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01PN5bmpDVQR1aXgefyWAt7o --- fifa17-recon/docs/CARD_SYSTEM.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/fifa17-recon/docs/CARD_SYSTEM.md b/fifa17-recon/docs/CARD_SYSTEM.md index 13f456d..4a415c6 100644 --- a/fifa17-recon/docs/CARD_SYSTEM.md +++ b/fifa17-recon/docs/CARD_SYSTEM.md @@ -2,6 +2,31 @@ Status as of 2026-08-01. All clean-room (our own binaries + running client only). +## ★ SOLVED: real player cards render offline + +A full 88-rated real squad (Ronaldo/Messi/Suárez/Ramos/Kroos/…) renders 100% +offline. The definition FETCH turned out to be unnecessary — FIFA has all player +identity data locally in `dbdata.dll`. **The CLUB-SEARCH / ADD-PLAYER flow is the +trigger:** when FIFA displays club-search results (`GET /club?year=..&type=player& +count=..`, served by our `/club` route), it resolves each item's assetId against +its own local DB (real name/photo/club/nation) and merges the rating/attributes +our `/club` item carries, then caches a real record in the CardsDb store +(`obj+0x160c0`). No `idList` fetch, no leaked data. + +**Working recipe:** +- `utas_server` on `FUT_SQUAD_STEP=s3v0` → `/club` serves the full XI (real asset + IDs + our attributes). +- In FUT: Squads editor → Add Player / player-name **search** → results render as + real cards → **add them to slots** → full real squad. +- Distinction: the squad-EMBED path (`GET /squad/0` itemData) does NOT resolve + (generic); only the CLUB-SEARCH/ADD path resolves. So: serve-club + search/add. + +Cosmetic-only nit: card short-name label shows a default "BAS" (real full names +are in the record + Player Details panel) — likely the FUT commonName/knownAs +field; low priority. + +Everything below is the reverse-engineering that led here. + ## Where we are Offline FIFA 17 Ultimate Team runs end-to-end on our backend: