This api contains a rough reimplementation of all of Halo 3's web services including support for
- Matchmaking
- File Share
- Bungie Favourites
- Bungie Pro
- Banhammer
- Active Transfer
- Service Records
- MOTDs
- Screenshots
- Nameplates
- Crash Reporting
- Webstats (needs a lot of work, see #4)
and much more :)
These web services were created for the retail version of Halo 3 for the Xbox 360. However, most builds of Halo 3 should be supported. PC builds, if they were to somehow connect, do use the same endpoints, leaked pre-release builds for the 360 however do not, though the changes are probably minor. The beta should also be supported.
This project is built for use with Sunrise-Plugin, a dashlaunch plugin which connects Xbox 360 Halo 3 to a custom webserver.
- Install dependencies with the
npm install
command. - Create a
.env
file in the project root, following this structure:
API_PORT=8080
MONGO_URI=
- Build the web service with the
npm run build
command.
This API is setup to serve "title storage" files, however these files are not included. Back in the day, Bungie had a bunch of tooling including big ass spreadsheets and debug game builds to spit out these files, these days we have a tool to generate everything we need from JSON called Sunrise-BLFTool.
There are a few options for content.
- Grab my recommended title storage files from the Sunrise-Content repository.
- Fork the Sunrise-Content repository and roll your own.
- Grab Gamecheat13's backup of the OG title storage before the servers were shutdown.
- Please note, this backup is slighlty corrupt (bad hash on network_configuration) which does cause some notable bugs, I recommend against this generally.
Once you've got the files you need, they live in public/storage/title
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
Last Updated 05/09/22 by Codie Stella 🐧