Region ownership is the engine.

Aurora replaces a single server tick with owned regions, one deadline-driven scheduler, and explicit paths between them. Paper remains the compatibility input; the execution model is SourbyCraft’s own.

Region-threadedEDF schedulingNo performance claim
AURORA / EXECUTION MODEL26.2
REGIONSchunk sets with an owner
EDF SCHEDULERdeadline decides
OWNER THREADSone mutator per region · explicit cross-region paths
OBSERVABILITYtps · mspt · perf · stalls
COMPATIBILITYPaper API · bridge opt-in
behavior diagram · not a benchmark · no performance claim
region-owned global lifecycle explicit bridge

A tick is a contract, not a habit.

The architecture starts from ownership. If a piece of state belongs to a region, only that region’s owner may mutate it. Everything else is a boundary that must be named, measured, and tested.

01 / Region

State has an owner.

Chunks, entities, and block changes are grouped into regions with a single mutating thread.

02 / Scheduler

Deadline decides.

Region work is scheduled by deadline, not by incidental call order or a global tick loop.

03 / Boundary

Crossing is visible.

Cross-region and global work use explicit paths, with outcomes and stalls recorded rather than hidden.

What actually runs, and where.

This is the order the runtime documents. It is deliberately not a marketing diagram: each step has an owner, a failure mode, and a test gate.

01

Bootstrap stays global

The server lifecycle, configuration, and world admission run before region threads take ownership. A region never inherits a half-started world.

02

The scheduler chooses a region

Aurora schedules region work by deadline. The scheduler owns the decision; a region does not run because a caller happened to be nearby.

03

One owner thread mutates

Chunks, entities, and block state in a region are mutated by that region’s owner. Cross-region work has an explicit path and a visible cost.

04

The tick is observed

Durations, missed deadlines, stalls, and queue depth feed the same metrics runtime used by commands, HUD, and profiles.

What changes for a plugin.

The Paper API still exists under a new namespace, but the thread a callback runs on is no longer assumed to be the only thread. Code that reaches across regions must say so, or use the bridge when it cannot.

Ownership
Do not mutate a region from a thread that does not own it. The runtime refuses the write instead of racing it.
Scheduling
Region-aware scheduling is the supported path. A global “next tick” callback is not a universal escape hatch.
Bridge
Non-region-aware plugins can opt into the compatibility bridge. It is still being qualified and is off by default.
API
The Canvas plugin API is removed. dev.iyanz.sourbycraft.api is the supported namespace; legacy names read with warnings until Build 50.

The engine is documented next to the release.

The Aurora notes describe the current release, its ownership rules, the compatibility boundary, and what is still gated. No benchmark numbers are invented to fill the page.