-
Notifications
You must be signed in to change notification settings - Fork 8
Getting Started
-
Go 1.24 or newer (the module targets
go 1.26) - A Minecraft: Java Edition 1.21.4 client for testing
- Network access to Mojang's session service when
online_mode: true
No Java runtime is required to build or run GoCraft.
git clone https://github.com/GoCraft-MC/GoCraft.git
cd GoCraft
go mod download
go test ./...
go build -o gocraft .
./gocraftConnect a Java 1.21.4 client to localhost:25565.
Windows: use
go build -o gocraft.exe .and then.\gocraft.exe
On first run, GoCraft writes a default server.yml into the working directory and generates a world.
-
Start the server — it binds the Java listener on
0.0.0.0:25565by default. -
Edit
server.yml— set your MOTD,max_players,difficulty,default_gamemode, etc. See Configuration. -
Become operator — add your username to
operatorsinserver.yml, or run/op <you>from the console. Operators bypass all permission checks. -
Enable Bedrock (optional) — set
bedrock.enabled: trueand open the UDP port. See Bedrock and Cross-Play. - Add plugins / custom items (optional) — see Native Go Plugins and Custom Items.
online_mode: true-
true— requires Mojang/Xbox authentication; usernames and UUIDs are verified. -
false— offline/cracked mode; anyone can join with any name. Use only on trusted/local networks.
GoCraft is heavily test-covered, including cross-edition parity tests. Before submitting changes:
go fmt ./...
go test ./...
go build ./...The build fails if the edition-neutral core/ package imports java/ or bedrock/ — this is enforced by a compile-time architecture test (core/world/arch_test.go). See Contributing.
| Path | Purpose |
|---|---|
server.yml |
Runtime configuration |
world/, world_nether/, world_end/
|
Anvil region files (disk storage) |
packs/ |
Custom item packs |
plugins/ |
Native Go plugin bundles (.gcpkg) |
permissions.json |
Permission groups/users |
whitelist.json |
Shared Java/Bedrock allowlist |
See Project Structure for a full tour of the source tree.
GoCraft — native-Go Minecraft server · Java 1.21.4 + Bedrock 1.26.45 cross-play · GPL-3.0 · © 2026 Oreo Studios · Discord
Playing on GoCraft
Server & cross-play
Internals