-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9d34521
commit ddf2083
Showing
2 changed files
with
38 additions
and
9 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,48 @@ | ||
# Wavebreaker | ||
<div align="center"> | ||
<picture> | ||
<img alt="Wavebreaker logo" src="./.github/assets/wavebreaker_icon.png" width="25%" height="25%"> | ||
</picture> | ||
|
||
<b>Wavebreaker</b>, an open-source reimplementation of Audiosurf's online services. | ||
|
||
</div> | ||
|
||
# | ||
|
||
> [!IMPORTANT] | ||
> If you're only interested in playing on Wavebreaker, there is a main public instance of Wavebreaker and its frontend running at https://wavebreaker.arcadian.garden/. Also see the [install guide](https://wavebreaker.arcadian.garden/installguide) for the client mod. | ||
### Info | ||
|
||
Backend for Audiosurf server replacement written in TypeScript using Node.js, Fastify and Prisma. Somewhat WIP. | ||
The aim is to replace all of the official server's features. | ||
|
||
> [!NOTE] | ||
> This repo is only for the backend code. Wavebreaker is made of **four parts**.\ | ||
> There's the backend (which you're looking at right now), the [frontend](https://github.com/AudiosurfResearch/Wavebreaker-Frontend) (website to view scores, add rivals, etc), the [client](https://github.com/AudiosurfResearch/Wavebreaker-Hook) (which makes the game connect to Wavebreaker) and the [installer](https://github.com/AudiosurfResearch/Wavebreaker-Installer) as a user-friendly way to set up the client. | ||
### Features | ||
|
||
# Features | ||
Replicates pretty much all of the original server's features, unless I've missed something. Wavebreaker currently supports: | ||
At the moment, Wavebreaker already implements nearly all of the original server's features. This includes: | ||
|
||
- Leaderboards | ||
- Comments/Shouts on songs | ||
- Account system through Steam auth | ||
- Steam friend auto-sync | ||
- Rival/Challenger approach for competing with others instead of just mutual "friends" | ||
- Leaderboards | ||
- Comments/Shouts on songs | ||
- **Full support for adding custom Audiosurf Radio songs*** | ||
- Automatic lookup of **fancy metadata** with proper capitalization and cover art, thanks to integration with the [MusicBrainz](https://musicbrainz.org) API | ||
- **Custom Audiosurf Radio songs[^1]** | ||
|
||
[^1]: Requires RadioBrowser.cgr from AS1 version with manifest ID 2426309927836492358, included with the Wavebreaker client package. Actually making custom Audiosurf Radio songs is really finicky and is done using [Quest3DTamperer](https://github.com/AudiosurfResearch/Quest3DTamperer). | ||
|
||
Currently missing: | ||
|
||
- Dethrone notifications | ||
- Achievements | ||
|
||
**requires RadioBrowser.cgr from AS1 version with manifest ID 2426309927836492358* | ||
### Config | ||
|
||
# Config | ||
The server uses two config files at the root of the project: ``wavebreaker_config.json`` and ``wavebreaker_radio_entries.json``. | ||
The server uses two config files at the root of the project: `wavebreaker_config.json` and `wavebreaker_radio_entries.json`. | ||
Look at the example files in there, they should be self-explanatory. | ||
|
||
You also need to set the DATABASE_URL environment variable to point to a PostgreSQL server. |