finds.dev← search

// the find

jeremylvln/Shulker

★ 387 · Rust · AGPL-3.0 · updated Jun 2026

A Kubernetes operator for managing complex and dynamic Minecraft infrastructures, including game servers and proxies.

A Kubernetes operator for running Minecraft networks at scale — think BungeeCord/Velocity proxy fleets and Paper game server fleets managed as Kubernetes custom resources. It sits on top of Agones (Google's game server hosting framework) and optionally integrates Open Match for matchmaking. The target audience is people running Minecraft networks with hundreds of concurrent players who are already comfortable with Kubernetes.

1. The layered architecture is sound: CRDs define the Minecraft-specific abstractions (MinecraftCluster, ProxyFleet, MinecraftServerFleet), Agones handles the actual game server lifecycle, and the operator glues them together — each layer does one thing. 2. The operator itself is written in Rust using kube-rs, which means you get a fast, memory-safe controller with compile-time correctness on the CRD types rather than the YAML-slinging you'd get from a Go operator scaffold. 3. The matchmaking addon is a real first-class feature, not an afterthought — it ships its own CRD (MatchmakingQueue), director, and match function components using Open Match's gRPC interfaces, so you can implement custom match logic by implementing a trait rather than forking the operator. 4. Active maintenance (pushed 2 days ago), versioned docs with stable/next separation, Helm chart, and pre-generated manifests in kube/manifests — the ops story is thought through.

1. Still versioned v1alpha1 on all CRDs, which means the API surface is formally unstable; if you build automation around these schemas, you're accepting breakage risk on upgrades. 2. The multi-language reality (Rust operator + Kotlin plugin SDK + Java cluster API + gRPC protos) adds real complexity for contributors — you need a working Gradle + Cargo + buf setup just to build it, and the Nx monorepo wrapping all of this makes local development non-obvious. 3. Redis is a hidden required dependency for the cluster API impl (RedisCacheAdapter, RedisPubSubAdapter) — this isn't obvious from the top-level README and will surprise someone who just wants a simple single-server setup. 4. At 387 stars and a solo maintainer, the bus-factor risk is high; the AGPL license with a 'contact me for commercial use' clause is also a yellow flag for anyone wanting to build a commercial Minecraft hosting product on top of it.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →