Yggdrasil is a platform for text-based roleplaying (RP) in the style of old-school MUDs or MUSHs with a heavy influence from forum or chat-based RP. Users can create or utilize collaborative settings, define characters and then interact in real time to create stories.
Coming soon
Create an account on Discord Developer Portal
- Create an application (name doesn't matter)
- Under
OAuth2
add a redirect for http://localhost:3000/auth/discord/callback - Take note of the
CLIENT ID
andCLIENT SECRET
Yggdrasil will request the identity
and email
scopes for a user when they log in.
Run the Express/GraphQL/Websocket backend:
# Install dependencies
npm ci
# Configure Discord Oauth2
export DISCORD_ID=<CLIENT ID>
export DISCORD_SECRET=<CLIENT SECRET>
# Start local Postgres database and configure schema
docker-compose --profile dev up
npm run db:migrate:dev
# Start Express/GraphQL backend
npm start
Run the React frontend (in a separate shell):
cd client
# Install dependencies
npm ci
# Start React development server (in a separate shell)
npm start
Connect to http://localhost:3000 and log in through Discord.
docker compose build
# Configure Discord Oauth2
export DISCORD_ID=<CLIENT ID>
export DISCORD_SECRET=<CLIENT SECRET>
docker compose --profile integration up
Connect to http://localhost:3000 and log in through Discord.