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.

Windows Linux Documentation Minecraft - Version PyPI - Version Python GitHub License Codacy Badge Code style: black 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
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 ๐Ÿšง
๐Ÿงฑ Block API 1-2 months ๐Ÿšง
๐Ÿ“ฆ 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.5.5-cp313-cp313-win_amd64.whl (19.4 MB view details)

Uploaded CPython 3.13 Windows x86-64

endstone-0.5.5-cp313-cp313-manylinux_2_31_x86_64.whl (21.2 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.31+ x86-64

endstone-0.5.5-cp312-cp312-win_amd64.whl (19.4 MB view details)

Uploaded CPython 3.12 Windows x86-64

endstone-0.5.5-cp312-cp312-manylinux_2_31_x86_64.whl (21.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.31+ x86-64

endstone-0.5.5-cp311-cp311-win_amd64.whl (19.4 MB view details)

Uploaded CPython 3.11 Windows x86-64

endstone-0.5.5-cp311-cp311-manylinux_2_31_x86_64.whl (21.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.31+ x86-64

endstone-0.5.5-cp310-cp310-win_amd64.whl (19.4 MB view details)

Uploaded CPython 3.10 Windows x86-64

endstone-0.5.5-cp310-cp310-manylinux_2_31_x86_64.whl (21.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.31+ x86-64

endstone-0.5.5-cp39-cp39-win_amd64.whl (19.4 MB view details)

Uploaded CPython 3.9 Windows x86-64

endstone-0.5.5-cp39-cp39-manylinux_2_31_x86_64.whl (21.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.31+ x86-64

File details

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

File metadata

  • Download URL: endstone-0.5.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 19.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for endstone-0.5.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d859f3953462f67568fc5a859273ec09acc7c5294f7f034dfd7cb820403d0154
MD5 320987166927f51fb1bec167b043b1a2
BLAKE2b-256 009da5feae96e4d79a875d0b6c448813b1344dbcca4272d41a64f2c0d6b64867

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.5-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 8c998e0ce7dbd8082af843814d3ee08da8e2afb1591c9c20b3795891c8266ceb
MD5 507fdde29594f80dae2cd0fd22cb60aa
BLAKE2b-256 e0d96df53a413c91591151ce732d1f54a6ffe0a201ee7f523601e6226d9c55a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: endstone-0.5.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 19.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for endstone-0.5.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1004b9d549012eafd3e6686fd15636935f6f838e511162c159d67cc38327d0de
MD5 60bf9e39060e4d05b5f6cd16869869b9
BLAKE2b-256 0461a18013b4096c87b04d7af1b57d57fbd6163fbcaa051ed9bf3b4a8913b62d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.5-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 147eb4b70665f34fb0c5439d89cf891c35255527e08af19483cced12faa71eed
MD5 4def5c6691ae88811dcc765523bd2c68
BLAKE2b-256 9e67f5fef5ac52c2ee9129b2c3a268d5a9e1ef1d3cd8902c5d64c7850a2a7f1e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: endstone-0.5.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 19.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for endstone-0.5.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a5f30259f2fe92d50e1199277c5feabaa923dc6476b75a1f3f8d2b9b9f29fea0
MD5 f996371c7bbdf61e59fbd20ea0d8ee30
BLAKE2b-256 cd0c3b6f351a8cec22aebda7285ce155a674a3a5e3fe3b571bda37af2f0f0de9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.5-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 02fca24112a6d02f538ee37ae7f5660dd10c6b9a83ffc60de1b537ffe97f0286
MD5 c4a30a829185462aca36d2abc12ca282
BLAKE2b-256 5c83de3790db5e127b4b9b57237d6b8b6e2cb6649e70a42ec1f170b9ee09bd7c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: endstone-0.5.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 19.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for endstone-0.5.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1584d79b921a2ced10902967dcb9846d279815605e577a4e91339f7803beff72
MD5 4e6c415fe1c785da7e335103e12b3752
BLAKE2b-256 c2d38bbb1a4b52da28f2422a4d64bcca3153c9788881ea35f37acccedbea0792

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.5-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 c704ce517a66e09277bf202e99ed62ae97160cff083d7b864c4bae47cc1f2355
MD5 1e20571157eac695e7aeb6586eab7ea2
BLAKE2b-256 09b45444065b6f470957bd9cc67985b8e050bfb7221e5ef390dcd80e2068940a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: endstone-0.5.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 19.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for endstone-0.5.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5d5fb20c26550fc85880b114dc7d35cb5ccfe0dccab1b929389e77866f97cbd6
MD5 15374d71555791555ad187fb5ec10983
BLAKE2b-256 fd6b5baeaa96b8258ff4b1afb5867149f4a2096cd8a84d8562f13daccdf562e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.5-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 12ed290fa672ca8d95801e2de479e4895ccbc414053aed1dbae92bcf11f3662c
MD5 abb97fa5c3658b2064fd2cb65a6d255d
BLAKE2b-256 23163f4d9fbb171e67598977f434850bede6b9ec67e9308cbd595e14904036e9

See more details on using hashes here.

Supported by

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