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

๐Ÿ“„ 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.

๐ŸŽฏ 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 (note: these are the OSes, not their distros):

  • 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 5
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.2-cp312-cp312-win_amd64.whl (17.9 MB view details)

Uploaded CPython 3.12 Windows x86-64

endstone-0.5.2-cp312-cp312-manylinux_2_31_x86_64.whl (18.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.31+ x86-64

endstone-0.5.2-cp311-cp311-win_amd64.whl (17.9 MB view details)

Uploaded CPython 3.11 Windows x86-64

endstone-0.5.2-cp311-cp311-manylinux_2_31_x86_64.whl (18.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.31+ x86-64

endstone-0.5.2-cp310-cp310-win_amd64.whl (17.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

endstone-0.5.2-cp310-cp310-manylinux_2_31_x86_64.whl (18.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.31+ x86-64

endstone-0.5.2-cp39-cp39-win_amd64.whl (17.9 MB view details)

Uploaded CPython 3.9 Windows x86-64

endstone-0.5.2-cp39-cp39-manylinux_2_31_x86_64.whl (18.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.31+ x86-64

File details

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

File metadata

  • Download URL: endstone-0.5.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 17.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for endstone-0.5.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0f8b969ca44e665c9a59c8d0421fd0dbf9b76d8fc5d5badb451886c75089df07
MD5 ad768c1c4c0896aa73a2b7c9b940a024
BLAKE2b-256 b96f0bf257e52c86cc65732e505e32ccd71dac09677a4f4c6f93d9b7dd0d39cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.2-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 3800632f5d00fcaf320ba5e50beaa3a37a3b73cc154ee66a9db777158814d930
MD5 dcb8cc6d999ad65a21e1c0c5dea2f173
BLAKE2b-256 fa78f9400ea41ea07019b5ca34e01ea725dbead4a58af730fb56f2f0af64ebe3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: endstone-0.5.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 17.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for endstone-0.5.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 866440e714ad3e2b5f768c9af9f7f096bab76b4b9a322aac3b046ef903bd5560
MD5 4bff3df8a4b472eccc2a920649b4306a
BLAKE2b-256 2b77180f51698b4757d08d4eb2eba51833e4099e363fbb9d3c2afd7e08d44a01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.2-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 5208cbb519543c5ab517ebe46da5a01fd13b5e5d765d55ff50fa30f635e8cae8
MD5 556d24ba3cbc0afb103c17f0dfba3d63
BLAKE2b-256 a59ea0776679b7a3df292d65110da1b56da80c07b3e3a6d0bcc02736dab720c6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: endstone-0.5.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 17.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for endstone-0.5.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ac7c62374d26c61c2a13a16f794af7f47e43fe681b8cd2babe8aef8b186faa4b
MD5 32fcbe927f5420f74c41b99c89395073
BLAKE2b-256 446ea181c22db5028ae03ca27a8fa8adc63bc4ed3ae2091b994f2a7be49731c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.2-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 6c5e8f000ac0b4b74f4dca4c585fd21af4ea3c48f39936104e82be6669295bf7
MD5 664c05e293e65205a117ceafa1df1969
BLAKE2b-256 5521e296538a1870ac1509f21e29fe2548596a5263645e15f517c6ab0a446e28

See more details on using hashes here.

File details

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

File metadata

  • Download URL: endstone-0.5.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 17.9 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for endstone-0.5.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 dc5669885447eda2b391f9f7be68ceadbb48f1f5c13d412b471135ceca3a327a
MD5 bab26876bfe6e70322a6f1cec7499fcd
BLAKE2b-256 1721f9825f98d8fd49d754122e3ac850909070438934f0a0fe146d400c2d1a5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.2-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 f66ad873f4dc4bc6bf50a12e05aa3fb73076408e41e71efa1a8369b2549146dc
MD5 9d70962f9121af3583a1eb0c5edc6e49
BLAKE2b-256 f7a1586a6475596a4690f0823cabc9b68758e6d5b52c1e08f72eba145c684b63

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