Monorepo for the Deadlock API project.
api/- Rust API backend (Axum) serving game data, analytics, leaderboards, and morewebsite/- React frontend (Vite + React Router) for the Deadlock API websitetools/- Rust microservices for data ingestion, scraping, and pipeline processinglive-events/- Rust service for live match event streaming via SSEvalveprotos/- Rust bindings for the Steam and Deadlock protobufs (formerlyvalveprotos-rs)haste/- Source 2 demo and broadcast parser (formerlydeadlock-api/haste), including thedungersbit buffer, varint and char cursor crates it uses (formerlydeadlock-api/dungers)
All Rust crates are members of one cargo workspace (Cargo.toml at the repo root), sharing a
single Cargo.lock and target/. Build or run any of them from the root with cargo <cmd> -p <package>.
Docker images for the Rust services are built with the repo root as context, e.g.
docker build -f api/Dockerfile ..
cd api
cp .env.example .env
# Edit .env with your credentials
cargo runSee api/README.md for full documentation.
cd website
cp .env.example .env
pnpm install
pnpm dev# Set up tools/.env with your credentials
cd tools
cargo run -p <service-name>See tools/README.md for full documentation.
cd live-events
cp .env.example .env
# Edit .env with your credentials
cargo runSee live-events/README.md for full documentation.
MIT