Skip to main content

Endstone offers a plugin API for Bedrock Dedicated Servers, supporting both Python and C++.

Project description


Logo

Endstone

Write your plugins in Python and C++ for Bedrock Dedicated Servers.

CI Documentation Minecraft - Version PyPI - Version Python GitHub License Codacy Badge Discord Ko-Fi

๐Ÿ“„ Table of Contents

๐Ÿ“– Introduction ๐Ÿ”

We are excited to announce the Endstone project. Endstone offers a plugin API for Bedrock Dedicated Servers, supporting both Python and C++ languages. This allows developers to enhance Bedrock Dedicated Servers with various features and functionalities.

๐Ÿ† This project is proudly sponsored by Bisect Hosting.
Bisect Hosting

๐ŸŽฏ Features ๐Ÿ”

  • Cross-platform: We have dedicated efforts to support both Windows and Linux. Proudly, we are the only BDS-based server software sporting native support for both platforms without the need for an emulator.
  • Feature-rich: All up-to-date Minecraft features are at your fingertips! We make sure to keep Endstone aligned with the latest game updates.
  • Hassle-free: Ready to use right out of the box. Start the Endstone server with just one line of command. No extra tools required.
  • High-level API: We provide a high-level friendly API akin to Bukkit plugin developers. Save yourself the hassle of dealing with the dot-and-cross of the low-level system API and hooks, we've done the difficult part for you!
  • Starter-friendly: No C++ knowledge? No problem! Craft your plugins using Python, your favourite.
  • Performance-in-mind: For the performance savants, you can, of course, write (or rewrite) your plugins in C++ to squeeze out every bit of performance.

๐Ÿ› ๏ธ Get started ๐Ÿ”

Before getting started, verify that you are using one of the following compatible operating systems:

  • Windows 10 version 10.0.15063 or later
  • Windows Server 2016 or later
  • Debian 11 or later
  • Ubuntu 20.04 or later

Please also ensure you have Python 3.9 or higher installed on your system.

There are several ways to install Endstone:

๐Ÿ PyPi

Wheel PyPI - Downloads

Endstone can be installed directly from PyPi using pip. Open your terminal and execute the following command to install and start the Endstone server:

pip install endstone
endstone

๐Ÿง Linux

Endstone can be easily installed on Linux using an autoinstaller script.

Supported Operating Systems

The autoinstaller supports the following operating systems and distributions based on them:

  • Ubuntu
  • Debian
  • Fedora
  • Arch Linux

Download the Installer

You can use either wget or curl to download the required scripts.

Using wget:

wget https://raw.githubusercontent.com/EndstoneMC/endstone/main/scripts/autoinstall.sh
sudo chmod +x autoinstall.sh
wget https://raw.githubusercontent.com/EndstoneMC/endstone/main/scripts/start.sh
sudo chmod +x start.sh

Using curl:

curl -O https://raw.githubusercontent.com/EndstoneMC/endstone/main/scripts/autoinstall.sh
sudo chmod +x autoinstall.sh
curl -O https://raw.githubusercontent.com/EndstoneMC/endstone/main/scripts/start.sh
sudo chmod +x start.sh

Install and Start Endstone

Once the download is complete, run the following command to install Endstone:

./autoinstall.sh

This will install Endstone and automatically start the server after installation.

If you want to start Endstone at any time, simply run:

./start.sh

๐Ÿณ Docker

Docker Docker - Pulls Docker - Image Size

To try Endstone from the latest Docker image, use the following command:

docker pull endstone/endstone
docker run --rm -it -p 19132:19132/udp endstone/endstone

This will pull the latest Endstone image and run it interactively in your terminal.

๐Ÿ”จ Build locally from Source

For advanced users, you may build Endstone locally from the source.

First, clone the repository:

git clone https://github.com/EndstoneMC/endstone.git --recurse-submodule
cd endstone

Then, you can build the wheel and install it on your local machine:

pip install .
endstone

Please note that building from source requires toolchains to be installed on your system.

Windows Linux
Build System CMake CMake
Generator Ninja Ninja
C/C++ Compiler (Recommended) MSVC 193 (Visual Studio 2022) Clang 15
C/C++ Compiler (Minimum) MSVC 191 (Visual Studio 2017) Clang 9
Standard Library MSVC STL libc++

๐ŸŒŸ Plugins ๐Ÿ”

Currently, the Endstone project is under active development, and we invite you to review our roadmap. While you wait, why not take a sneaky peek of our example plugins which illustrate the friendliness of the plugin API. If you have previous experience with Bukkit, you should find the API particularly intuitive to work with:

Milestone Duration Core Since
๐Ÿ”Œ Plugin Loader 1-2 months โœ… v0.1.0
โŒจ๏ธ Command System 2-3 months โœ… v0.2.0
๐Ÿ” Permission System 2-3 months โœ… v0.3.0
๐ŸŽˆ Event System 2-3 months โœ… v0.4.0
๐Ÿ–ผ Form & Scoreboard API 1-2 months โœ… v0.5.0
๐Ÿ‘ค Player & Actor API 2-3 months โœ… v0.6.0
๐Ÿงฑ Block API 1-2 months โœ… v0.6.0
๐Ÿ“ฆ Item & Inventory API 2-3 months ๐Ÿšง
โญ Advanced Features & Refinements 4-6 months โณ
๐Ÿ”ฌ Beta Testing & Community Feedback 3 months โณ
๐Ÿš€ Official Release & Support - โณ

Here's a legend to guide you:

  • โœ…: Task is completed. Woohoo! ๐ŸŽ‰
  • ๐Ÿšง: Task is under way. We're on it! ๐Ÿ’ช
  • โณ: Task is up next. Exciting things are coming! ๐ŸŒ 

๐Ÿ™Œ Contributing ๐Ÿ”

We warmly welcome contributions to the Endstone project! If you're enthusiastic about enhancing Bedrock Dedicated Servers with Python and C++ and have ideas on how to improve Endstone, here are a few ways you can contribute:

Reporting Bugs

If you encounter any bugs while using Endstone, please open an issue in our GitHub repository. Ensure to include a detailed description of the bug and steps to reproduce it.

Submitting a Pull Request

We appreciate code contributions. If you've fixed a bug or implemented a new feature, please submit a pull request! Please ensure your code follows our coding standards and include tests where possible.

๐ŸŽซ License ๐Ÿ”

The Endstone project is licensed under the Apache-2.0 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

endstone-0.10.18-cp314-cp314-win_amd64.whl (31.1 MB view details)

Uploaded CPython 3.14Windows x86-64

endstone-0.10.18-cp314-cp314-manylinux_2_31_x86_64.whl (44.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.31+ x86-64

endstone-0.10.18-cp313-cp313-win_amd64.whl (30.7 MB view details)

Uploaded CPython 3.13Windows x86-64

endstone-0.10.18-cp313-cp313-manylinux_2_31_x86_64.whl (44.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

endstone-0.10.18-cp312-cp312-win_amd64.whl (30.8 MB view details)

Uploaded CPython 3.12Windows x86-64

endstone-0.10.18-cp312-cp312-manylinux_2_31_x86_64.whl (44.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

endstone-0.10.18-cp311-cp311-win_amd64.whl (30.7 MB view details)

Uploaded CPython 3.11Windows x86-64

endstone-0.10.18-cp311-cp311-manylinux_2_31_x86_64.whl (44.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

endstone-0.10.18-cp310-cp310-win_amd64.whl (30.6 MB view details)

Uploaded CPython 3.10Windows x86-64

endstone-0.10.18-cp310-cp310-manylinux_2_31_x86_64.whl (43.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ x86-64

endstone-0.10.18-cp39-cp39-win_amd64.whl (31.1 MB view details)

Uploaded CPython 3.9Windows x86-64

endstone-0.10.18-cp39-cp39-manylinux_2_31_x86_64.whl (43.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.31+ x86-64

File details

Details for the file endstone-0.10.18-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: endstone-0.10.18-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 31.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for endstone-0.10.18-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5f0b028a0dd138d2977728eb472f768e94f58c82b015f9a857cb68f1b8b34d75
MD5 7e04693b854e678aa935e210f6bcab1e
BLAKE2b-256 bbc4f98a7f9dad5ea83d7ff583030650ad06381e809b7b931862f8e198103484

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp314-cp314-win_amd64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp314-cp314-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.10.18-cp314-cp314-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 8e4c1c2978e3c7677b011859d01de807dd573d286ba39726ae7ce988b1a5b9ad
MD5 3eaf22b74737550f733dcef35f4b1951
BLAKE2b-256 082b5a132314af201c18fa6539151b54423f925074986f9f74489aba3332d72f

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp314-cp314-manylinux_2_31_x86_64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: endstone-0.10.18-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 30.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for endstone-0.10.18-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cba7f80493353c9d3e0cb69f06165dde1bdf56a9e8a29fc963c0fa2e898cce03
MD5 d39c78cbf9ebd384cd9e1536576aca8d
BLAKE2b-256 f5fe5c9453786ba54a3489914d722a0f5718a27e32923e1cdf79fee38d33704d

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp313-cp313-win_amd64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp313-cp313-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.10.18-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 a5df88f6663afc69ac0dcc13085de464945078e9f7dee4ed2efdd527675c5573
MD5 cbf0447d07c154fd1f544a829a3d4b21
BLAKE2b-256 ba94cd06d81bc9abdd0135bd1e6d3322546eedd512776c8d08a3c11917ab1594

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp313-cp313-manylinux_2_31_x86_64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: endstone-0.10.18-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 30.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for endstone-0.10.18-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0770903eef7722ba58a6ddcfe322389fd84ca3861a4c8f5a5495c08f0083b54a
MD5 28764076293901392b47a65565b87c17
BLAKE2b-256 b47039823b0d92c5320508e85f848cb1b095b41fdd81a08dfa5e9a5db812eb44

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp312-cp312-win_amd64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.10.18-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 06408ba29b952f002dff5a36e6bb8e987a5cfbdff029213469da039fd326bd37
MD5 5b280ac02468ce31d859c79cc5e9e644
BLAKE2b-256 b0b49c1d7db4f0ff713cbb216fc027e665732b34000951db4cce75a91253a886

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp312-cp312-manylinux_2_31_x86_64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: endstone-0.10.18-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 30.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for endstone-0.10.18-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 399251dc6b959b6d3ec78923f178ea414eb6ca9f844871651a58a743afc24e76
MD5 c9e3d06fbb59d2ecbca35620282f8f77
BLAKE2b-256 129375fa2e40f6571e41f28b8e64a9d4a4cd7f6f9ae474501a9a89e2279a859e

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp311-cp311-win_amd64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.10.18-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e35bcf9d031c6efca2b45d06584a918c9c5690211464e06293b818a6b333270c
MD5 a1cef64001712967c98d28e333fa7477
BLAKE2b-256 8529c4f1ffe12b35e5feb8fb94f8d363dd61cb22922bcbd58d0487054fe1e5fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp311-cp311-manylinux_2_31_x86_64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: endstone-0.10.18-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 30.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for endstone-0.10.18-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a3079cde5dfd5f39964a982d37ae8ff88a1f639262a4614f63138fa2a4ec52ce
MD5 28bdce4a0e5856f70b0f1b2c378eea75
BLAKE2b-256 7e0415838202b39b362371ec296d82dc6f28b127081e7251fa172b0f4c2ab494

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp310-cp310-win_amd64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp310-cp310-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.10.18-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 c77fd333e1fc0859c24863941ea57efe226ee887a5be7e387a0d00cb1ae72529
MD5 7b5d40228457d8d75dcb1587a73079fe
BLAKE2b-256 a4aefbbc2356be6176bf039b77e4fb118b3e7a787c13163031463405dd803671

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp310-cp310-manylinux_2_31_x86_64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: endstone-0.10.18-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 31.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for endstone-0.10.18-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8b59e8320e8fa54bd216ebfca10d675b0f560277a4bc05efc0103bca2abab8a0
MD5 913d65a22162c7b146ce4c5110ac391f
BLAKE2b-256 18fc293699cfcc7fbad7c86e876630eb52d752fced5d73ef572185380de2b1b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp39-cp39-win_amd64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endstone-0.10.18-cp39-cp39-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.10.18-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 864613ed08b5e711fec65119a67f61d5bf08791b89f9a30c4b73e353e208b233
MD5 c870e7c154938afd8820fec054bd32df
BLAKE2b-256 6355141ea943e370fc2d80cea8183c6c12a5d7db87c9729a24e3dc64d3b7fc38

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.10.18-cp39-cp39-manylinux_2_31_x86_64.whl:

Publisher: wheel.yml on EndstoneMC/endstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page