Skip to content

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

Notifications You must be signed in to change notification settings

ploxxxy/pamplona-future

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

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, create a new file called .env in the project root. In this file add a connection string in the following format:

DATABASE_URL=postgresql://[username]:[password]@localhost:5432/[database]

To test the connection and initialize the database, run the command npm run resetdb. Once that completes successfully, run npm start to launch the server.

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

Watchers

Forks

Releases

No releases published