Development guide
Local setup, builds, and tests.
Project structure
beacon_auth/
├── crates/ # Rust workspace
│ ├── beacon/ # Main server binary
│ ├── beacon-core/ # Shared core logic
│ ├── beacon-worker/ # Cloudflare Worker (wasm)
│ ├── beacon-lambda/ # Serverless runtime
│ ├── beacon-passkey/ # WebAuthn/passkey logic
│ ├── beacon-frontend-embed/ # Embeddable frontend
│ ├── entity/ # SeaORM entities
│ └── migration/ # Database migrations
├── src/ # Frontend (React)
├── modSrc/ # Minecraft mod (Kotlin/Gradle)
├── content/docs/ # Fumadocs documentation
├── public/ # Static assets
├── Cargo.toml # Rust workspace definition
└── package.json # Frontend dependenciesDevelopment setup
Auth server + UI
# Install frontend dependencies
pnpm install
# Terminal 1: run the UI
pnpm dev
# Terminal 2: run the server
cargo run --bin beacon serve- UI:
http://localhost:5173 - API:
http://localhost:8080
Mod development
cd modSrc
./gradlew buildRun a dev server/client:
# Fabric
./gradlew :fabric:runServer
./gradlew :fabric:runClient
# Forge
./gradlew :forge:runServer
./gradlew :forge:runClientBuilding components
Rust workspace
cargo build --workspaceFrontend only
pnpm buildMod
cd modSrc
./gradlew buildArtifacts:
- Fabric:
modSrc/fabric/build/libs/beaconauth-fabric-*.jar - Forge:
modSrc/forge/build/libs/beaconauth-forge-*.jar - NeoForge:
modSrc/neoforge*/build/libs/*.jar
Testing
Rust
cargo test --workspaceFrontend
pnpm testMod
cd modSrc
./gradlew test