The client today
mcrs has its own client, written in Rust on Bevy and wgpu. You can fly around a world with it and look at the terrain, the sky and the mobs, but you cannot play survival with it yet. This page is for a player or an observer who wants to know what the client does today, what it does not do, and what its long view costs in frame time and memory.
| Area | State | Works | Missing |
|---|---|---|---|
| Client and rendering | Partial | Terrain, 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 |
What the client does
Section titled “What the client does”| Feature | State |
|---|---|
| Terrain with the block models and light of the game | Works, and the light includes coloured block light |
| Sky, clouds and the fog of the environment | Works |
| Mobs | Works for the five mob types the server has. The client draws far mobs as flat images, which How the client renders explains |
| F3 overlay with frame and stage times | Works |
| Chat with command suggestions | Works |
| Breaking blocks in creative mode, and showing the block you aim at | Works |
| Joining the mcrs server or an embedded one | Works. A vanilla client of the same snapshot can also join the mcrs server in offline mode |
What is missing
Section titled “What is missing”| Feature | State |
|---|---|
| Sound | WIP#136. The client is silent |
| Particles | WIP#137 |
| Weather (rain, snow, lightning) | WIP#341. Today rain only dims the sun and the moon |
| Inventory and container screens | WIP#521 covers the player inventory, and the screens are WIP#129, WIP#130 and WIP#131. The client draws an inventory screen only when you start it with MCRS_SCREEN=inventory, and you cannot play with that screen |
| A web build | WIP#344. The build draws the sky in Chrome, but start-up blocks the page for 87 s and the build never reaches a steady frame |
| Binary downloads | None yet. Releases are planned, and at this date no issue tracks them |
Only one platform is checked
Section titled “Only one platform is checked”Every number in PERF.md comes from one machine, an Apple M4 Max with macOS and Metal, and the author has checked no other platform. Linux and Windows are not confirmed. CI on Ubuntu does not run the crates that need wgpu, so a green CI tells you nothing about those crates on Linux.
A 96-column view and what it costs
Section titled “A 96-column view and what it costs”The client asks for 96 columns of view by default, where a column is a stack of 16x16x16 sections. That is three times the vanilla maximum of 32. The table gives three costs of this view, all taken in one scenario: an M4 Max with macOS, a 2560x1440 window, the save two-relight with 38,025 columns and 295,511 sections resident, a static view, and MCRS_HOT=1 to hold the CPU cores at speed.
| What | Value | Where |
|---|---|---|
| Engine CPU frame | 1.12 ms median, 1.33 ms worst second | PERF.md, Hardening |
| GPU frame | 3.7 ms with the occlusion test on, 6.0 ms with it off (MCRS_OCCLUSION=0). The note in PERF.md calls 3.7 ms over its ceiling |
PERF.md, Hardening |
| Memory of the process | 12 GB | PERF.md, Render distance |
At 96 columns the GPU limits the frame and the CPU does not. Flying at top speed costs more than standing still. In the same scenario the engine frame then takes a 1.56 ms median and 5.0 ms for the worst second. The 12 GB figure comes from the Render distance section, which was written before the occlusion work, so a newer build may differ. The memory at 96 columns is not bounded yet.1
If your GPU or RAM is smaller than this machine’s, lower MCRS_VIEW, the number of columns the client asks for. The Render distance table of PERF.md reads 0.71 ms of engine time at 12 columns, on an older build. There are no numbers for other machines.
Build it from source to run it
Section titled “Build it from source to run it”There is no binary download, so you build the client from source. The steps are short and live in the repository, so this page does not repeat them. Follow the README Quick start. The client takes a world folder and starts its own server for it. It reads textures and models from the official game jar, because the repository ships no Mojang art.
The server and its world rules are on Worlds and saves. For all numbers and their method, see PERF.md.
Footnotes
Section titled “Footnotes”Sources and verification
Verified: 26.4-snapshot-7, 3540f457b, 2026-11-10