Installing plugins on an Endstone server — .whl and .so files, where to find them, and what a restart does
Last updated October 16, 2026
An Endstone plugin is a single file — a `.whl` for a Python plugin or a `.so` for a C++ one. Upload it in the Plugins section of the Content tab; that works even while the server is stopped, once the server's owner has topped up at least ฿20 with a real payment. A restart applies the change, and a plugin that downloads its own dependencies from PyPI needs the server to be online the first time it starts. There is no plugin catalogue on uniz.host and no one-click install, so you find plugins yourself — on PyPI, or under the GitHub topic endstone-plugin. A plugin runs code inside your server, so a broken one can stop it from starting; if that happens, remove the file in the Plugins section of the Content tab and start again.
- Find a plugin built for Endstone
- Check that the file is a .whl or a .so
- Upload it in Content, Plugins
- Restart and read the console
On this page · 4 sections
A plugin is how an Endstone server gets behaviour the game does not have: a command, a rule, a minigame, an economy. If you came from Java, the idea is the same as a Paper plugin. What differs is where you find them and how they get onto the server.
What kind of file an Endstone plugin is
Endstone loads two kinds of plugin, and each is a single file:
| File | Written in | Notes |
|---|---|---|
.whl | Python | A Python wheel. The usual choice, and the one the template in Your first Python plugin for Endstone produces |
.so | C++ | A Linux shared library. Endstone's own docs show a .dll in their example, which is the Windows version — platform servers run Linux, so you need the .so build |
A plugin is not an add-on. Add-ons are Bedrock's own packs of behaviours and resources and have their own Add-ons section in the Content tab; a plugin is code that runs inside the server. Both can be used on the same Endstone server.
Choosing and installing a plugin
Find a plugin built for Endstone
There is no official plugin catalogue and none on the platform. Two places to look:
- PyPI — Endstone plugins are published there as Python packages; search for Endstone.
- GitHub — the topic
endstone-plugincollects community plugins in one list.
Read the project's page before you download anything. A plugin runs code inside your server with the same access the server has, so install only what you trust and prefer projects that are maintained. Check which Endstone version the plugin supports; your server updates automatically, so a plugin that has not been updated in a long time is a risk.
Check that the file is a .whl or a .so
Plugins listed on PyPI come as a .whl file under "Download files". A wheel with compiled parts has to be built for Linux; a pure Python one works anywhere. If a project only offers source, it has to be built into a wheel first — the next article walks through that.
Upload it in Content, Plugins
Open the server, go to the Content tab, then the Plugins section. It lists the .whl and .so files in the server's plugin folder, lets you upload several at once, and remove them — a removed file moves to the file manager's trash. The first row, uniz-link, is the platform's own plugin and cannot be removed.
This works while the server is running, stopped or asleep. When the server is stopped, the files are reached through a temporary access path, so the very first load can take a few seconds. Nothing is loaded until the server starts.
Uploads need the server's owner to have topped up at least ฿20 with a real payment; until then the dashboard refuses the file. Coupon and referral credit do not count. A team member also needs permission to manage files.
Restart and read the console
A start or restart applies the change; after an upload or a removal the tab notes that it takes effect after the next restart. Open the Console tab while it starts. Endstone's own docs say that after a restart you should see your plugin has been loaded.
If a plugin needs packages that it fetches from PyPI, the server must be able to reach the internet when it starts; the first start is the one that downloads them. Servers on the platform can reach ordinary web addresses (port 443), which is what PyPI uses.
When a plugin goes wrong
- The server will not start after you added a plugin. Delete the file in the Plugins section of the Content tab — that works with the server stopped — and start again. The console shows the error from the attempt.
- The plugin does not show up in the console. Check the file type, and check that it was built for Linux if it has compiled parts. Endstone's loader also requires the package name to be
endstone-plus the plugin's entry-point name (endstone-greeterfor an entry point calledgreeter); on a mismatch the console logs "Invalid name" and the plugin is refused. - It worked and then stopped after an Endstone update. See the plugin's page for a newer release; see Endstone on a Bedrock server for how updates work.
For other start problems that are not about plugins, see Server won't start.
Read next
- Your first Python plugin for Endstone — write one from Endstone's template
- Endstone on a Bedrock server — what Endstone is, updates and moving a world
- Mods and modpacks — the Java side of the same Content tab
- The Files tab — browse the server's data directly
Frequently asked questions
Can I install a Java plugin or a Bukkit plugin on an Endstone server?
No. Endstone has its own plugin API, and its plugins are Python wheels or C++ shared libraries written for it. A Java plugin for Paper or Spigot is a different kind of file for a different game edition, and it will not load. Look for plugins that name Endstone.
Is there a plugin store or a one-click install?
Not on the platform, and Endstone has no official catalogue either. The Plugins section is upload only — you bring the file. That is why finding a plugin you trust takes a little more care than on Java.
Can I upload a plugin while the server is stopped or asleep?
Yes. The Plugins section of the Content tab works with the server running, stopped or asleep. On a stopped server the first load can take a moment while access to the files is set up. The plugin does nothing until the server starts, because a start or restart is what applies the change. Uploading needs the server's owner to have topped up at least ฿20 with a real payment, and a teammate needs permission to manage files.
What is the uniz-link row at the top of the Plugins section?
It is the platform's own plugin. It connects the server to your dashboard so you can see TPS and the player list and send commands. It is installed by the platform at every start, so it is shown as managed by the platform — it has no delete button and no switch.
My server stopped starting after I added a plugin. What now?
Remove the plugin. Open the Plugins section of the Content tab, delete the file you added (this works while the server is stopped), and start the server again. A plugin runs inside the server process, so one that crashes on load can take the whole server down; the console shows the error from the start attempt.
Why does a plugin that worked yesterday fail after an update?
Endstone servers update automatically at restart, and a plugin is written against a version of Endstone's API. If the plugin's author has not released a version for the new Endstone, it may stop loading. Check the plugin's page for a newer release and upload it in place of the old file.
Sources
- Endstone docs — Install your plugin (v0.11.14) (link checked October 15, 2026)
- GitHub topic endstone-plugin (link checked October 15, 2026)
- Endstone plugin_loader.py (v0.11.14) (link checked October 15, 2026)
Related guides
Would you rather skip all of this?
A server on uniz.host is up in minutes. You pay by the hour only while it is online, and the smallest top-up is ฿20.