A self-hosted control plane for Minecraft server fleets. mTLS bootstrap from a single join token. Cosign-signed modules verified offline against Rekor. Apache 2.0, yours to run.
curl -fsSL prexor.cloud/install.sh | sh
irm prexor.cloud/install.ps1 | iex
# overview · context: default $ prexorctl status ● controller https://controller.local:8080 ● state.store mongo · available ● coordination valkey · available # nodes NAME STATE INSTANCES UPTIME node-eu-1 ready 7 14d node-eu-2 ready 5 9d node-us-1 ready 3 2d
prexorctl status. Place instances on nodes by RAM, region, tags, or any constraint you encode. The scheduler is plain Java — read the code, fork it, replace it. No black-box bin-packing.
Crash loops, draining nodes, player-count time-series, p99 latencies. Prometheus scrape endpoint when you want it; everything's already streamed live to the dashboard over SSE.
Modules are JVM artifacts loaded by the controller. Every release is cosign-signed (keyless OIDC) and verified offline against the Rekor transparency log. No vendor SDK — the API is REST + gRPC.
No daemon-of-daemons, no central queue, no required sidecars. A controller, an agent per host, and the surfaces operators actually touch.
┌──────────────────────┐ │ Controller │ │ REST · gRPC · SSE │ │ Scheduler · Events │ └──┬───────────┬───────┘ mTLS / gRPC │ │ JWT / REST + SSE ┌──────────┘ └────────────┐ v v ┌─────────┐ ┌──────────────┐ │ Daemon │ (one per node) │ Dashboard / │ │ Agent │ │ prexorctl │ └────┬────┘ └──────────────┘ │ v Minecraft instances
modules.signing.rekor.policy=REQUIRE_SET.
The installer downloads a single signed binary, verifies its cosign signature + SHA-256,
and (by default) launches
prexorctl setup — a browser-based wizard that generates a versioned
controller.yml
you commit to your infra repo.
# Linux / macOS $ curl -fsSL prexor.cloud/install.sh | sh # …or Windows (PowerShell) PS> irm prexor.cloud/install.ps1 | iex # the wizard answers three questions, then: ✓ controller up on :8080 ✓ daemon up on :9090 ✓ bootstrap admin password written (one-time)
One static binary per role. No daemon-of-daemons. The same system whether you're running a
single closet node or a fleet across data centres — the only thing that changes is how
many prexorctl token create you've run.