Skip to content

Audiosurf 1 server replacement written in TypeScript using node.js, Fastify and Prisma.

Notifications You must be signed in to change notification settings

AudiosurfResearch/Wavebreaker

Repository files navigation

Wavebreaker logo

Wavebreaker, an open-source reimplementation of Audiosurf's online services.

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 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 (website to view scores, add rivals, etc), the client (which makes the game connect to Wavebreaker) and the installer as a user-friendly way to set up the client.

Features

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"
  • Automatic lookup of fancy metadata with proper capitalization and cover art, thanks to integration with the MusicBrainz API
  • Custom Audiosurf Radio songs1

Currently missing:

  • Dethrone notifications
  • Achievements

Config

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.

Footnotes

  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.

About

Audiosurf 1 server replacement written in TypeScript using node.js, Fastify and Prisma.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages