← Back to projects

Project 03 / Reverse engineering

FIFA 15 local backend

I recreated a local FIFA 15 backend. Full access to Ultimate Team still needs confirmation.

PythonBlaze FIRE2/TDFFUT/UTAS
03/05
Illustrative monitor mockup showing the FIFA 15 menu.

Illustrative FIFA 15 mockup.

Why I built it

After the official servers shut down, I wanted to run Ultimate Team in my legal copy of FIFA 15 using local services.

What I built

I traced the redirector connection, TLS negotiation, Blaze FIRE2/TDF messages, login and FUT requests. I built local service equivalents and tools to record packets and HTTP requests.

Local services

I set up a redirector, Blaze, QoS, EASW and a FUT/UTAS API. The client connected to the local environment, completed login and maintained a Blaze session. The backend handled FUT authentication requests and basic account, club and squad data.

Archive issue

While tracing a black screen, I found that the downloaded package contained Git LFS pointers instead of the game archives. I fetched the complete files, verified their SHA-256 hashes and installed them before another client test.

Local backend operational

The services passed independent tests, but final client validation was interrupted after the archive fix. I have not yet confirmed full access to the FUT interface or in-game packs, squad management, transfers and matches.