Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
V

voxelize

> 编程语言
Open source

:mushroom: Full stack voxel engine

656 stars0 likes1 views
WebsiteGitHub

About

:mushroom: Full stack voxel engine

Town, a live multiplayer world running on Voxelize in production.

Why Voxelize

Voxelize powers persistent, multiplayer voxel worlds that run in any modern browser. No installs, no plugins.

  • Build custom blocks: register any blocks of any shape, size, and material. Blocks can also hold custom metadata through block entities.
  • Create custom entities: pigs, cows, sheeps, any entities you can imagine. They can roam around and interact with blocks and players.
  • Realtime multiplayer: authoritative server with entity, chat, and event synchronization out of the box.
  • Any world generation: define your own world generation and generate infinitely large worlds.

Custom blocks, instanced creatures, water, and voxel lighting in the browser.

Architecture

Both the server and the client are extremely optimized for performance and scalability. The server is written in Rust, and the client is written in TypeScript.

…
  • Rust authoritative server — voxelize runs ECS-driven worlds: chunk generation, physics, entities, and events all live server-side.
  • TypeScript / Three.js client — @voxelize/core renders worlds in the browser and stays in sync over WebSocket.
  • Shared protocol and transport — @voxelize/protocol defines the protobuf messages; @voxelize/transport moves them.
  • WASM meshing — voxelize-wasm-mesher compiles the server's mesher to WebAssembly, so client-side remeshing follows the same geometry rules as server-side meshing.
  • Headless agents — @voxelize/agent drives real browser clients headlessly for testing, measurement, and bots.

In Production

Town is a live, persistent multiplayer building world built on Voxelize, with custom textures, entities, and more.

Server-driven creature behavior and particle VFX over emissive volcanic terrain

  Instanced creatures with server-driven behavior (capybaras)


  

  A basalt golem on Mars






  

  Obsidian golem with an emissive core


  

  Colored glass, voxel lighting, and custom block geometry






  

  Tropical fish and clams in my coral garden


  

  Hologram block using custom block entities






  

  A 4-bit copper adder driving a block-built hex display


  

  Under the sea, kelp

Quick Start

Prerequisites: Rust, Node.js, pnpm, cargo-watch, wasm-pack, and protoc.

bash
git clone https://github.com/voxelize/voxelize.git
cd voxelize

pnpm install   # install dependencies
pnpm proto     # generate protocol buffers
pnpm build     # build WASM mesher + all packages
pnpm demo      # run the demo server and client

Then open http://localhost:3000.

I strongly recommend using Voxelize as a submodule of the workspace you're building.

Packages

npm

Package Description
@voxelize/core The client engine: rendering, world sync, inputs, and utilities on Three.js
@voxelize/agent Headless puppeteer-backed agent SDK for Voxelize worlds
@voxelize/transport WebSocket transport for Voxelize protocol messages
@voxelize/protocol Shared protobuf message definitions
@voxelize/physics-engine Voxel-aware AABB physics with auto-stepping
@voxelize/raycast Voxel raycasting
@voxelize/debug In-game debug panels
@voxelize/aabb Axis-aligned bounding box math

Rust crates

Crate Description
voxelize The authoritative multiplayer server engine
voxelize-core Core types and utilities — the single source of truth for voxel data encoding
voxelize-gen Deterministic, content-free world generation: seed streams, bit-stable noise, compiled field programs, climate partitions, surface rules, carvers, hydrology, plan-sliced structures, and diagnostics
voxelize-mesher Chunk meshing logic
voxelize-wasm-mesher WebAssembly wrapper around the mesher for client-side use

Documentation

  • Guides and tutorials — client-side concepts, world building, and API walkthroughs
  • Rust API reference — server-side engine documentation

Development

Useful workspace commands:

bash
pnpm watch        # rebuild TS packages and WASM mesher on change
pnpm test         # TypeScript tests (vitest)
pnpm test:rust    # Rust mesher and lighting tests
pnpm bench        # criterion benchmarks (mesher, lights)
pnpm check        # cargo check across all targets
pnpm lint         # eslint with autofix

Notes on faster local builds:

  • The server watch loop (pnpm demo:rs) builds with the release-dev profile: the same opt-level = 3 runtime performance as release, but with incremental compilation and minimal debug info for much faster edit-rebuild cycles. Published builds should keep using --release.
  • If you consume Voxelize as a submodule of a parent cargo workspace, cargo takes profiles from the parent's root Cargo.toml — copy the [profile.release-dev] block there to get the same fast iteration.
  • Rust >= 1.90 links with the fast bundled rust-lld on x86_64 Linux out of the box; see .cargo/config.toml for opt-in lld linking on other platforms and an opt-in sccache shared cache.

Community

Questions, showcases, and engine discussion happen on Discord. Issues and pull requests are welcome on GitHub.

License

MIT

Assets Used

  • Connection Serif Font (SIL Open Font)
  • Pixel Perfection by XSSheep, modified — licensed under CC BY-SA 4.0

Voxelize is an independent open-source project. It is not affiliated with, endorsed by, or connected to any commercial voxel game or its publishers.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Rustbaltaazrgamegame-enginegamedev

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言