This guide walks you through setting up a Voxel Telephone game server from a fresh clone to a running instance. The server targets the ClassiCube client and requires a handful of external tools before you start.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/BunnyNabbit/voxel-telephone/llms.txt
Use this file to discover all available pages before exploring further.
Install prerequisites
Make sure all required software is available on your system before proceeding.Required:
- Node.js v20+ — the server runtime. Verify with
node --version. - MongoDB — stores all game data (turns, players, interactions). A local instance on the default port (
27017) works out of the box. - pnpm — the package manager used by this project. Install it via
npm install -g pnpmor follow the official pnpm install guide. - Spotvox — a voxel renderer used to generate game previews. Download the
.jarfrom github.com/tommyettinger/spotvox and place it at the project root (same directory asvoxelTelephone.mjs). Java must be available on yourPATH.
- ImageMagick — used by the renderer to convert PNG previews to WebP. Without it the renderer falls back to PNG. See dependencies for details.
See Dependencies for version notes and what each tool does in context.
Install Node.js dependencies
pnpm-workspace.yaml and installs all workspace packages, including the website and renderer.Create and edit config.json
Copy the example configuration and fill in values appropriate for your deployment:At minimum, review and adjust:
serverName— the name shown in the ClassiCube server list and in-game.port— defaults to25565.dbName— the MongoDB database name.verifyUsernames— set totrueto authenticate ClassiCube accounts.postToMainServer— set totrueto list on the public ClassiCube server list.
Start the game server
config.json, connects to MongoDB, preloads the hub level, and begins accepting connections on the configured port.Start the renderer (optional)
The renderer processes queued render jobs — it converts saved voxel builds to PNG or WebP preview images using Spotvox. It runs independently from the game server and polls for new jobs every five seconds.
The Spotvox
.jar must be present at the project root for the renderer to work. ImageMagick’s convert command must be on your PATH to produce WebP output; otherwise previews are saved as PNG.Connect and list the server
Once the server is running, players can connect in two ways:
- Directly — open ClassiCube, choose Direct connect, and enter your server’s address and port.
- Server list — set
postToMainServertotrueinconfig.jsonto have the server heartbeat to the ClassiCube main server list automatically.