Skip to content

← All projects

2016 → 2022 Maintainer (OSS)

TyphoonMC — Minecraft server engine, from scratch in Go

Open source project: a Minecraft server engine rewritten from scratch in Go — lightweight, used in production on the Endariel network.

  • Go
  • Minecraft protocol
  • GitHub OSS

Context

The official Minecraft server is in Java, and it’s heavy. For a game network like Endariel — which scaled up to 100,000+ unique players — every CPU cycle counts. TyphoonMC was born from the desire to reimplement just enough of the protocol in Go, with a minimal memory footprint and a clean tick loop.

Beyond the technical gain, it’s also an OSS playground: the Minecraft protocol is partially documented, changes with every major version, and exposes nasty edge cases (conditional compression, optional encryption, variable-length packets). Implementing it cleanly is a low-level server architecture exercise.

My role

Maintainer. It’s my personal project — I wrote the engine, tracked protocol evolution, and reviewed external contributions.

What I built

  • TyphoonCore: the Minecraft server engine in Go, designed to be lightweight and embeddable
  • Minecraft protocol implementation (handshake, login, play state, gameplay packets)
  • Stable tick loop around the 20 TPS expected by vanilla clients
  • Production usage on Endariel, the Minecraft network I was co-maintaining at the time
  • Sustained OSS project over time: issues, external PRs, versioned releases

The hard part: the Minecraft protocol is a moving target. Each major version of the game shifts packets, changes enums, breaks backward compatibility. Maintaining a third-party engine means continuous protocol watch.

Results

90+ stars on GitHub. Used in production by Endariel, which served 100,000+ unique players over the lifetime of the project. Maintained for 5 years before being archived — not a given for a side project on a game protocol.