A game-agnostic BeatMods replacement.
Running the server is (mostly) easy to do:
- Clone the Repo.
- Create a folder called
storage
in the same folder as thesrc
folder. - Create a
config.json
file (using the config below) in thestorage
directory and fill in the values. - Create the directories for mod uploads & mod icons. The defaults are assuming a
storage/uploads
and anstorage/icons
folder exist. - Run
npm i
to install packages. - Run
npm run start
to start the server.
{
"auth": {
"discord": {
"clientId": "id",
"clientSecret": "secret"
},
"github": {
"clientId": "idfk",
"clientSecret": "idfk"
}
},
"database": {
"dialect": "sqlite",
"url": "./storage/database.sqlite",
"username": "user",
"password": "password",
"alter": true
},
"storage" : {
"modsDir" : "./storage/uploads",
"iconsDir" : "./storage/icons"
},
"devmode" : true,
"authBypass" : true,
"server" : {
"port" : 5001,
"url" : "http://localhost:5001",
"sessionSecret" : "supersecret",
"iHateSecurity" : false,
"corsOrigins": "*"
},
"webhooks": {
"enableWebhooks": true,
"enablePublicWebhook": false,
"loggingUrl": "url",
"modLogUrl": "url",
"publicUrl" : "url"
},
"bot": {
"enabled": true,
"clientId": "clientid",
"token": "token"
}
}
Auth: OAuth2 Info
Database: Supports sqlite
and postgres
. URL can be replaced with a postgres URL.
Storage: Paths for user uploads
devmode: Enables additional logging
authBypass: Authenticates every request as the built in Server Admin
Server: Hosting info. URL is a url without the /
at the end. Used for Swagger and OAuth2 redirects.
Webooks: For logging & approval webhook
Bot: Discord bot for looking up mods and other mayybe fun things