Avalanche
physicsTrees fall over now
Avalanche is Ember's physics engine. Cut through a trunk and the tree falls on whatever is underneath it. Boats and trains that players build use the same physics.
- falling trees
- boat building
- train building
EmberThe server engine running Glowstone.
A Minecraft server of our own, because the systems our game modes need do not fit through a plugin API.

Trees fall over now
Avalanche is Ember's physics engine. Cut through a trunk and the tree falls on whatever is underneath it. Boats and trains that players build use the same physics.
Atom needs the server to know whether a room is sealed, whether a block is supported, how warm you are. As a Paper plugin it got there with block scans on a timer, third-party plugins for custom content, and mixins for whatever the API would not expose.
That approach had real limits. The tick slipped under load, the profiler pointed at code we could not change, and every game update rewrote internals we relied on.
So we are building our own server instead.
As a plugin
On Ember
The games
The engine
Ember starts empty. Stone is a definition we wrote, the same way reinforced concrete is. Each one says how it breaks, what it drops and what light it casts. When Atom needs a block to act differently, there is one place to change it.
Ember runs on an ECS. An entity is rows of plain data rather than an object, so a system makes one pass over the parts it cares about and a crowd costs about what that pass costs. Systems declare what they read and write, which lets the ones touching different data run on separate threads.
How far along
Atom needs the server to know whether a room is sealed, and to keep that answer fresh enough that stepping outside costs you warmth. It needs blocks to fall when nothing holds them up, which means a support check on every place and every break. Reinforcement levels and weight sit on top of that.
A Minecraft server was never built to answer any of it. Atom managed anyway as a Paper plugin, and the workarounds cost us. Tick times drifted under load. The profiler kept pointing at code we did not own. Every game update rewrote the internals our mixins held onto.
A server engine written from scratch, with no vanilla code in it. World storage, block definitions, lighting and the item registry are Ember's own. Atom's systems live inside that.
Shelter sealing shows what that buys. Every place and break already runs through Ember, so the engine updates the sealed flag while it handles the event, and the answer is never older than the last block anyone touched. The plugin version had to rescan on a timer to land somewhere near the same answer, and it paid that cost again for support, reinforcement and everything else Atom tracks.
Ember is early. Custom blocks, items, world storage, world generation and resource-pack generation all exist and are covered by tests, and servers running on it are joinable. Ember grows wherever the games on it push it. There is nothing to download and no public API yet.
Alpha. Ember is in active development and only runs our own servers.
Ember's progress goes up in the Discord first, usually with a clip of something falling over.
