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 endstoneWith 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 endstoneOther 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 endstoneStandalone 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/endstoneDocker on Windows
./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 endstoneBuild 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 --verboseThe 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 --versionIf 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 --versionFor 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.