Skip to content

Status: what works today

Changing. Follow: #180, #181, #182

This page is the only full status table in the docs, and other pages show a part of it. Each row has a date and either a check you can run or a section of PERF.md.

State Meaning
Works A test you can run or a measurement in PERF.md shows it
Partial Part works, and the rest is in an issue or a PR
WIP It is not in the code or not finished, and an issue tracks it
Undecided No decision yet. The plugin loader (jar, wasm, scripts) is in this state
Not planned A closed decision says no
AreaStateWorksMissing
World generationWorksNoise, surface, aquifers, carvers, features and structures. The output is compared element by element with dumps of the real game (about 14 of the 49 entries in tools/fixtures.json belong to world generation). Presets normal and flat.Parity is checked on reference seeds and chunks, not on every seed. Entities from generated structures are not done. WIP#170Partial#523
LightingPartialSky light and block light from the light engine crates, with a bulk-load example.Coloured block light exists but is not on by default. WIP#346
Client and renderingPartialTerrain, sky, clouds, light, mobs, the F3 overlay, chat and block breaking in creative. Render distance 96 columns by default.At 96 columns the GPU frame is 3.7 ms, above the 1.0 ms target, and the process holds 12 GB. Measured only on an Apple M4 Max with macOS. The web build hangs. No sound, particles or weather. WIP#337WIP#344WIP#129
ProtocolPartialHandshake, status, login, configuration and play. 71 of 144 clientbound and 52 of 69 serverbound play packets are typed.The other play packets travel as raw bytes. Only one game version at a time; translation for older clients is planned. WIP#295WIP#537
NetworkPartialTCP with compression, status with MOTD and icon, transfer, LAN announce, whitelist and bans.No online mode and no encryption: anyone can join under any name. No proxy support (modern forwarding, BungeeCord, Velocity). WIP#82WIP#296
Saving and AnvilPartialReads an existing Java Edition world. Players are saved when the server shuts down cleanly.Changed chunks are not written back to disk. A world of another data version does not load, and there are no datafixers. WIP#78WIP#169
GameplayPartialJoin, chat with a cancellable event before broadcast, game modes, block breaking in creative, random ticks, block events, block drops.Crafting, combat, redstone, fluids, plant growth, trading, bosses. No survival loop yet. WIP#182WIP#190
CommandsPartialCommand parser and tree, the commands packet and tab hints. 20 vanilla commands, among them execute, gamemode, tp, summon, kill, data, time, fill, whitelist and ban.A command tree with permission levels is still open. Partial#285
Entities and mobsPartialEntity rows by tile, 5 mob types with data (pig, cow, sheep, chicken, zombified piglin), pig AI, replication of mobs to clients.Most other mobs and their AI. The 50,000-pig benchmark is marked provisional by its author, so we publish no numbers from it. Partial#102WIP#224
Physics and movementPartialPhysics kernel with collisions and impulses, a movement check for players, comparison with recordings of the vanilla client. Results do not depend on the thread count. Teleport confirmation follows its specification, and scripted-client tests check it.The shared player movement model is open. The teleport confirmation spec still has open questions, such as an accept of an older id when nothing is pending. Partial#85Partial#623
Data packs and registriesWorks147 registries with 9079 entries load from a data pack at start. Biomes and dimensions come from the pack without a rebuild.Reloading a data pack while the server runs. WIP#316
MolangWorksParser, compiler, scalar, batch and WGSL backends, and a corpus of Bedrock expressions for comparison.New code, about a week old at the check date. No dedicated issue. Partial#338
ToolsWorksOne command moves the project to a new game snapshot. Also the vanilla oracle, mob bench, server bench, client recorder, Molang corpus and the xtask checks.Some tools need Java 21 or newer, and the mob bench needs Java 25. WIP#507
Crates as a libraryPartial122 crates. CI checks that 100 packages build without Bevy, 9 without std and 11 for wasm32.Nothing is published on crates.io, there are no library examples, and the API is not stable. WIP#180WIP#287Undecided#321

Performance numbers are in PERF.md, each with the machine and the scenario. All of them were measured on one machine, an Apple M4 Max with macOS. We publish no comparison with vanilla, Paper or other servers.

  • Support for older game versions. mcrs targets one version at a time.1
  • Datafixers. A save is read at exactly the targeted data version, and an unknown field is a loud error.2
  • A facade or a Bukkit-like API crate.3 This decision covers only the facade. A plugin loader for jar, wasm or scripts has no decision yet.

You do not need to read code to follow the project.

  • All the work is visible in the GitHub repository.
  • To follow one issue, open it from the table and press Watch on the right. You need a GitHub account, and you get a mail when the issue changes.
  • The latest code changes and the releases are on GitHub too.
  • Questions and progress reports are on Discord.
  • Three issues hold the direction: one for the library, one for many nodes and one for gameplay.456
  • Decisions and their reasons are the issues with the label decision.

We check this page by hand once a month and on every new tag.

  1. Not planned#412 The decision to target one version at a time, with no backward compatibility. ↩

  2. Not planned#388 The decision that saves are read at exactly the targeted data version, with no datafixers. ↩

  3. Not planned#437 The decision that there is no facade or API crate, and the crates and plugins are the public surface. ↩

  4. WIP#180 The direction for mcrs as a library, from a proxy to a full server. ↩

  5. WIP#181 The direction for one dimension on many nodes for thousands of players. ↩

  6. WIP#182 The direction for vanilla gameplay and behavior tests on the scaling architecture. ↩

Sources and verification

Verified: 26.4-snapshot-7, 3540f457b, 2026-11-10

Tracking: #180, #181, #182