Minecraft: Bedrock server software in Go — one listener for every client from 1.20.0 to 1.26.60.
A fork of Dragonfly with full multiversion support: every client from Bedrock 1.20.0 to 1.26.60 joins the same server, same port, no proxy. The newest version runs natively; older ones are translated per client. Still the full Dragonfly API underneath — build your game on top of it as a Go library.
- Multiversion — 1.20.0 … 1.26.60 on the same server and game port.
- RakNet and NetherNet — UDP gameplay with HTTP/HTTPS signaling for newer clients.
- Config — world mode (
currentorflat), render distance, difficulty, spawn protection. - Operators — kept in
ops.yml, with in-game commands:weather,time set,gamemode,tp,give(tab-complete items),about. - Protected packs — drop a pack in
resources/and it is served encrypted; the client's cached copy is unreadable.
Needs Go 1.26+.
git clone https://github.com/TrueTemm/TM-Dragonfly
cd TM-Dragonfly
go run .A config.toml and ops.yml are written on first start. Type stop or press ctrl+c to shut
down. Release build: go build -o tm-dragonfly .
Clients use the same game address and port for every supported version. The default is 19132.
| Protocol | Port | Purpose |
|---|---|---|
| UDP | 19132 |
RakNet and NetherNet game traffic |
| TCP | 19132 |
NetherNet HTTP/HTTPS signaling |
Open both ports on the host firewall and any provider firewall:
sudo ufw allow 19132/udp
sudo ufw allow 19132/tcpNetherNet is enabled by default with a shared UDP socket. If SharedUDP is disabled in
config.toml, its ICE UDP port defaults to 19133 and must also be opened. Set the NetherNet
certificate and private key paths in config.toml to enable HTTPS signaling. Port hints are
printed only when a NetherNet listener fails to open or stops with an error.
help, list, status, version, about, weather, time set, op <nick>, deop <nick>,
say <message>, stop. Operators also get the in-game commands listed above.
MIT — see LICENSE. Credits: Dragonfly.
Telegram: @TMDragonfly