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

endstone-0.9.4-cp313-cp313-win_amd64.whl (27.6 MB view details)

Uploaded CPython 3.13Windows x86-64

endstone-0.9.4-cp313-cp313-manylinux_2_31_x86_64.whl (41.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

endstone-0.9.4-cp312-cp312-win_amd64.whl (27.6 MB view details)

Uploaded CPython 3.12Windows x86-64

endstone-0.9.4-cp312-cp312-manylinux_2_31_x86_64.whl (41.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

endstone-0.9.4-cp311-cp311-win_amd64.whl (27.6 MB view details)

Uploaded CPython 3.11Windows x86-64

endstone-0.9.4-cp311-cp311-manylinux_2_31_x86_64.whl (41.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

endstone-0.9.4-cp310-cp310-win_amd64.whl (27.5 MB view details)

Uploaded CPython 3.10Windows x86-64

endstone-0.9.4-cp310-cp310-manylinux_2_31_x86_64.whl (41.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ x86-64

endstone-0.9.4-cp39-cp39-win_amd64.whl (27.9 MB view details)

Uploaded CPython 3.9Windows x86-64

endstone-0.9.4-cp39-cp39-manylinux_2_31_x86_64.whl (41.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.31+ x86-64

File details

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

File metadata

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

File hashes

Hashes for endstone-0.9.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bfc2b8b7d78fde67596ff6b04060ec059dd9ec25e89f0476f92a34bb53792bcd
MD5 f9dea4c7ed87043744c9b3b03c4b4585
BLAKE2b-256 9559cbd55d392c795355858c480066ef106ce9703a0fda0717c3ade42eb3b713

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.9.4-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.9.4-cp313-cp313-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.9.4-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 6193487e1586cf3d4977e1e9d49ae09439d524f13330cbdd58724dd18a73c181
MD5 bc1c0fb3f9af1eb3f8c586f9e9071354
BLAKE2b-256 8bd1c1789d18f27f93639b0bb6f0edec7499d97780d451bc250c823fffbd191a

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.9.4-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.9.4-cp312-cp312-win_amd64.whl.

File metadata

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

File hashes

Hashes for endstone-0.9.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cee6b44119223a025a22ca669dca55f01793f6fcbef422fc0489e5c87b84ccc6
MD5 1f9681146e782345b694c56f477a4a2c
BLAKE2b-256 15e3f3b84e993670128816b0a1defc922b523b35782540f39158d2828f11918a

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.9.4-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.9.4-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.9.4-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 ecbcc5ffcb8e95d8e64af1ba8cd6a606f89f13ecfe8880f425e74702bc0c32b6
MD5 9304cba4fce4ee94ee511ae03dfd4212
BLAKE2b-256 8217ddc5ad370f885c05b0d9ad34aea30909b5420970df756803867ead9ec24c

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.9.4-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.9.4-cp311-cp311-win_amd64.whl.

File metadata

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

File hashes

Hashes for endstone-0.9.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 41d3d0ecaa5a0b2b02f808ae81f75ca2cdcaf5354d235ae53c87f53337c2aa06
MD5 59ec735d77a82f4a2f096868560558a1
BLAKE2b-256 2ea3f379cfa48f192d4e1438a8a0d005255b4b5980db82229ab98f693d08f308

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.9.4-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.9.4-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.9.4-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 6962cb20a9b036818b7ec968b4f2780c85c0564938583aa17065b073772dddb6
MD5 deaaacc1ce9796bc4efef3760cb61451
BLAKE2b-256 b3ef049814b9cbf797b751f537f84cb9b92a88fb3d97e9aa15143bba6267fadc

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.9.4-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.9.4-cp310-cp310-win_amd64.whl.

File metadata

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

File hashes

Hashes for endstone-0.9.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5be13cd9a3d1c4b37424930172825a42cbdfa29eb1b85e427567f01fcbdb817a
MD5 2bd4a5a181c8975eb288b76e684eba92
BLAKE2b-256 48184556bbf0db7899cfd70bb613b06fbc683208829d367273fdbaa6cdd56866

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.9.4-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.9.4-cp310-cp310-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.9.4-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 6f16c52be6574c4282c2eda8953f8d430c21f906103cb6294be69b4a63776ab3
MD5 de547551288bdc92250f5121c9c0a8fd
BLAKE2b-256 8f8abac1f7685117b691b745c677ce61583a33c6c92aaf62c706285516de5bc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.9.4-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.9.4-cp39-cp39-win_amd64.whl.

File metadata

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

File hashes

Hashes for endstone-0.9.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 50cecf8ecfab130d854a6888acdf4f4a203fb78e0a9745cb91d4144f0920151f
MD5 3cc74722e32674a9284a09659fa2a0e5
BLAKE2b-256 2c8564f65bceece377f81862f6838cacf82819759c6141fa79e270a7802c04d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.9.4-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.9.4-cp39-cp39-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for endstone-0.9.4-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 d438000bd516eab84fdaa3bf1aa4a17c58d727d560e2c13f18762a03b8c04a03
MD5 7913654c42ffac015164564bc3a0c530
BLAKE2b-256 b1c6f856e4ad06bd792f0405b1d1d7393e91fba53313910eb6e82d44c6d1222b

See more details on using hashes here.

Provenance

The following attestation bundles were made for endstone-0.9.4-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 Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page