Rebirth Project for the DeathGarden API and Server.
Go to file
2024-04-24 14:16:25 -04:00
.github AUTO SNYK Create dependabot.yml 2024-03-01 00:49:17 +01:00
CrashReporterConfig Added Unreal Engine Crash handler config. 2023-05-30 02:07:09 +02:00
Doc Added WIP updater Files. (Script doesn't work atm.) 2023-09-05 18:50:18 +02:00
src Fix function call and change log level 2024-04-24 14:16:25 -04:00
test Working on new Challenge Handler 2024-04-17 11:19:04 +02:00
Tools Added 743 Challenges and the logic for all of them. 2024-02-25 03:59:53 +01:00
.gitignore new challenge_handler no errors 2024-04-24 13:32:09 -04:00
api_flow commit 2023-06-10 13:32:25 +02:00
CONTRIBUTING.md Create CONTRIBUTING.md 2023-07-24 17:08:10 +02:00
Dockerfile fix: Dockerfile to reduce vulnerabilities 2024-04-14 23:39:53 +00:00
LICENSE Added lic 2024-04-15 15:12:19 +02:00
ObjectDump.txt Added ObjectDump.txt 2023-05-30 00:35:15 +02:00
ReadMe.md Fix missed typos, edit for clarity 2024-04-09 18:56:02 -05:00
requirements.txt Update flask requirement from ~=3.0.2 to ~=3.0.3 2024-04-08 15:49:32 +00:00
SECURITY.md Create SECURITY.md 2023-07-24 17:02:23 +02:00
start_parms.txt Added new parm for Store 2023-06-24 23:44:36 +02:00
tasks.py Working on UnitTests 2023-07-12 16:30:15 +02:00

DeathGarden Bloodharvest API Rebirth Project

This project is a work in progress! That means there are bugs!

In its current state, you can play, and most features have been implemented. For info about missing features, check out the to-do page.


Current Progress:

  • Logging (Stashboard, metrics, gameDataAnalytics) See Logging.md for details.
  • Steam login
  • Load lobby
  • Shop
  • Messaging system
  • Currency system
  • Matchmaking via Steam P2P
  • Leaderboard doesn't crash anymore
  • GameNews (disabled atm because they mess InitOrGetGroup up)
  • InitOrGetGroup
  • A lot of other features and endpoints (most of them keep the game from crashing)

To-Do List:

  • Create a new catalog parser
  • Dynamic leaderboards
  • Challenges (code is done already but needs rework)
  • Progression (leveling, currency, end of match, etc.)
  • Private matches
  • End-of-match endpoints

For more detailed information about our project's tasks, please visit the to-do page.

The goal of this project is to revive the Deathgarden backend and servers. If you have any knowledge about how the backend used to work or want to contribute, please reach out! From what we know the game was based on WH40KEC (Warhammer 40k Eternal Crusade) and some code was also used in DBD.

Contact Information:

  • Matrix: @zkwolf:matrix.org
  • Discord: sunywolf

Usage

  1. If you do not already own Deathgarden, you can get it with this command: steam://run/555440

  2. Download the TheExit-Rebirth-Updater.bat file and place it in the following directory: "\steamapps\common\DEATHGARDEN"

  3. Run the script and wait for it to finish.

Self Hosting/Development Requirements:

  • Steam API Key (see Steam_Login.md for details).
  • Python 3.10 (or newer).
  • Install the requirements from requirements.txt.
  • Create an api_config.yaml file (an example is available in the src/config folder).
  • For request analysis, consider using Fiddler.

Current Knowledge:

  • The game uses Unreal Engine 4.21.0.
  • The anticheat is BattlEye (note: Windows 11 blocks vulnerable drivers).
  • The newest game version is: te-18f25613-36778-ue4-374f864b (versions may vary by region).
  • The backend and server can be changed with start parameters (new method with the PAK file).
  • The in-game console can be re-enabled.
  • The in-game SET command is available.
  • The "Status" API is Stashboard, which has been discontinued since 2019.
  • Fluentd was used for logging.
  • The game server uses the Amazon GameLift SDK (we are now using P2P).
  • The steam_api.dll cannot be spoofed because Battleye checks the signature. (we have a Battleye emulator)
  • There is an API key that is currently not used by the game.
  • The authentication is done via the bhvrSession cookie. See bhvrSession.md for details.

Currently Known Endpoints and URLs:

  • This information will be reworked into a wiki page for more detailed reference.