Installation
The Traverse web app is a Node service that serves the API, the supporter wizard, and the admin console from a single port, backed by MySQL.
Requirements
| Requirement | Detail |
|---|---|
| Node.js | 20 or newer |
| Database | MySQL, via Prisma |
| Native toolchain | A C/C++ compiler, Python 3, and node-gyp |
| Reverse proxy | Recommended, terminating TLS |
The biome engine is a native Node addon wrapping Cubiomes, which is vendored as a git submodule. That is why a compiler is needed: there is no prebuilt binary.
Toolchain by platform
- Windows: Visual Studio Build Tools with the "Desktop development with C++" workload, plus Python 3. MSVC is the supported compiler; Cubiomes' own makefile assumes gcc and is not used.
- Linux:
build-essential(or your distribution's equivalent) and Python 3.
Build and run
git clone <traverse-repo>
cd ALD-Traverse
git submodule update --init --recursive # fetches the vendored Cubiomes source
npm install # installs the app workspaces
npm run build # native addon, then shared, server, and web
npm run build compiles the native addon first (node-gyp rebuild), then the TypeScript packages and the Vite web bundles. The addon's build/ directory is generated output and safe to delete; the command regenerates it.
Then set up the database and start:
npx prisma migrate deploy # from packages/server
npm run seed # optional: creates the first admin user
npm start
The server serves the built web bundles from the same port as the API, so no separate static host is needed. Requests under /admin fall through to the admin bundle, /api returns JSON 404s, and everything else falls through to the supporter app.
Development
npm run dev # server and web together, with hot reload
npm run dev:server
npm run dev:web
npm test # server test suite
npm run test:e2e # Playwright end-to-end, builds first
Minecraft version support
Biome generation comes from the vendored Cubiomes snapshot, so Traverse supports the versions Cubiomes does. As shipped, that is:
MC_1_0 through MC_1_20, plus MC_1_21_1, MC_1_21_3, and MC_26_2_S8.
The default is MC_1_21_3, the newest stable release in the vendored snapshot. MC_26_2_S8 is a snapshot build, cherry-picked from an unmerged upstream commit, and is deliberately not the default.
:::caution Match the version to your server, or previews will not match the ground
A world's minecraftVersion controls how biomes are generated for previews. If your live server runs a version Traverse cannot generate, searches for that world return 503 UNSUPPORTED_MINECRAFT_VERSION rather than silently producing wrong terrain. Pick the closest supported version knowingly, and verify a candidate in game before running a campaign.
:::
Next steps
- Set your environment variables and world settings: Configuration.
- Point the plugin at this deployment: Plugin Setup.
- Create your first campaign world: Admin Guide.