Tiny voxel game written in Go, using OpenGL 2.1 / GLFW and a TyphoonCore-based admin server.
Follows the Standard Go Project Layout:
.
├── cmd/crafty/ # main entry point
├── internal/
│ ├── game/ # world, rendering, input, physics
│ └── server/ # TyphoonCore admin server
├── configs/ # runtime config
├── build/ # packaging, CI helpers
├── scripts/ # dev scripts
├── docs/ # design & user docs
├── Rosources/ # texture pack (git submodule)
└── .github/ # CI, security, templates, Dependabot
- Go 1.22+
- A C toolchain (CGo is required by
go-gl) - Linux:
sudo apt-get install -y libgl1-mesa-dev xorg-dev - macOS:
xcode-select --install - Windows: MinGW-w64 (
tdm-gcc/msys2)
git clone --recurse-submodules https://github.com/TyphoonMC/Crafty.git
cd Crafty
make build
./bin/craftyOr directly:
go build -o bin/crafty ./cmd/craftymake fmt # format
make vet # go vet
make lint # golangci-lint
make test # race tests
make security # govulncheck + gosec
make help # list all targets| Key | Action |
|---|---|
| WASD / arrows | Move |
| Space | Jump / fly up |
| Left Shift | Fly down |
| Mouse left | Break block |
| Mouse right | Place block |
| Esc | Release cursor |
/sb <x> <y> <z> <type>— set block/tp <x> <y> <z>— teleport/gm <survival|creative|spectator>— gamemode/stop— quit
Please report vulnerabilities privately — see SECURITY.md.
See CONTRIBUTING.md and the Code of Conduct.