Skip to content

Repository files navigation

Cubeflare

Cloudflare-native Minecraft Java hosting with persistent worlds, secure local bridge access, R2 backups, and a fleet console.

Terminal: curl -fsSL https://raw.githubusercontent.com/AshishKumar4/Cubeflare/main/public/install.sh | sh, then cubeflare deploy

One command in your terminal. The deploy wizard signs into Cloudflare, creates every resource, builds the container image, deploys the Worker, and smoke-tests your fleet.

Screenshots · Features · Architecture · Deployment guide

Cubeflare runs a multi-tenant Minecraft hosting control plane on Cloudflare Workers, Durable Objects, R2, Containers, and the Cloudflare Sandbox SDK. Each Minecraft world maps to one MinecraftSandbox Durable Object and one Sandbox container runtime, so lifecycle, backup, restore, bridge access, and server state stay attached to the world instead of a central process.

The platform is built around ephemeral containers. A fresh container restores the latest backup before launch, active bridge sessions keep the runtime warm, periodic backups retain world state, and idle worlds naturally sleep.

Screenshots

Cubeflare landing page

Cubeflare server dashboard

Features

  • Account registration, login, sessions, and per-user server ownership through SQLite-backed Durable Objects.
  • One Minecraft server maps to one MinecraftSandbox Durable Object and one Sandbox SDK container runtime.
  • Presets for Vanilla, Paper, Purpur, Folia, Fabric, and custom launch scripts.
  • R2-backed Sandbox SDK backups with retention pruning.
  • Server lifecycle controls: create, start or wake, restart, stop, backup, restore, and delete.
  • Secure CLI bridge for Minecraft Java TCP traffic.
  • Owner console for logs, RCON, terminal, files, plugins, backups, settings, player activity, and Dynmap mirror status.
  • Dynmap mirroring to R2 for supported server and plugin combinations.
  • High-fidelity Paper defaults: Java 25, tuned G1 flags, 10G heap profile, 12 chunk view distance, and 10 chunk simulation distance.

Deploy

Install the CLI and let the deploy wizard create the Cloudflare resources:

curl -fsSL https://raw.githubusercontent.com/AshishKumar4/Cubeflare/main/public/install.sh | sh
cubeflare deploy

The wizard uses Wrangler login, creates the R2 bucket, configures Worker secrets, builds the Worker and Minecraft container image, deploys with an immediate container rollout, and smoke-tests the deployed health endpoint. A workers.dev hostname works by default; a custom domain is optional.

Tear everything down again — the Worker, its Durable Object data, and the R2 bucket including all backups — with:

cubeflare undeploy

Prefer a dashboard-first flow? Start from Deploy to Cloudflare, then finish with cubeflare deploy or the account-specific steps in docs/deployment.md.

Manual deploy:

corepack enable
yarn install
cp .dev.vars.example .dev.vars
yarn release:check
node bin/cubeflare.mjs deploy

Architecture

Browser / Cubeflare CLI
    |
    v
Cloudflare Worker + Hono + Static Assets
    |
    +-- IdentityRegistryDO: email registry, CLI auth, invite code registry
    +-- UserDO: profile, sessions, server summaries
    +-- MinecraftSandbox DO: one Minecraft world and one Sandbox container
            |
            +-- Cloudflare Container: Java server, bridge, Dynmap sync
            +-- R2 bucket: backups/ and dynmap/ prefixes

Minecraft Java uses TCP, while Workers expose HTTP and WebSocket request handling. Players run cubeflare connect, which opens a local TCP listener and bridges Minecraft traffic to the server container over an authenticated WebSocket path. The CLI chooses an available local port and prints the Minecraft address to join.

Requirements

  • Cloudflare account with Workers, Durable Objects, R2, and Containers enabled.
  • Optional: a custom domain routed through Cloudflare.
  • Node.js 20 or newer.
  • Yarn 4 through Corepack.
  • Docker for local container image builds during deployment.

CLI

Install from your deployed Cubeflare origin:

curl -fsSL https://your-cubeflare-worker.workers.dev/install.sh | sh

Use an account login:

cubeflare auth
cubeflare servers
cubeflare connect "Survival world"

Or connect with a server invite code:

cubeflare connect CF-SURVIVAL-WORLD-....

Keep the CLI process open while players are connected.

Development

yarn dev
yarn typecheck
yarn test:unit
yarn build

The project uses Yarn Plug'n'Play. Generated artifacts such as .pnp.cjs, dist/, .wrangler/, node_modules/, and local Sandbox SDK checkouts are not part of the repository.

Release Gate

Before publishing a release:

yarn release:check

For production confidence, also run the protocol smoke test against a cleanup safe deployment:

BASE=https://your-cubeflare-domain.example yarn e2e:protocol

License

MIT. See LICENSE.

About

Free Minecraft servers on Cloudflare

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages