Getting Started

Install Endstone and start a Bedrock server in minutes.

Installation

Endstone can be installed on a range of operating systems. It is extensively used and tested on Windows 10+ and Linux x86-64 (Ubuntu 22.04+, Debian 12+) - the platforms officially supported by BDS. It also runs on macOS, ARM Linux, and other Linux distributions through Docker emulation.

1 - Operating system

2 - Architecture

Recommended

With uvxRecommended

Just run the server - no install step. uvx fetches Endstone into a cached, throwaway environment and launches it. Your world and server files still live in the current folder; only Endstone itself is ephemeral. Re-run uvx endstone any time to start the server.

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"uvx endstone

With uv (virtual environment)For developers

Create a project virtual environment and install Endstone into it. The setup you want when developing plugins against the API - the env is persistent and activatable, with endstone on PATH once activated.

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"uv venv.venv\Scripts\Activate.ps1uv pip install endstone

Other options

With pipx

The pip-ecosystem counterpart to uvx. pipx run fetches Endstone into a managed, throwaway environment and launches it - no manual virtualenv. Re-run pipx run endstone any time to start the server.

python -m pip install --user pipxpipx run endstone

Standalone bundle

Download, extract, double-click start.cmd. The launcher auto-installs uv on first run - no Python or pip setup needed.

With Docker

Bundles BDS, Endstone, and a non-root user. /data persists the world.

docker run --rm -it \  -p 19132:19132/udp \  -p 19133:19133/udp \  -v ./data:/data \  endstone/endstone

Docker on Windows

Bind-mounting ./data from the Windows drive is slow under Docker Desktop (WSL2 backend). Use a Docker named volume for persistence instead.

With pip (virtual environment)

Install Endstone into a virtual environment so it doesn't collide with system packages - the classic, uv-free setup for developing plugins.

python -m venv .venv.venv\Scripts\Activate.ps1pip install endstone

Build from source

Build from source when you need an unreleased branch, are patching the C++ core, or are porting Endstone to a new platform.

You'll need Conan 2, CMake 3.20+, and a C++20 toolchain. The project's Dockerfile documents the exact LLVM 20 + libc++ setup used by the official Linux wheels.

git clone https://github.com/EndstoneMC/endstone.git
cd endstone
uv pip install . -U --verbose

The first build pulls C++ dependencies through Conan (using the project-local profile at .conan2/profiles/default) and produces a wheel that uv installs into the active environment. Subsequent rebuilds reuse the Conan cache.

Verify

endstone --version

If you see a version string, you're good.

If you installed with uvx or pipx, there's no endstone on your PATH - that's expected, since those run it on demand. Check the version through the runner instead, and start the server the same way:

uvx endstone --version      # or: pipx run endstone --version

For the virtual-environment methods, endstone: command not found usually means the environment isn't activated - re-run the activation step from the section you used to install.

Where to next?

Endstone is installed. Pick the path that matches what you came here to do.

On this page