Skip to content

Run a server and join it

WIP: not implemented yet or partly. Follow: #78, #82

On this page you start a server on your own machine, join it with a vanilla client and see what you can do there. You need the tools from Install the tools first.

Terminal window
cargo run --release
cargo run --release -- "<path to a world folder>"

The first command starts a server on a new world. The second one opens an existing Java Edition save, which must have the same data version as the game snapshot (26.4-snapshot-7). Saves of other versions do not load, and there are no datafixers.1

On the reference machine, an Apple M4 Max with macOS, a release build with no world folder reaches the Playing state in 0.77 s, the median of three runs. This is the start time of a binary that is already built, so it does not include the build. The measurement is in PERF.md.

Use a vanilla client of the same snapshot, 26.4-snapshot-7. The server announces itself in the LAN worlds list, and you can also join by the address localhost:25565. The server runs in offline mode.

  • Write in chat.
  • Run commands from the client or from the server console, which reads standard input: /gamemode, /tp, /summon pig, /time, /fill.
  • Break blocks in creative mode. The default game mode is creative.
  • Fly around the generated world and spawn mobs with /summon: pigs, cows, sheep, chickens and zombified piglins.

The server reads its settings from environment variables, for example MCRS_PORT, MCRS_WORLD_SEED, MCRS_WORLD_PRESET (normal or flat) and MCRS_DEFAULT_GAMEMODE. The full list is in server_settings.rs.

The server does not write changed chunks to disk, so every block you break is lost when the server stops.2 Players are saved on a clean shutdown.3 A clean shutdown does not save the world yet.4

The expected console output and a first-run checklist are not written yet. For those details, read the README.

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

  2. WIP#78 Tracks saving changed chunks back to region files. ↩

  3. Works#624 The server disconnects and saves every player before a shutdown exits. ↩

  4. WIP#169 Tracks a clean shutdown that saves players and the world. ↩

Sources and verification

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

Tracking: #78, #82