Skip to content

A third-party Discord Rich Presence Client for PlanetSide 2.

License

Notifications You must be signed in to change notification settings

leonhard-s/ps2-rich-presence

Repository files navigation

PS2 Rich Presence

An open source project providing Rich Presence for PlanetSide 2.

License GitHub Release Date

OverviewFeaturesLimitationsLicenseInstallationContributing

Overview

The PlanetSide 2 Rich Presence Client is a project enabling you to display the current status of your PS2 character on Discord.

Rich Presence Comparison

This application runs independently of the main PlanetSide 2 executable and does not affect your in-game experience. Instead, it listens to the game's event stream and infers the current status of your character based on kills and experience gain.

Note: This is a third-party tool and not affiliated with Rogue Planet Games or the PlanetSide 2 development team in any way.

Work In Progress

This utility is still in its early stages of development. Many features are missing (see below) and bugs are next to certain.

If you find some, please do not hesitate to report them.

Noteworthy omissions

These are planned features that are in development but not yet available in the current version:

  • No start-on-login support
  • No minimizing to tray
  • No automatic tracking of characters on login or failover when they log off

Features

  • Display your character's status on Discord
  • Detection of current continent, class, and vehicle
  • Lightweight and low bandwidth usage
  • Automatic tracking upon login (soon)

Limitations

This application is not tied to the game executable or your player account. Its only way to detect your character's status is to listen to the game's event stream, and it is limited to the events and activities it can detect.

This means that there are things that it cannot detect, such as:

  • Whether the player is currently in a squad or platoon (at least with any accuracy)
  • Where on the map they are
  • Any situation where you are not gaining any experience for an extended period of time

Additionally, we intentionally do not support display of character or outfit names for privacy reasons as there is no way to ensure that the tracked character belongs to the player who is running the application.

License

The PS2 Rich Presence Client is licensed under the GNU General Public License v3.0.

We do not recommend basing your own work on this project, but feel free to use it as a reference for your own projects or reach out to the developers if you have any questions.

Game Artwork and Icons

Most artworks used in this application are based on assets available through the Daybreak Game Company Census API, which were then modified (e.g., upscaled, traced, or cropped) for our requirements. See the Assets README for details on where these assets came from and how exactly they were altered.

Use of our modifications is permitted without restriction. Note that your use still has to comply with the Census API Policy and the Daybreak Game Company Terms of Service.

Screenshots

Some assets, such as the continent artworks, are derived from in-game screenshots taken by project contributors. You can find the full-size screenshots here.

You are free to use and modify these screenshots for your own projects given compliance with the PlanetSide 2 Terms of Service.

Installation

You can find an installer package for the latest version in the project Releases.

Building from Source

The following is a non-exhaustive guide to building this project from source.

  1. This project uses CMake to generate its build system. At least version 3.25 is required.

  2. Dependencies are provided by vcpkg. See the vcpkg docs for downloading and bootstrapping an installation.

  3. Clone this repository using Git:

    git clone https://github.com/leonhard-s/ps2-rich-presence

    Set your current working directory to the root of the cloned project:

    cd ps2-rich-presence
  4. The CMake presets for this project expect the environment variable VCPKG_INSTALLATION_ROOT to be set to your vcpkg installation. Alternatively, you can create a custom preset inheriting from vcpkg and override the CMAKE_TOOLCHAIN_FILE cache variable to point to your installation's CMake toolchain script.

  5. Run CMake to configure the project:

    cmake -S . -B ./build/ --preset "vcpkg-x64-windows"

    Note: During initial configuration, the CMake toolchain will fetch and install the dependencies. Note that this includes building Qt, which may take some time on first configuration.

  6. Build the project:

    cmake --build ./build/ --target install

    The --target install suffix will automatically install the application into the dist/<preset> subdirectory, including any required dependencies.

Contributing

If you encounter any issues using the app or would like to suggest a new feature or change, feel free to get in touch via the repository issues.

Please also consider lack of clarity or undocumented features when creating issues.
Using this application should be straightforward for anyone familiar with the game, and any improvement to make the app clearer and more intuitive to use is worth discussing.