Why Endstone?
Bedrock's official addon and script APIs let you add content, but can hardly modify core gameplay. Custom servers like PocketMine and Nukkit offer that control, but sacrifice vanilla features. Endstone gives you both: cancellable events, packet control, and deep gameplay access with full vanilla compatibility. Think of it as Paper for Bedrock. If you've ever wished Bedrock servers had the same modding power as Java Edition, this is it.
Quick Start
Get your server running in seconds:
pip install endstone
endstone
Then create your first plugin:
from endstone.plugin import Plugin
from endstone.event import event_handler, PlayerJoinEvent
class MyPlugin(Plugin):
api_version = "0.10"
def on_enable(self):
self.logger.info("MyPlugin enabled!")
self.register_events(self)
@event_handler
def on_player_join(self, event: PlayerJoinEvent):
event.player.send_message(f"Welcome, {event.player.name}!")
Get started faster with our templates: Python | C++
Features
-
Cross-platform - Runs natively on both Windows and Linux without emulation, making deployment flexible and straightforward.
-
Always up-to-date - Designed to stay compatible with the latest Minecraft Bedrock releases so you're never left behind.
-
Python & C++ plugins - Write plugins in Python for rapid development, or use C++ when you need maximum performance. The choice is yours.
-
Powerful API - A comprehensive API with 60+ events covering players, blocks, actors, and more. Includes commands, forms, scoreboards, inventories, and a full permission system.
-
Drop-in replacement - Works with your existing Bedrock worlds and configurations. Just install and run.
-
Familiar to Bukkit developers - If you've developed plugins for Java Edition servers, you'll feel right at home with Endstone's API design.
Installation
Requires Python 3.10+ on Windows 10+ or Linux (Ubuntu 22.04+, Debian 12+).
Using pip (recommended)
pip install endstone
endstone
Using Docker
docker pull endstone/endstone
docker run --rm -it -p 19132:19132/udp endstone/endstone
Building from source
git clone https://github.com/EndstoneMC/endstone.git
cd endstone
pip install .
endstone
For detailed installation guides, system requirements, and configuration options, see our documentation.
Documentation
Visit endstone.dev for comprehensive guides, API reference, and tutorials.
Contributing
We welcome contributions from the community! Whether it's bug reports, feature requests, or code contributions:
- Found a bug? Open an issue
- Want to contribute code? Submit a pull request
- Want to support the project? Buy me a coffee
License
Endstone is licensed under the Apache-2.0 license.
Acknowledgements
Endstone is proudly sponsored by Bisect Hosting, which offers managed Minecraft server hosting.
Package repository hosting is graciously provided by Cloudsmith, which offers free package management for open-source projects.
Release files for endstone 0.11.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 327.1 MB
Release files / endstone-0.11.11-cp314-cp314-win_amd64.whl
| Download URL | endstone-0.11.11-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 20.1 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
226118d3787626bdcde5b283541b0722cd56ec59817f42ed107c8ab12187e87f
|
|
BLAKE2b-256 checksum How to use checksums |
b9c8dc2d8547ef8619bae39c9b90c2980ecda9edb886206840e189f6bcffb4f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / endstone-0.11.11-cp314-cp314-manylinux_2_31_x86_64.whl
| Download URL | endstone-0.11.11-cp314-cp314-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 45.6 MB |
| Tags | CPython 3.14 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
2c40a5d5003e0e30145364a669db46c1cf4861e562f443aacec539c12b79104c
|
|
BLAKE2b-256 checksum How to use checksums |
9d934ef0de4642e40a876f2ce69ac21c264d62e88efa325c25daa15d960bd347
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / endstone-0.11.11-cp313-cp313-win_amd64.whl
| Download URL | endstone-0.11.11-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 19.9 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9723c5e67b1ea7b8e18897b42d37e19917566e7f730a8ea48dbee0e9dcd32ff2
|
|
BLAKE2b-256 checksum How to use checksums |
0acfda5566670a0a52b969993095c2200412e9d8a9d6ee713dee750626add356
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / endstone-0.11.11-cp313-cp313-manylinux_2_31_x86_64.whl
| Download URL | endstone-0.11.11-cp313-cp313-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 45.6 MB |
| Tags | CPython 3.13 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
ba052200f9e9eaa1e5573e814c6d1fb0b855b6fdeb312b6eddb8cdacd16b3fd3
|
|
BLAKE2b-256 checksum How to use checksums |
06d235a0a831003fba458df62aba23ac557d3943254b4e85f4094a104e8d7b20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / endstone-0.11.11-cp312-cp312-win_amd64.whl
| Download URL | endstone-0.11.11-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 19.9 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
87570320ef4eb63944db8b9a8d9c6ba02275100753590849508d4b5fcf50c1f4
|
|
BLAKE2b-256 checksum How to use checksums |
96568f8d3e1b3d798e69296421c6c93d00fc1f658974f94bc9b835587c96ea6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / endstone-0.11.11-cp312-cp312-manylinux_2_31_x86_64.whl
| Download URL | endstone-0.11.11-cp312-cp312-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 45.6 MB |
| Tags | CPython 3.12 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
29fd970aa6cc62e61bd4e7e5429fa1dedaa7c7aa32ee21790ef174962bf1710b
|
|
BLAKE2b-256 checksum How to use checksums |
ccac626e2292072a93e8a9a681bf539b0ec91575f854eb790377006193618ca2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / endstone-0.11.11-cp311-cp311-win_amd64.whl
| Download URL | endstone-0.11.11-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 20.0 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2619c635199ceb2f14433f8ce974115df75191ccffb189ee7ed8b9d77958b5f8
|
|
BLAKE2b-256 checksum How to use checksums |
990c204aa26ae8cc67a76890829296e7c0573dfdb5b3a61a5caff970159d9942
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / endstone-0.11.11-cp311-cp311-manylinux_2_31_x86_64.whl
| Download URL | endstone-0.11.11-cp311-cp311-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 45.3 MB |
| Tags | CPython 3.11 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
7a4d1134aee7a143a3a622d7fb5afa7daaa4ed4664a69338ec577378a47ff87f
|
|
BLAKE2b-256 checksum How to use checksums |
341246ed91cc5c08fe7a723cf449f299181243b68de7956c52ae0aec70bcbe6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / endstone-0.11.11-cp310-cp310-win_amd64.whl
| Download URL | endstone-0.11.11-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 20.0 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
66f82bad9d5ea738e9108de8ef8030e670c0e97470332566a86744e21d361a52
|
|
BLAKE2b-256 checksum How to use checksums |
2901d92b3c6862b799d33439c1a7e24edaff5dba933be6603ca1aa1d3a744af3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / endstone-0.11.11-cp310-cp310-manylinux_2_31_x86_64.whl
| Download URL | endstone-0.11.11-cp310-cp310-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 45.2 MB |
| Tags | CPython 3.10 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
102700dab5e450c543e0bc733d18173bc8e53b9db1425d4d846dd7251f650694
|
|
BLAKE2b-256 checksum How to use checksums |
084ff5aba5ded3d841915baee1ebce72e66a4fc16aaaa8adee4cfb820c7b9f6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency log