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.

๐ŸŽฏ 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.4-cp313-cp313-win_amd64.whl (18.1 MB view details)

Uploaded CPython 3.13 Windows x86-64

endstone-0.5.4-cp313-cp313-manylinux_2_31_x86_64.whl (19.6 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.31+ x86-64

endstone-0.5.4-cp312-cp312-win_amd64.whl (18.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

endstone-0.5.4-cp312-cp312-manylinux_2_31_x86_64.whl (19.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.31+ x86-64

endstone-0.5.4-cp311-cp311-win_amd64.whl (18.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

endstone-0.5.4-cp311-cp311-manylinux_2_31_x86_64.whl (19.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.31+ x86-64

endstone-0.5.4-cp310-cp310-win_amd64.whl (18.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

endstone-0.5.4-cp310-cp310-manylinux_2_31_x86_64.whl (19.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.31+ x86-64

endstone-0.5.4-cp39-cp39-win_amd64.whl (18.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

endstone-0.5.4-cp39-cp39-manylinux_2_31_x86_64.whl (19.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.31+ x86-64

File details

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

File metadata

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

File hashes

Hashes for endstone-0.5.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2d8a23378ee5f43f10e2a973975f448d4436e32f4e3504edd542a3163148f452
MD5 69e56b5bec172bbbc90bb690a670195d
BLAKE2b-256 e5cec2d357ba5541e8bee96a985eafabb891538519ca1a15cf17504dfb6548aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.4-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 cde2e0d102a01ca85cbde847b44f05abb4f79f9d1f3d7e7dc44245ac48e281d6
MD5 0c2a10ba3a716eacf4fa769153044917
BLAKE2b-256 36d4b63d419df723638b0738ee20fd311ee4311d789d8884435198f4d93b1b7a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for endstone-0.5.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 62ebc2f8011480e5fe65d7c098e5dd2c4684b0cd4066469adccc1ebf9b6ec1a5
MD5 26e8f78b3b263d59313e38d07be19c13
BLAKE2b-256 2818fa3d7a482a301f92dd889615d8859c0a063aaeeb5c2668fafeb4e6c5611c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.4-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 381c0b99a44812ea07e073f11e71f302f74e47ea6b2ecd25d54b63ea2cd47653
MD5 d139a9366e68b2994e6bec4f8ec853ed
BLAKE2b-256 7feece748d0fe66d86f0f5536a4df5bc421cebf1815469e0a1f849dcbed073a8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for endstone-0.5.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dff8def2323811c53da79d974c69449955d13241090fe9d445f3beaad6cd85ce
MD5 db78bdc42a3e9dea042c864c27dd7a70
BLAKE2b-256 877ec6c5962fdbad01b55f39433a892ef91119910cbd23246fac01c73d3b7d27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.4-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 8cfd703b1199942bc5dab86331eb40f99c8d3a8efe8ef089a2bc8e10c38d6af5
MD5 65ffff821b4209ae4786fc18c2793efc
BLAKE2b-256 b290531d2bac11c6dff08016deaf43cd4194c41c80b9d5ec2238113a4bfc9b57

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for endstone-0.5.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 05e2c4dbeaf4541cb65e4cb8f97f0c68e234bd702fd3318288f5c482f58b8272
MD5 7397db4c66fb4a261fbc985f105eb7d7
BLAKE2b-256 19f82eb565c2685c5874f93b7ceeebc2fd2c0c3cd8577ea1d5686e5cda518fd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.4-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 f4c90b8b64c2802837b2997dda7b4291b76908248e457cefed70a8de22487230
MD5 a58c3c5984156a1a2e5a9760373ed37b
BLAKE2b-256 a1e8cc624d5767db6c6a2c036dcfe525e938e77995a0c571320e6ae685cf1eae

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for endstone-0.5.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d34eda518531fbd3fcb193127afa4e9f7941d579e7dc8556e26e47d275e2404d
MD5 6e470e52b38106963390cd20a9d9aa9e
BLAKE2b-256 346aed30fde859a40aafd0fd0d35c2178042e955f74e7d43d5cf1b2dcd132906

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for endstone-0.5.4-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 37d246a6460fa25c90f8a6d6914c3b9e90c81c843b01b7e76e0516084d753895
MD5 355b939b36778a73c9ffa7e01c454397
BLAKE2b-256 cd3ee7d9a09b3fc0a11ccd8005f1034871c1950e3763fa0d4d7ac1c1fa53d628

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