# Yggdrasil Self-hosted Minecraft authentication server with authlib-injector support # Setup 1. Declare database URL ```sh $ export DATABASE_URL="sqlite:yggdrasil.db" ``` 1.5 Create .env ```sh echo 'DATABASE_URL="sqlite:yggdrasil.db" >> .env' ``` 2. Create database (install sqlx cli tool if not already) ```sh $ sqlx db create ``` 3. Run SQL migrations (this creates the tables) ```sh $ sqlx migrate run ``` # Yggdrasil Server - Run convenience script `./yggdrasil` - OR `DATABASE_URL= cargo run --bin yggdrasil` # Database tool (dbtool) - Run convenience script `./dbtool` - OR `DATABASE_URL= cargo run --bin dbtool` ## Available commands - `add-account`: Creates a new account - Email (`email@example.com`) - Language (`en-us`) - Country (`US`) - `add-profile`: Creates a new profile for an account - Email (`email@example.com`) (Must match existing account) - Username (`EpicMinecrafter4000`) - `attach-profile`: Attaches a specific profile to an account - Account ID (`5`) (Must match existing account) - Profile ID (`3`) (Must match existing profile) - `del-account`: Deletes an account - Account ID (`5`) - `del-profile`: Deletes a profile - Profile ID (`3`) - `search`: Search for a specific profile or account - Search type (`account-id`, `profile-id`, `email` (account), `name` (profile), `uuid` (profile)) - Query (Can have multiple) - `dump`: Dumps a table in the database (Mostly for debug) - Table name (`accounts`, `profiles`, `sessions`, `tokens`)