2 releases
0.1.1 | Dec 13, 2022 |
---|---|
0.1.0 | Dec 13, 2022 |
#2405 in Database interfaces
Used in 5 crates
14KB
256 lines
Pocket Relay
Mass Effect 3 Server Emulator / Private Server
Discord Server (discord.gg/yvycWW8RgR) | Website (pocket-relay.pages.dev)
The master branch contains the latest changes and may not be stable for general use, if you would like to compile a stable version from source its recommended you use a specific tag rather than master
Pocket Relay Is a custom implementation of the Mass Effect 3 multiplayer servers all bundled into a easy to use server with a Dashboard for managing accounts and inventories.
With Pocket Relay, you can play Mass Effect 3 multiplayer offline, over LAN, or even over WAN as a public server.
Visit the website for more information.
🌐 EA / BioWare Notice
The Pocket Relay software, in all its forms, is not supported, endorsed, or provided by BioWare or Electronic Arts. Mass Effect is a registered trademark of Bioware/EA International (Studio and Publishing), Ltd in the U.S. and/or other countries. All Mass Effect art, images, and lore are the sole property of Bioware/EA International (Studio and Publishing), Ltd and are reproduced here to assist the Mass Effect player community. All other trademarks are the property of their respective owners.
📖 Starting your own server
For guides check out the Website (pocket-relay.pages.dev) or refer directly to the Server Setup Guide
📦 Direct Downloads
Below is a table of the download links for the different platforms
Platform | Download |
---|---|
Windows | Download |
Linux | Download |
You can find individual releases on the Releases page
🔧 Configuration
To configure the server, such as changing ports, refer to the Configuration Documentation.
⚙️ Features
- Origin Support: Connects to official servers to authorize Origin/EA Launcher accounts (configurable).
- Origin Fetching: Loads player data from official servers for Origin accounts (configurable).
- Portable & Platform Independent: Low hardware requirements, platform-independent (data stored in a 'data' folder).
- Unofficial Support: Allows playing with unofficially licensed Mass Effect 3 copies.
- Docker Support: Includes a
Dockerfile
for containerized deployment in a small Alpine Linux container. - Dashboard: Management dashboard with leaderboards, account management, game monitoring, and more.
🚀 Manual Building
Build instructions can be found here.
Note Building the server can be resource-intensive.
If you are building for a version older than Windows 10 you will need to use Rust v1.75.0 or lower as Rust has dropped support for <10 after that. The server should compile on this version but future breaking changes to the project may cause that to no longer be the case.
Makefile.toml - Mainly used for maintainers
This project also includes a Makefile.toml for cargo make
however its more intended for maintainers only in order to do cross compiling, building multiple versions in parallel, signing builds, creating docker releases etc
Requires installing https://github.com/sagiegurari/cargo-make
Building
Build Windows & Linux in parallel
cargo make -t build-all
Building just Windows
cargo make -t build-windows
[!NOTE] When building for Windows on a Windows host you can sign the executable by providing a
SIGN_FILE
(File path to the .pfx file to use for signing) andSIGN_PASSWORD
(The password to the .pdf file) you will also need to obtain a copy of signtool.exe and set theSIGNTOOL_PATH
to be the path to that fileAfter doing that Windows builds will be signed using the provided credentials
Building just Linux
cargo make -t build-linux
Docker images
[!IMPORTANT] The intended release must first be up on GitHub once its up on GitHub make sure to set the
GITHUB_RELEASE_VERSION
environment variable so the right version will be used make sure you don't include the v prefix just the version number (e.g 0.6.1)The
DOCKER_IMAGE_NAME
env variable must be set to the intended docker image name (e.g jacobtread/pocket-relay)
Building the docker image
To build for the specific tag (Uses the version listed in the Cargo.toml):
cargo make -t build-docker-version
To build for the "latest" tag:
cargo make -t build-docker-latest
To build for both tags:
cargo make -t build-docker-all
Publishing docker images
To publish for the specific tag (Uses the version listed in the Cargo.toml):
cargo make -t publish-docker-version
To publish for the "latest" tag:
cargo make -t publish-docker-latest
To publish for both tags:
cargo make -t publish-docker-all
Dependencies
~17–31MB
~453K SLoC