The Self Hostd plugin for Paper and Spigot servers
Run Self Hostd from inside a Bukkit-family server: drop the plugin into your plugins folder, paste your pairing code into its config, and keep running the server your way.
The short version
The Self Hostd plugin runs inside a Paper or Spigot server rather than as a separate launcher. Drop the jar into your plugins folder, put your pairing code into its config, and restart. You get the panel and console from inside the server you already run, with no wrapper process.
If your server is Bukkit-family (Paper, Purpur, Spigot) and you already run it your own way, with a start script, a screen session or another panel, you do not need the launcher wrapping it. The plugin does the same job from inside the server: the tunnel, the public address and the panel link all ride along in the JVM you already manage. It loads on Minecraft 1.13 and newer.
#Installing
- Download the plugin and drop
selfhostd-plugin.jarinto your server'spluginsfolder, then restart the server once so it generates its config. - Open
plugins/SelfHostd/config.ymland put the 6-digit pairing code from your panel intopairCode. - Run
/selfhostd reload(or restart again). The plugin exchanges the code for a saved token, clears the code from the config, and your address comes online.
The code is needed exactly once; after that the saved token reconnects on every start, and the panel refreshes it automatically over time. The plugin finds your server's port on its own.
#Commands
/selfhostd shows the current state and, when online, the address to share. /selfhostd reload re-reads the config and reconnects; it needs the selfhostd.admin permission, which operators have by default.
#What the panel can do with the plugin
Your server's status, address and live console appear in the panel, console commands sent from the panel run on the server, and the panel's stop button stops it. Three things need the launcher instead: restart (a plugin cannot restart its own server), backups and restores, and bringing a burst world home; asking for any of those leaves the request queued until a launcher connects on that machine.
#If the token stops being accepted
The plugin says so in the server log and disconnects the address. Clear the token line in plugins/SelfHostd/config.yml, put a fresh pairing code in, and run /selfhostd reload.
#Where to go next
- Getting started with Self Hostd for the launcher route and what Self Hostd is.
- Pairing codes and tokens explained for how the credentials behave.
#Frequently asked questions
Should I use the Self Hostd plugin or the launcher?
Use the plugin if you run a Bukkit-family server and would rather not have a wrapper process. Use the launcher for anything else, including Forge, Fabric and vanilla, where a plugin cannot load.
Which servers support the Self Hostd plugin?
Bukkit-family servers: Paper, Spigot, Purpur and their derivatives. Forge, NeoForge, Fabric and vanilla servers use the launcher instead.
The token stopped being accepted. What do I do?
Re-pair with a fresh code from the panel. A rejected token usually means the server was deleted or re-created in the panel, or the config was copied from another install.
Written and maintained by the Hostd engineering team. Last updated 2026-08-03. Notice a mistake? Tell us.