Mirror's Edge™ Catalyst

Mirror's Edge™ Catalyst

43 ratings
[2025] FIX ACHIEVEMENTS USING LOCAL SERVER
By nvmidontcare
As you know, on December 8, 2023, EA shut down the Mirrors Edge Catalyst servers, making it impossible to earn achievements and perform online activities. Luckily for us, a group of enthusiasts took on the development of the backend for a local server called The Beat Revival. The guys are doing a great job, for which they deserve huge respect.

I tested the server implementation on my own, contributed simple docker manifest to project, and now I want to share it with you. Most likely, this guide will be supplemented and improved along with the development of the server.

Feel free to contact me, if you have any questions.
2
2
   
Award
Favorite
Favorited
Unfavorite
THE POINT
So basically, developers of the server managed to reroute game client requests to localhost, where server backend is up and running. My guess, that it also proxies requests to EA App, so it can unlock achievements correcrty.

I decided to commit some Docker manifests for ease of use, with no need to manually deploy PostgreSQL and Node.js. The process below is semi-automatic, and pretty simple.

Also it would be nice, if you hit a star on GitHub project page, just to cheer developers up, and motivate for further server development.
HOW TO
Required dependencies

First of all, you need to download and install following dependencies:
  • Docker Desktop[desktop.docker.com]
    After downloading, install Docker Desktop (required admin rights), and make sure that you selected Use WSL 2 instead of Hyper-V option. Reboot you PC after installation finished.

  • Pamplona Future server code[github.com]
    Pamplona Future sources can be unarchived to any convenient place.

  • MITM game traffic capture tool[github.com]
    From this archive, you need only EA-MITM.ini and dinput8.dll.

Build and run server

After you did all steps above, continue to running your local server:
  • Move EA-MITM.ini and dinput8.dll files to your game folder.
    You can browse it via Steam, by Right-clicking the game => Properties => Installed files => Browse, or navigate to your game folder manually in File Explorer, %SteamLibrary%\steamapps\common\Mirrors Edge Catalyst

  • Make sure Docker Desktop is running and working properly.

  • Go to pamplona-future-main folder you unarchived earlier, Right-click on empty space, and select Open PowerShell window here

  • Paste and run this command in PowerShell
    Rename-Item .env.example .env; if ($?) { (Get-Content .env) -replace '^POSTGRES_HOSTNAME=.*', 'POSTGRES_HOSTNAME=pamplona-future-db' | Set-Content .env }; if ($?) { docker compose up -d }; if ($?) { docker compose logs -f pamplona-future } else { exit 1 }

  • Wait about 4-5 minutes, until you see this kind of log in your console:
    server-1 | {"level":30,"time":1744794551454,"pid":248,"hostname":"66bb5fb6899d","msg":"[Redirector] [Redirector] Redirector started"} server-1 | {"level":30,"time":1744794551454,"pid":248,"hostname":"66bb5fb6899d","msg":"[Blaze] Server started"}
    Now you can go to the game, and try to connect to online services. You will see a bunch of text in console, game will tell you that you successfully connected, and that means it works.

Useful tips

Below i'll put some tips, and userful commands to maintain server:
  • Go back to PowerShell, hit Ctrl+C to get back console input.
    You can close PowerShell while playing, it's not necessary to have it open, Docker will run server and database in background.
    Here are some useful commands:
    docker ps -a # Show current state of server and database docker compose up -d # Start server docker compose logs -f server # Check server logs docker compose down # Stop server docker compose prune -af # Delete everyting you deployed via Docker*
    *If you downloaded Docker just for this project, you can safely use this command. Otherwise, check what images and containers you have, before using it.

  • Also, before using command from Build and run server block, you can change database name, user, and password by editing .env.example file.
    If you want to do it after you built and run server, you should use this command first
    docker compose down -v # Stopping the server, and deleting database
    Then edit .env file, and run the server again using Start server comand above.
  • From time to time, you should delete network dumps, created by MITM tool in your game folder. They named protossl_dump_%timestamp%, and will take up disk space over time, so remove them regularly.

  • If you have any doubt about these software, you can inspect it by yourself, since it's open-source and stuff. Also feel free to contact me if you have any questions or issues with running the server.
PROFIT
Now, if you did everyting correctly, you should start recieving most of the game achievements, except these two:
  • User Generated Finisher
  • You can't keep me down
They are tied to user created activities, and may be obtainable in future, when developers of Beat Revival implement Time Trials and Beat L.E.

Hope this guide was useful to you, enjoy!
14 Comments
nvmidontcare  [author] 29 Jun @ 11:59am 
Project developer made some changes to repository, so i just updated the guide to make sure everything works
Everyone who got "no such service: server" error, check updated powershell command above
nvmidontcare  [author] 24 Jun @ 1:59am 
Make sure that you run all these commands from repo folder, where docker-compose.yaml file is located
Dogestruction 22 Jun @ 7:25pm 
i can't set it up because it keeps saying "no such service: server", do you know what i would have to do to fix this?
OnlYusuf 15 Jun @ 1:07am 
You cannot get Beat L.E and Time Trial achievements
CyllD 14 Jun @ 8:06pm 
Thank you so much for sharing! With this method, can I unlock 100% of the achievements, or are there still some that can’t be unlocked yet? I’ve been checking other guides, and it looked like a few were still impossible to get.
CampSlender 31 May @ 11:30am 
Thank you so much, and fk EA, i should nothave to go to this much effort to get achievements.
OnlYusuf 24 May @ 5:15am 
It didnt trigger for me without the server
kid cunny 24 May @ 4:46am 
I already have the online achievements from years ago, do offline achievements (like performing certain moves etc) not trigger without the server?
nvmidontcare  [author] 3 May @ 12:17am 
Try to uninstall Docker and in powershell use: wsl --install

After some time it will ask you for unix username and password (account creating in linux), then install docker and try again
OnlYusuf 1 May @ 11:00am 
is there a another application except docker desktop. because when i try to open it Docker Desktop - Unexpected WSL Error this text appears