-
-
Notifications
You must be signed in to change notification settings - Fork 0
Why Elah exists
Large Minecraft communities often want more players, more activity, and larger worlds. A single powerful machine can go far, especially with modern server software, but it is still one machine with finite CPU, memory, storage, and network capacity.
Elah explores a different question:
Can one logical world use several machines without making players install a special client or turning world safety into a gamble?
The goal is not to spread work across machines merely because it looks impressive. The goal is to make growth more practical while preserving the parts players care about:
- one familiar Java client connection;
- one connected world;
- consistent inventories and positions;
- no duplicated authoritative areas;
- understandable recovery when something fails.
Distributed systems can create failures that one server never has. A delayed network message can look like a dead machine. A restarted worker can hold old information. Two machines can accidentally believe they both own the same area.
Elah's central rule is simple: uncertain ownership must not create a second writer. Temporary unavailability is better than silent corruption, duplicated items, or lost world state.
This is why the roadmap begins with small laboratories, read-only inspection, one worker, and fixed boundaries. Dynamic scaling comes much later.
Each stage should prove one narrow claim before the next stage depends on it:
- the repository and tests are repeatable;
- different programming languages agree on control messages;
- world inspection is read-only and trustworthy;
- one connected worker behaves normally;
- two workers can own fixed areas without overlap;
- a player can cross a boundary without duplication or loss.
That order makes failures easier to understand and reduces the chance of building a large system on an unproven assumption.
Minecraft hosting often binds one server to the limits of one machine allocation. A future Elah cluster could use compatible workers on several machines and move suitable cells when Minecraft-specific evidence shows that movement would help.
For an individual community, that could mean adding another machine instead of replacing the entire host. For a provider, it could mean offering guaranteed, burst, and safely preemptible capacity across an isolated fleet.
This is not free performance. Spread-out worlds are easier to divide than one dense hotspot, and cross-machine coordination has a cost. Elah must publish measured limits rather than imply that several weak computers can always replace one fast simulation thread.
Elah 0.0.3 | Repository | Releases | Security