Reading the repo
Opening the box…
Reading the repo
Opening the box…
Assembly instructions
Quake 3 in the browser
GitHub didn't answer, so this is the saved copy from 22 h ago
Will it work on macOS?
Heads-upIt also needs PostgreSQL and 20 settings in .env (8 secret).
Then run bash setup.sh. It stops at the first error and is safe to run again. Servers and tests aren't started; it lists them at the end. Read it first.
Needs Git: xcode-select --install
git clone https://github.com/lklacar/q3js.git cd q3js
Node.js LTS (no version pinned), Docker, make
# needs nvm: brew install nvm (or https://github.com/nvm-sh/nvm) nvm install --lts brew install --cask docker # Docker Desktop xcode-select --install
Needs: PostgreSQL
brew install --cask docker # Docker Desktop docker compose -f compose.yml up -d
corepack enable pnpm install
Clone the repository and install the workspace dependencies:
git clone https://github.com/lklacar/q3js.git
cd q3js
pnpm install --frozen-lockfile
Build the WebAssembly client:
make client
Create the website's local configuration:
cp website/.env.example website/.env.local
Set NEXT_PUBLIC_Q3JS_STATIC_URL=http://localhost:8081 in website/.env.local. Then start the stack in separate terminals from the repository root:
# Terminal 1 — PostgreSQL
docker compose up -d database
# Terminal 2 — master API
make master-run
# Terminal 3 — game server and WebSocket gateway
export Q3JS_DATA_DIR=/absolute/path/to/quake3-data
Q3JS_BASEPATH="$Q3JS_DATA_DIR" make server-run
# Terminal 4 — PK3 and manifest server
export Q3JS_DATA_DIR=/absolute/path/to/quake3-data
docker build -f static/Dockerfile -t q3js-static .
docker run --rm -p 8081:8080 -v "$Q3JS_DATA_DIR:/data:ro" q3js-static
# Terminal 5 — website
pnpm --dir website dev
Open http://localhost:3000. The local game server publishes its gateway at ws://localhost:27961/ws and registers itself with the master automatically.
| Port | Protocol | Service |
| --- | --- | --- |
| 3000 | HTTP | Website |
| 5432 | TCP | PostgreSQL |
| 8080 | HTTP | Master API and Swagger UI |
| 8081 | HTTP | Local static asset server |
| 27960 | UDP | Quake III dedicated server |
| 27961 | HTTP / WebSocket | Gateway and health endpoint |
No reports for macOS yet.
GitManual AI Agent reads the 8 key files and writes a step-by-step guide for macOS. Once written, it's saved for everyone.