Minecraft deserves a runtime that owns its decisions.

SourbyCraft is a region-threaded Minecraft runtime built on Paper. The goal is not to be a faster wrapper around someone else’s scheduler. It is to own the execution contract, preserve the server operators depend on, and make every boundary legible.

A feature is not qualified because it compiled. A release is not stable because it is tagged.
SourbyCraft engineering principles

A runtime that can replace its own implementation.

SourbyCraft should own the runtime contract and be able to replace any internal implementation detail without changing its product identity. Paper is the compatibility input and a source of proven behavior, not a ceiling on what the runtime can become.

Ownership
Regions, threads, lifecycle, and cross-region paths are first-class runtime concepts.
Independence
The product is not defined by an upstream’s private choices. Compatibility is a contract we choose and document.
Evidence
Behavior is qualified by tests, boots, shutdowns, reproducible builds, and operator instrumentation.

Fast, reliable, stable, efficient — without cheating correctness.

Make a Minecraft server runtime that is fast, reliable, stable, and efficient without compromising correctness, losing world data, or depending on an upstream implementation choice to remain viable.

That mission includes the unglamorous parts: shutdown safety, a documented compatibility boundary, a release manifest, and a clear “not STABLE” label when the gates are not closed.

Order matters.

01 / CorrectnessNever trade away.
02 / ReliabilityThe server keeps its promises under load.
03 / Data safetyA shutdown is not allowed to improvise.
04 / StabilityKnown failure modes beat surprise failure modes.
05 / CompatibilityPaper plugins, explicitly bounded.
06 / Tail latencyThe slow tick is the one players remember.
07 / EfficiencyUse the hardware without hiding the cost.
08 / StartupA server should reach its first tick.
09 / ScalabilityMore regions, without a new class of bug.
10 / ThroughputUseful only after the nine above.

What we will not trade away.

These are not slogans. They decide which patches get merged, which releases get published, and which claims are allowed on this site.

Correctness before speed

A faster tick that violates ownership or loses data is not an improvement. Correctness is the first gate, not a tuning parameter.

Own the contract

SourbyCraft should be able to replace an implementation detail without changing what the product is. Pinning every behavior to upstream code is not independence.

Name the boundary

Region threading changes timing. Every compatibility path, bridge, and unsupported case gets a name, a test, and a place in the documentation.

Measure the runtime

Operators should see the same number on the command, the HUD, and the profile. Observability is part of the execution model, not an afterthought.

Make release claims expensive

REL is a publication state. STABLE is a qualification claim. We do not borrow the stronger word because a build passed.

Leave a reproducible trail

Patches, pinned upstream, tests, signatures, manifests, and SBOMs exist so another engineer can reconstruct the result.

Build 48.4 is published. Build 49 is the gate.

The current release is real and usable for testing. It is not STABLE. The next stability label is reserved for Build 49 after its gate record closes.