This project emulates authentication, initial client configuration and routing, session management and association list services (commonly known as the Blaze server/framework) of the Mirror's Edge Catalyst server stack. It communicates using EA's proprietary TDF format over TCP. Following EA's server shutdown, this project acts as a core backbone in restoring multiplayer functionality and routing clients to the custom gateway
- User Sessions
- Client Configuration
- Keep Alive
- New UGC notifications
- New record notifications
- Real-time Player Tag updates
- Friend Lists
- Rust toolchain (2024 edition)
- Discord application for OAuth authentication
- PostgreSQL database
Configure the Blaze server using the following environment variables in your .env file:
| Variable | Example | Description |
|---|---|---|
PORT |
25565 |
TCP Port number the Blaze server listens on |
DATABASE_URL |
postgres://user:password@localhost:5432/blaze |
PostgreSQL connection string |
GATEWAY_API_URL |
http://localhost:3000 |
URL of the web gateway API |
ENGAGEMENT_API_URL |
http://localhost:42230 |
URL of the engagement manager API |
GATEWAY_CLIENT_ID |
MirrorsEdgeCatalyst-SERVER-PC |
Client identifier for gateway session generation |
DISCORD_CLIENT_ID |
1266123618753052784 |
Discord application client ID for OAuth |
Upon startup, the server automatically connects to the database via SeaORM.
cargo run --releasedocker build -t pamplona-blaze .
# Match the port mapping to the PORT defined in your .env
docker run -p 25565:25565 --env-file .env pamplona-blazePlease refer to the grid-leak organization README for detailed client patching, connection setup, and launcher instructions.
- WarrantyVoider - creating a public Blaze emulator and sharing info on TDF, help with dumping and reversing the game
- jacobtread - creating PocketRelay and tdf crate, the backbone of this project
- Loomeh and CodeNameMeteor - capturing Blaze packets
- wagwan piffting blud - prototyped Rust port of pamplona-future, helping identify a critical roadblock
- The Beat Revival team - creating the initiative, capturing packets, community updates, scraping the servers
This is a free, open-source research and preservation project. It is not affiliated with, endorsed by, or connected to Electronic Arts (EA), DICE, or any of their associated entities
- No Copyrighted Material: This repository does not contain, distribute, or host any copyrighted assets, binaries, or game files from Mirror's Edge Catalyst. It is a clean-room implementation based entirely on network analysis
- Non-Commercial: This software is distributed strictly free of charge for historical preservation and educational purposes. No monetization, donations, or commercial transactions are accepted
- Trademarks: All product names, logos, and brands are property of their respective owners. Their use here is solely for compatibility identification purposes
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details