Mirror's Edge™ Catalyst

Mirror's Edge™ Catalyst

126 ratings
Achievement fix with The Beat Revival local server
By Masa
While the Beat Revival is still in development, thanks to open source nature of the project we can already run it locally.
This restores the possibility to obtain achievements that were unobtainable after the server shutdown.
In this tutorial i will show you how to configure such server yourself on Windows.
Big thanks to the people behind the Beat Revival [www.beatrevival.me] project!

"You can't keep me down" and "User Generated Finisher" - Beat L.E. and Time Trial related achievements
are unfortunatelly still unobtainable on current version of Beat Revival.
4
3
8
3
   
Award
Favorite
Favorited
Unfavorite
Preparation
Make sure the game is installed and run it at least once to ensure all dependencies are installed and the EA App is updated.
(I'm not sure if this step is even required, but it doesn't hurt to do it)
Prerequisites
Download and install:
Node.js - https://nodejs.org/en/download/prebuilt-installer
Git - https://git-scm.com/downloads/win
PostgreSQL - https://www.enterprisedb.com/downloads/postgres-postgresql-downloads (during installation you need to set a password for the user "postgres", let's say it will be "password123")

also download and unpack The Beat Revival project files (green icon with "<> Code" sign, then "Download ZIP"):
https://github.com/ploxxxy/pamplona-future
https://github.com/ploxxxy/catalyst-mitm
PostgreSQL
Launch the pgAdmin application, right-click on Servers (list on the left side of application) -> Register -> Server...
Set a name (eg. Catalyst),

on the Connection tab set "Host name/address" to "localhost".
Here you can set the "Maintenance database" ("postgres" by default) and "Username" ("postgres" by default) that you will use later.
Enter the password you set during PostgreSQL installation (eg. "password123") and enable "Save password?" switch, then click "Save" button (bottom right).
Node.js
Launch PowerShell and change directory to previously unzipped archive "pamplona-future-main.zip". If it is in Downloads directory run:
cd .\Downloads\pamplona-future-main\pamplona-future-main
or
cd C:\Users\$ENV:USERNAME\Downloads\pamplona-future-main\pamplona-future-main
(1 on screenshot - you can right-click to paste the previously copied command)
in the second command "$ENV:USERNAME" is an environment variable containing the name of your Windows user.
If you've unpacked it somewhere else, using these examples you should be able to figure out how to get there.
Now run
npm install
(2 on screenshot - this requires Git to be installed).

In case of error "npm.ps1 cannot be loaded because running scripts is disabled on this system." you might want to run:
Set-ExecutionPolicy RemoteSigned -Scope Process
which will allow you to run `npm` only on current PowerShell instance.
It's more secure than enabling such policy to the whole system, but will require you to run such command after closing and reopening PowerShell.

If you stumble upon an error showing "ECONNRESET" and/or "code 128" you may try workaround mentioned in comments:
Originally posted by LunaSpear:
1. If your "ECONNRESET" error is followed with proxy related stuff, use command "npm config set registry http://registry.npmjs.org/" .
2. Run npm install, if it shows error again but this time saying "code 128" error, this should be the last issue that stops you from installing.
3. Download the files from https://github.com/ploxxxy/tdf.js and decompress the files.
4. Back to PowerShell, in the pamplona-future-main folder, run "npm install --save (paste the tdf.js-main folder location)".
There you go, npm install should work fine now, you can follow the guide then.

Once done, in the same directory create a ".env" file with the content:
DATABASE_URL=postgresql://[username]:[password]@localhost:5432/[database]
which with database/username/password from above goes like this:
DATABASE_URL=postgresql://postgres:password123@localhost:5432/postgres
To do this, you can use the following command in PowerShell:
New-Item ".env" -ItemType File -Value "DATABASE_URL=postgresql://postgres:password123@localhost:5432/postgres"
(3 on screenshot)
If you are doing this via the GUI, make sure the filename is ".env" and not ".env.txt".

Two more commands to go:
npm run resetdb
and
npm run dev (previously `npm start`)
(4 and 5 on screenshot)
Now your local server is running - do not close the PowerShell window.
Connecting
To be able to actually connect to the server, copy contents of previously unzipped archive "catalyst-mitm-main.zip" to the game directory (so files like EA-MITM.ini, dinput8.dll and so on should be copied directly to the game directory, not inside another "catalyst-mitm-main") .
To open the game directory, in your Steam library, right-click Mirror's Edge Catalyst -> Manage -> Browse local files.
Play
You can now launch the game, which will connect to your local server and allow you to earn achievements that were unobtainable after the server shutdown.


If it's running, but new game started instead of loading up your previous save state, you can check if new save game directory was creaded in the same path as "pamplona-future-main" (eg. Downloads dir) and try workaround mentioned in comments:
Originally posted by LunaSpear:
Copy the save games folder "Mirrors Edge Catalyst" from C:\Users\USERNAME\Documents\ to the directory where you put "pamplona-future-main"
Replay
Once you close PowerShell window and/or shutdown your PC, to run the server again you will only have to open new PowerShell window, then change directory to "pamplona-future-main":
cd .\Downloads\pamplona-future-main\pamplona-future-main
or
cd C:\Users\$ENV:USERNAME\Downloads\pamplona-future-main\pamplona-future-main
and run:
npm run dev (previously `npm start`)
After this local server should be up and running, waiting for you to connect.

If it's still not running you can try workaround mentioned in comments:
Originally posted by ¤ βℓооđч ¤ Nico-Kun!:
What seems to have help was deleting a bunch of files named protossl_dump_[bunchofnumbers] that were created in the game's folder.
Uninstall
As mentioned in comments, after uninstallation of a game there will be some leftovers that you might want to clean up.
Originally posted by Camper-Hunter:
A small tip: since the man-in-the-middle tool was used to capture network and still does, it creates packet dump files which if you play a long time will be several GB. Also when you deinstall the game from Steam, these additional files will remain. So feel free to manually cleanup once you're done playing, or from time to time, since these files waste a lot of disk space for nothing useful to players.
You can also deinstall PostgreSQL, Node.js and Git (provided you don't use them for something else, obviously) when you're done with the game.
61 Comments
demolition2n3 30 Jun @ 10:57am 
Well I've joined the server so I'll hopefully be able to get updates about Beat Revival myself.

Small steps tho, small steps
Masa  [author] 29 Jun @ 10:48pm 
Unfortunately, the achievements related to Beat L.E. and Time Trial are still not available.
The Beat Revival developers hit a roadblock a while ago and until they solve it, these two achievements will remain unobtainable.
demolition2n3 29 Jun @ 1:10pm 
Hi @mesa, the password wasn't set up correctly. All seems to be working fine now.

Now to see if I can do all the achievements... I know I did a beat L.E when servers were up, but I dont think I can do a user time trial atm lol
Masa  [author] 29 Jun @ 9:34am 
Hi @demolition2n3
error message suggests incorrect credentials for PostgreSQL user "postgres".

First make sure that the .env file is inside "pamplona-future-main" (right next to the 'prisma' and 'src' directories and other files like README.md)
If it is, you can open it and check it's content. If you set up everything exactly as i did in the guide, it should be:
DATABASE_URL=postgresql://postgres:password123@localhost:5432/postgres

If the file exists and has the same content, then maybe you used different password during PostgreSQL installation?
In the guide it's "password123", if you used different one, you can simply change it in the .env file.

Lastly, if none of above helped, you may try to uninstall PostgreSQL and install it again.
It should once again ask for a password, maybe you made a typo there?

Hope this will be helpful :)
demolition2n3 29 Jun @ 4:47am 
Hi,

Was following your guide (very well explained btw, thanks) however I get the following error when I try to run the command "npm run resetdb":

Error: P1000: Authentication failed against database server, the provided database credentials for `postgres` are not valid.
Please make sure to provide valid database credentials for the database server at the configured address.

Any help would be appreciated. Don't think this is an error I've seen in comments but I may be blind.
Luviiu 17 May @ 7:26am 
YES YES YES YES you were right, that was the problem, and it worked!!
Thank you so much, man, I've been trying this the whole day<3<3
Masa  [author] 17 May @ 7:02am 
Did you maybe try `npm run dev` instead of `npm start`?
There were some updates in pamplona-future repo and now it's required to use `npm run dev` instead of `npm start`.
I did update the text guide, but i left the old screenshot, so i guess this might be confusing. :S
When i have some spare time i will install and configure it myself again, just to update that one screenshot. :)
Luviiu 17 May @ 5:47am 
Thx! Turned out I downloaded a .zip and didn't quite work as well as the Windows installer.
I still can't make it tho. Dunno why, but once I npm start it gives me 6 errors, something related to "gateways and strings", and 'cause I'm not good at this code stuff I think I'll pass and wait until a new and easy way appears.
Anyways thx so much for the guide and the help to everyone<3
Masa  [author] 17 May @ 12:30am 
Hey @Luviiu
Are you sure that you have installed Node.js?
Command `npm` is a part of Node.js installation, so you could verify that.

If Node.js is installed, then possibly your PATH environment variable do not contain it's directory.
You can check it by running `echo $env:path` and looking for Node.js installation path (you can also use `echo $env:path | findstr /i node` which will filter PATH variable looking for 'node' string).

If the path is missing, then you can add it - go to Windows System Settings -> About -> Advanced system settings -> Advanced (tab) -> Environment Variables (bottom of the window)
In "User variables for ..." look for "Path", highlight and click "Edit"
Then click "New" and write path to Node.js directory (eg. C:\Program Files\nodejs\)
or click "New" and then "Browse.." to choose the directory manually.

Reopen PowerShell and check if it works now - it should. :)
Luviiu 16 May @ 4:02pm 
I got stuck in the second step. Npm install. I have followed every step but now when I type down npm install it says error "The term 'npm' is not recognized as the name of cmdlet, scrip file or operable program"
Any idea someone?pls