Mirror's Edge™ Catalyst

Mirror's Edge™ Catalyst

96 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, did some automation, 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.
5
3
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 fork and commit some Docker manifests and PowerShell script for ease of use, with no need to manually deploy PostgreSQL and Node.js. The process below is 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.

    Run server

    After you installed Docker, continue to running your local server:

    • Open PowerShell, and run this command:
    • Follow menu options, and set up the server
      Select Install and start server, and specify game folder location if it differs from default, and player name, if you wish. Advanced settings are optional, you can just hit Enter on Database settings and Player IDs.
    • When server booted up, you can check logs in the menu, and if you see something like this:
      {"level":30,"time":1759441587731,"pid":218,"hostname":"37a599e35c52","msg":"[Gateway] Registering method PamplonaAuthenticated.setPlayerGhost"}
    Then everythig done right, and server ready to accept connections.
    You can open server menu at any time by using command above to check server status and logs, or shut it down and remove it's containers.
    Start the game and have fun!

    Important
    It's plug-and-play solution, that works here and now, but be informed of following:

    • You are executing a remote PowerShell script. While all the code is open-source and stuff, that fact might be cringe for someone. If you're not okay with that, feel free to go to repository[github.com] page, review everything by yourself, build from scratch and tinker in any way.

    • This setup using pre-built docker image, which already bundled with all crucial dependencies, which means, if original server maintainer will update some of components, image needed to be rebuilt. I'll try to keep it up to date, yup.

    • At this point, server is able to provide achievement-popping expirience only. While i implemented advanced server configuration in my script (custom DB strings, player name, ports, id), in reality it makes no difference. But we're all excited for the future updates.
PROFIT
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!
52 Comments
nvmidontcare  [author] 19 Oct @ 1:50am 
Ok :D
ByCHISO 18 Oct @ 3:59pm 
dont worry I already fixed it, now it works and it gaves me like 20 achivements from the game xD
ByCHISO 17 Oct @ 2:00pm 
hiii, sorry for my bad english, i am from Spain, I tried all the process to do this but when I am in the powershell, it says: Docker is available (in color green) and all required ports are available (also in green), then it says the Mirrors Edge Catalyst instalation path. But under the installation path it doessn't says anything more, not the X, not the player name, not advanced settings and I don't know what i need to do, if you could help me I will be grateful with you.
nvmidontcare  [author] 13 Oct @ 2:53pm 
No, not really
Every time you start Docker, server should boot up
You can use powershell command from guide as server menu to check it's status, logs, etc.
When you're done, just uninstall Docker, and it will remove every dependencies it installed
heyFinn 13 Oct @ 2:29pm 
Should I use some command or do I have to go through this process every time I play on different days?
heyFinn 13 Oct @ 2:27pm 
Thx, it worked
nvmidontcare  [author] 13 Oct @ 2:08pm 
Commited a fix, try now
heyFinn 13 Oct @ 1:38pm 
This error is now appearing.

docker : Unable to find image 'ghcr.io/iwanmikhajlov/pamplona-future-aio:latest' locally
At line:1295 character:21
+ $serverResult = docker run -d `
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Unable to find ...latest' locally:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
nvmidontcare  [author] 12 Oct @ 2:22am 
Alright, i just fixed both of those errors, now everything should be ok
✮ Lumina 11 Oct @ 9:49pm 
Hey, im getting this error any fix?
docker : Error response from daemon: network with name pf-net already exists
At line:1179 char:5
+ docker network create $($Config.Docker.Network) 2>&1 | Out-Null
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Error response ... already exists:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError