Skip to content

About

Early work-in-progress. Mirror's Edge: Catalyst™ private server that restores ability to create, share and play Beat L.E.s & Time Trials, view Dash leaderboards, edit Runner Tags, and more

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Pamplona Future

An open-source private server implementation for Mirror's Edge™: Catalyst.

Currently available as a work-in-progress proof of concept. End goal is to replicate the server logic and social features Catalyst had originally.

image

Current Progress

More info will be available in the wiki.

  • Patch the game's SSL certificate verification (Big thanks to WarrantyVoider)
  • Collect and analyze a ton of network packets
  • Implement EA's packet format
  • Create a mock Blaze server to make the game think we're online
  • Replicate core parts of the Blaze server:
    • Authentication
    • Per-player config (maybe)
    • Real time notifications (created a UGC, beat a record, etc)
    • Player location updates
    • Runner's Emblem updates
  • Create a mock Gateway API to make the game think we're online
  • Replicate core parts of the Gateway:
    • Player inventory & profile
    • Player customization
    • Player progress
    • Hackable billboards
    • Dashes
    • Beat L.Es
    • TimeTrials
    • Replays
    • Followers
    • Notifications
    • Bookmarks
    • Stats & latest played
    • Divisions
    • Authentication

Setup

Requirements

  • Recent version of Node.js installed using the official Windows installer or via fnm on other platforms
  • Local PostgreSQL server and permission to create databases
  • Latest version of Docker or Docker Desktop if you decide to use Docker

Installation

Once you have Node.js properly installed, clone the repository and run npm install from the root of the project. This will install all the necessary packages. Now, we will prepare the database.

Create a new PostgreSQL database and make sure you can connect to it with an account that has editing permissions. Then rename .env.example to .env, modify connection values if you need to, and run the command npm run resetdb. Once that completes successfully, run npm run dev to launch the server.

Deploying via Docker

Once Docker or Docker Desktop is installed, clone this repository, rename .env.example to .env, modify connection values if you need to, and run docker compose up -d --build from the root of the project.

Logs can be displayed by using docker logs -f pamplona-future. To stop the server and database containers, run docker compose down.

Connecting

Add catalyst-mitm to the installation directory of the game to redirect all traffic to localhost. When launched, the game should connect to your new server.

Credits & Resources

Huge thanks to everyone who contributed in other ways: packet captures, Frosty mods, game knowledge, community updates, motivation and many more!

Contributions are very welcome and any assistance with reverse engineering, function hooking, etc. would be extremely helpful.

About

Early work-in-progress. Mirror's Edge: Catalyst™ private server that restores ability to create, share and play Beat L.E.s & Time Trials, view Dash leaderboards, edit Runner Tags, and more

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages